Message ID | 20221013-rpi-dpi-improvements-v1-4-8a7a96949cb0@cerno.tech (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vc4: dpi: Various improvements | expand |
Hi Maxime and Chris, Thank you for the patch. On Thu, Oct 13, 2022 at 11:56:48AM +0200, Maxime Ripard wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > The RGB565 format with padding over 24 bits > (MEDIA_BUS_FMT_RGB565_1X24_CPADHI) is supported by the vc4 DPI > controller as "mode 3". This is what the Geekworm MZP280 DPI display The code below uses DPI_FORMAT_16BIT_565_RGB_2. Is that mode 3, or should the commit message refer to mode 2 ? With this fixed, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > uses, so let's add support for it in the DPI controller driver. > > Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > Signed-off-by: Maxime Ripard <maxime@cerno.tech> > --- > drivers/gpu/drm/vc4/vc4_dpi.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c > index 1f8f44b7b5a5..7da3dd1db50e 100644 > --- a/drivers/gpu/drm/vc4/vc4_dpi.c > +++ b/drivers/gpu/drm/vc4/vc4_dpi.c > @@ -182,6 +182,10 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) > dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, > DPI_FORMAT); > break; > + case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: > + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_2, > + DPI_FORMAT); > + break; > default: > DRM_ERROR("Unknown media bus format %d\n", > bus_format); >
Hi Laurent On Sat, 15 Oct 2022 at 18:29, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > Hi Maxime and Chris, > > Thank you for the patch. > > On Thu, Oct 13, 2022 at 11:56:48AM +0200, Maxime Ripard wrote: > > From: Chris Morgan <macromorgan@hotmail.com> > > > > The RGB565 format with padding over 24 bits > > (MEDIA_BUS_FMT_RGB565_1X24_CPADHI) is supported by the vc4 DPI > > controller as "mode 3". This is what the Geekworm MZP280 DPI display > > The code below uses DPI_FORMAT_16BIT_565_RGB_2. Is that mode 3, or > should the commit message refer to mode 2 ? It's a mis-mash of documentation from the firmware stack. [1] lists the firmware modes, which start at 1 for the equivalent of DPI_FORMAT_9BIT_666_RGB, so there padded RGB565 is mode 3. I'd advocate dropping the reference to which mode it is: The RGB565 format with padding over 24 bits (MEDIA_BUS_FMT_RGB565_1X24_CPADHI) is supported by the vc4 DPI controller. Dave [1] https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#parallel-display-interface-dpi > With this fixed, > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > uses, so let's add support for it in the DPI controller driver. > > > > Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > Signed-off-by: Maxime Ripard <maxime@cerno.tech> > > --- > > drivers/gpu/drm/vc4/vc4_dpi.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c > > index 1f8f44b7b5a5..7da3dd1db50e 100644 > > --- a/drivers/gpu/drm/vc4/vc4_dpi.c > > +++ b/drivers/gpu/drm/vc4/vc4_dpi.c > > @@ -182,6 +182,10 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) > > dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, > > DPI_FORMAT); > > break; > > + case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: > > + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_2, > > + DPI_FORMAT); > > + break; > > default: > > DRM_ERROR("Unknown media bus format %d\n", > > bus_format); > > > > -- > Regards, > > Laurent Pinchart
diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c index 1f8f44b7b5a5..7da3dd1db50e 100644 --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c @@ -182,6 +182,10 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, DPI_FORMAT); break; + case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_2, + DPI_FORMAT); + break; default: DRM_ERROR("Unknown media bus format %d\n", bus_format);