[PATCH v10 3/4] drm: renesas: Add RZ/G2L DU Support

Biju Das biju.das.jz at bp.renesas.com
Mon Oct 2 10:35:22 UTC 2023


Hi Jacopo,

> Subject: Re: [PATCH v10 3/4] drm: renesas: Add RZ/G2L DU Support
> 
> Hi Biju
> 
> On Mon, Sep 18, 2023 at 08:09:58AM +0000, Biju Das wrote:
> > Hi Jacopo Mondi,
> >
> > Looks like you are happy with my response for V10. I will send V11 soon.
> 
> Sorry for the late reply..
> 
> See below, I only see two "controversial" points
> 
> >
> > Cheers,
> > Biju
> >
> > > -----Original Message-----
> > > From: Biju Das <biju.das.jz at bp.renesas.com>
> > > Sent: Friday, September 8, 2023 2:24 PM
> > > Subject: RE: [PATCH v10 3/4] drm: renesas: Add RZ/G2L DU Support
> > >
> 
>  [snip]
> 
> > > >
> > > > > +
> > > > > +	ditr0 = (DU_DITR0_DEMD_HIGH
> > > >
> > > > I see most registers definition in rzg2l_du_regs.h being only used
> > > > by the crtc driver (some of them are not even used). Why a
> > > > separate header file ?
> > >
> > > For consistency I added header file similar to R-Car. Please let me
> > > know this to be added in .c ?
> > >
> 
> 
> I would say up to you, as R-Car does the same. In general, if a symbol
> doesn't need to be exported to any other file, it could very well live in
> the .c file.

Agreed.

> 
> > > >
> > > > > +	      | ((mode->flags & DRM_MODE_FLAG_PVSYNC) ?
> DU_DITR0_VSPOL : 0)
> > > > > +	      | ((mode->flags & DRM_MODE_FLAG_PHSYNC) ?
> DU_DITR0_HSPOL :
> 
> [snip]
> 
> > > > ---------
> > > > > + * Format helpers
> > > > > + */
> > > > > +
> > > > > +static const struct rzg2l_du_format_info rzg2l_du_format_infos[] =
> {
> > > > > +	{
> > > > > +		.fourcc = DRM_FORMAT_RGB565,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGB565,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ARGB1555,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ARGB555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XRGB1555,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XRGB555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XRGB8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XBGR32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ARGB8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ABGR32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_UYVY,
> > > > > +		.v4l2 = V4L2_PIX_FMT_UYVY,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YUYV,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YUYV,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_NV12,
> > > > > +		.v4l2 = V4L2_PIX_FMT_NV12M,
> > > > > +		.bpp = 12,
> > > > > +		.planes = 2,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_NV21,
> > > > > +		.v4l2 = V4L2_PIX_FMT_NV21M,
> > > > > +		.bpp = 12,
> > > > > +		.planes = 2,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_NV16,
> > > > > +		.v4l2 = V4L2_PIX_FMT_NV16M,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 2,
> > > > > +		.hsub = 2,
> > > > > +	},
> > > > > +	{
> > > > > +		.fourcc = DRM_FORMAT_RGB332,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGB332,
> > > > > +		.bpp = 8,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ARGB4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ARGB444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XRGB4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XRGB444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBA4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBA444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBX4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBX444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ABGR4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ABGR444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XBGR4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XBGR444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRA4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRA444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRX4444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRX444,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBA5551,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBA555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBX5551,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBX555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ABGR1555,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ABGR555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XBGR1555,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XBGR555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRA5551,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRA555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRX5551,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRX555,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGR888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGB24,
> > > > > +		.bpp = 24,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGB888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGR24,
> > > > > +		.bpp = 24,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBA8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRA32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBX8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_BGRX32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ABGR8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBA32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_XBGR8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBX32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRA8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ARGB32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_BGRX8888,
> > > > > +		.v4l2 = V4L2_PIX_FMT_XRGB32,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBX1010102,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBX1010102,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_RGBA1010102,
> > > > > +		.v4l2 = V4L2_PIX_FMT_RGBA1010102,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_ARGB2101010,
> > > > > +		.v4l2 = V4L2_PIX_FMT_ARGB2101010,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YVYU,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YVYU,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_NV61,
> > > > > +		.v4l2 = V4L2_PIX_FMT_NV61M,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 2,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YUV420,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YUV420M,
> > > > > +		.bpp = 12,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YVU420,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YVU420M,
> > > > > +		.bpp = 12,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YUV422,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YUV422M,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YVU422,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YVU422M,
> > > > > +		.bpp = 16,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YUV444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YUV444M,
> > > > > +		.bpp = 24,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_YVU444,
> > > > > +		.v4l2 = V4L2_PIX_FMT_YVU444M,
> > > > > +		.bpp = 24,
> > > > > +		.planes = 3,
> > > > > +		.hsub = 1,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_Y210,
> > > > > +		.v4l2 = V4L2_PIX_FMT_Y210,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 2,
> > > > > +	}, {
> > > > > +		.fourcc = DRM_FORMAT_Y212,
> > > > > +		.v4l2 = V4L2_PIX_FMT_Y212,
> > > > > +		.bpp = 32,
> > > > > +		.planes = 1,
> > > > > +		.hsub = 2,
> > > > > +	},
> > > > > +};
> > > >
> > > > I see listed as supported formats in the DU features list
> > > >
> > > > Input data format (from VSPD): RGB888, RGB666 (not supports
> > > > dithering of
> > > > RGB565)
> > > > − Output data format: same as Input data format
> > > >
> > > > Am I missing something ?
> > >
> > > If you see the pipeline below, the Image buffer is read by RPF and
> > > finally rendered to DU as the VSP is the compositor.
> > >
> > > Imagebuffer (YUV) --> RPF(YUV)-->WPF(YUV)-->LIF(RGB)-->DU(RGB)
> 
> I see, aren't RPF/WPF and LIF part of VSP ? Why do you need to list YUV
> formats here if the DU only accepts RGB as input ?

Agreed. Will send V11.

Cheers,
Biju


More information about the dri-devel mailing list