On 18.12.2023 12:32, Dikshita Agarwal wrote: > Implement vb2 ops for buf queue. Below are the different > buffer attributes: > BUF_ATTR_DEFERRED - buffer queued by client but not submitted > to firmware. > BUF_ATTR_READ_ONLY - processed buffer received from firmware > as read only. These buffers are held in firmware as reference > for future frame processing. > BUF_ATTR_PENDING_RELEASE - buffers requested to be released > from firmware. > BUF_ATTR_QUEUED - buffers submitted to firmware. > BUF_ATTR_DEQUEUED - buffers received from firmware. > BUF_ATTR_BUFFER_DONE - buffers sent back to vb2. > > Buffers are submitted and received via HFI_CMD_BUFFER. > Firmware associates below flags during buffer response: > HFI_BUF_FW_FLAG_RELEASE_DONE - buffer released in firmware. > HFI_BUF_FW_FLAG_READONLY - buffer used as reference in firmware. > > Input buffers dequeued from firmware are sent directly to vb2. > > Output buffers if read only, are sent to vb2 and also maintained > in read only list. If the same read only buffer is received form > client, HFI_BUF_HOST_FLAG_READONLY is attached to the buffer and > submitted to firmware. Once the buffer is received from firmware > as non read only, it is removed from read only list. > > Signed-off-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx> > --- [...] > > +enum iris_buffer_flags { > + BUF_FLAG_KEYFRAME = 0x00000008, > + BUF_FLAG_PFRAME = 0x00000010, > + BUF_FLAG_BFRAME = 0x00000020, > + BUF_FLAG_ERROR = 0x00000040, BIT(3), 4, 5, 6? Konrad