[PATCH 5/7] drm/vc4: dpi: Support BGR666 formats

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Oct 15 17:30:52 UTC 2022


On Sat, Oct 15, 2022 at 08:26:48PM +0300, Laurent Pinchart wrote:
> Hi Maxime and Joerg,
> 
> Thank you for the patch.
> 
> On Thu, Oct 13, 2022 at 11:56:49AM +0200, Maxime Ripard wrote:
> > From: Joerg Quinten <aBUGSworstnightmare at gmail.com>
> > 
> > The VC4 DPI output can support multiple BGR666 variants, but they were
> > never added to the driver. Let's add the the support for those formats.
> > 
> > Signed-off-by: Joerg Quinten <aBUGSworstnightmare at gmail.com>
> > Signed-off-by: Maxime Ripard <maxime at cerno.tech>
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> > ---
> >  drivers/gpu/drm/vc4/vc4_dpi.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c
> > index 7da3dd1db50e..ecbe4cd87036 100644
> > --- a/drivers/gpu/drm/vc4/vc4_dpi.c
> > +++ b/drivers/gpu/drm/vc4/vc4_dpi.c
> > @@ -170,10 +170,16 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder)
> >  				dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR,
> >  						       DPI_ORDER);
> >  				break;
> > +			case MEDIA_BUS_FMT_BGR666_1X24_CPADHI:
> > +				dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
> > +				fallthrough;

Upon closer inspection of the code, I think you also need

-			dpi_c &= ~DPI_FORMAT_MASK;
+			dpi_c &= ~(DPI_ORDER_MASK | DPI_FORMAT_MASK);

a few lines above.

> >  			case MEDIA_BUS_FMT_RGB666_1X24_CPADHI:
> >  				dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2,
> >  						       DPI_FORMAT);
> >  				break;
> > +			case MEDIA_BUS_FMT_BGR666_1X18:
> > +				dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
> > +				fallthrough;
> >  			case MEDIA_BUS_FMT_RGB666_1X18:
> >  				dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
> >  						       DPI_FORMAT);
> > 

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list