[PATCH v1 05/10] media: platform: mediatek: add isp_7x camsys unit

CK Hu (胡俊光) ck.hu at mediatek.com
Tue Oct 29 02:35:49 UTC 2024


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 at mediatek.com>
> ---

[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];
> +	};
> +};
> +

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20241029/f9ff36b0/attachment.htm>


More information about the dri-devel mailing list