lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 17 Oct 2022 18:26:18 +0100
From:   Dave Stevenson <dave.stevenson@...pberrypi.com>
To:     Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc:     Maxime Ripard <maxime@...no.tech>,
        Maxime Ripard <mripard@...nel.org>,
        Eric Anholt <eric@...olt.net>, Daniel Vetter <daniel@...ll.ch>,
        David Airlie <airlied@...ux.ie>, Rob Herring <robh@...nel.org>,
        Emma Anholt <emma@...olt.net>, dri-devel@...ts.freedesktop.org,
        Joerg Quinten <aBUGSworstnightmare@...il.com>,
        Chris Morgan <macromorgan@...mail.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 5/7] drm/vc4: dpi: Support BGR666 formats

Hi Laurent

Thanks for the review.

On Sat, 15 Oct 2022 at 18:31, Laurent Pinchart
<laurent.pinchart@...asonboard.com> wrote:
>
> 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@...il.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@...il.com>
> > > Signed-off-by: Maxime Ripard <maxime@...no.tech>
> >
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.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.

Hmm, curious as there appears to be a difference between our vendor
tree and mainline in the contents of a patch with almost the same
commit text.

https://github.com/torvalds/linux/commit/7a70b0b97889a89f397913c971cadfc6db9b310a
vs https://github.com/raspberrypi/linux/commit/9d9dc236a9ee9021363b8601b6188e7be86d1971

Our tree leaves dpi_c effectively clear, and selects the default at
the end. Mainline sets the default first.


Even so, dpi_c gets initialised with
dpi_c = DPI_ENABLE;
dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, DPI_FORMAT);
dpi_c &= ~DPI_FORMAT_MASK;
so at this point in the switch, the DPI_ORDER bits haven't changed
from the default of 0.

  Dave

> > >                     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

Powered by blists - more mailing lists