Hi, Shu-hsiang: On Wed, 2024-10-09 at 19:15 +0800, Shu-hsiang Yang wrote: > Introduces the top media device driver for the MediaTek ISP7X CAMSYS. > The driver maintains the camera system, including sub-device management, > DMA operations, and integration with the V4L2 framework. It handles > request stream data, buffer management, and MediaTek-specific features, > and pipeline management, streaming control, error handling mechanism. > Additionally, it aggregates sub-drivers for the camera interface, raw > and yuv pipelines. > > Signed-off-by: Shu-hsiang Yang <Shu-hsiang.Yang@xxxxxxxxxxxx> > --- [snip] > + > +/** > + * MediaTek Universal Frame Buffer Compression (UFBC) buffer header > + * Caller must follow the bit stream buffer size and length table buffer size. > + * > + * Header Size > + * Fixed size of 4096 bytes. Caller SHOULD NOT edit it. > + * > + * Bit Stream Size > + * Bit stream width must be aligned to 64 pixel. > + */ > + > +struct ufbc_buf_header { > + /** Describe image resolution, unit in pixel. */ > + u32 width; > + /** Describe image resolution, unit in pixel. */ > + u32 height; > + /** Describe UFBC data plane count, UFBC supports maximum 2 planes. */ > + u32 plane_count; > + /** Describe the original image data bits per pixel of the given plane. */ > + u32 bits_per_pixel[3]; > + > + /** > + * Describe the offset of the given plane bit stream data in bytes, > + * including header size. > + */ > + u32 bitstream_offset[3]; > + /** Describe the bit stream data size in bytes of the given plane. */ > + u32 bitstream_size[3]; > + /** Describe the encoded data size in bytes of the given plane. */ > + u32 bitstream_data_size[3]; > + > + /** > + * Describe the offset of length table of the given plane, including > + * header size. > + */ > + u32 table_offset[3]; > + /** Describe the length table size of the given plane */ > + u32 table_size[3]; > + /** Describe the total buffer size, including buffer header. */ > + u32 buffer_size; > +}; > + > +struct ufbc_buffer_header { > + union { > + struct ufbc_buf_header header; 'struct ufbc_buf_header' is never used, so drop it. Regards, CK > + u8 bits[4096]; > + }; > +}; > +