Lines Matching defs:vbva
22 static u32 vbva_buffer_available(const struct vbva_buffer *vbva)
24 s32 diff = vbva->data_offset - vbva->free_offset;
26 return diff > 0 ? diff : vbva->data_len + diff;
32 struct vbva_buffer *vbva = vbva_ctx->vbva;
33 u32 bytes_till_boundary = vbva->data_len - offset;
34 u8 *dst = &vbva->data[offset];
43 memcpy(&vbva->data[0], (u8 *)p + bytes_till_boundary, diff);
65 struct vbva_buffer *vbva;
68 vbva = vbva_ctx->vbva;
71 if (!vbva || vbva_ctx->buffer_overflow ||
75 available = vbva_buffer_available(vbva);
82 available = vbva_buffer_available(vbva);
86 if (WARN_ON(available <= vbva->partial_write_tresh)) {
90 chunk = available - vbva->partial_write_tresh;
94 vbva->free_offset);
96 vbva->free_offset = (vbva->free_offset + chunk) %
97 vbva->data_len;
138 struct vbva_buffer *vbva, s32 screen)
142 memset(vbva, 0, sizeof(*vbva));
143 vbva->partial_write_tresh = 256;
144 vbva->data_len = vbva_ctx->buffer_length - sizeof(struct vbva_buffer);
145 vbva_ctx->vbva = vbva;
159 vbva_ctx->vbva = NULL;
170 if (!vbva_ctx->vbva ||
171 !(vbva_ctx->vbva->host_flags.host_events & VBVA_F_MODE_ENABLED))
176 next = (vbva_ctx->vbva->record_free_index + 1) % VBVA_MAX_RECORDS;
179 if (next == vbva_ctx->vbva->record_first_index)
183 if (next == vbva_ctx->vbva->record_first_index)
186 record = &vbva_ctx->vbva->records[vbva_ctx->vbva->record_free_index];
188 vbva_ctx->vbva->record_free_index = next;
199 WARN_ON(!vbva_ctx->vbva || !record ||