[PATCH libdrm] modetest: set_gamma only if CRTC supports gamma property

Rohit Visavalia RVISAVAL at xilinx.com
Tue Aug 25 07:43:18 UTC 2020


Hi Ville,

This patch is already reviewed by Ilia Mirkin <imirkin at alum.mit.edu> and I have unit tested it, if it looks good to you could you please merge it?

Thanks
Rohit

> -----Original Message-----
> From: Ilia Mirkin [mailto:imirkin at alum.mit.edu]
> Sent: Monday, March 23, 2020 11:10 AM
> To: Rohit Visavalia <RVISAVAL at xilinx.com>
> Cc: dri-devel <dri-devel at lists.freedesktop.org>; Emil Velikov
> <emil.velikov at collabora.com>; Hyun Kwon <hyunk at xilinx.com>; Devarsh
> Thakkar <DEVARSHT at xilinx.com>; Dhaval Rajeshbhai Shah
> <dshah at xilinx.com>; Ranganathan Sk <rsk at xilinx.com>; Varunkumar
> Allagadapa <VARUNKUM at xilinx.com>
> Subject: Re: [PATCH libdrm] modetest: set_gamma only if CRTC supports
> gamma property
> 
> CAUTION: This message has originated from an External Source. Please use
> proper judgment and caution when opening attachments, clicking links, or
> responding to this email.
> 
> 
> Not an enormous fan of what you had to do in atomic_set_planes, but OTOH I
> don't see a much better way to do it either.
> 
> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
> 
> On Tue, Mar 17, 2020 at 8:11 AM Rohit Visavalia <rohit.visavalia at xilinx.com>
> wrote:
> >
> > Current implementation shows error as "failed to set gamma: Function
> > no implemented" if platform specific drm has no gamma property
> > implemented
> >
> > Signed-off-by: Rohit Visavalia <rohit.visavalia at xilinx.com>
> > ---
> >  tests/modetest/modetest.c | 21 ++++++++++++++++-----
> >  1 file changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
> > index b907ab3..23ee73d 100644
> > --- a/tests/modetest/modetest.c
> > +++ b/tests/modetest/modetest.c
> > @@ -1328,14 +1328,24 @@ static int set_plane(struct device *dev,
> > struct plane_arg *p)  static void atomic_set_planes(struct device *dev, struct
> plane_arg *p,
> >                               unsigned int count, bool update)  {
> > -       unsigned int i, pattern = primary_fill;
> > +       unsigned int i, j, pattern = primary_fill;
> > +       struct crtc *crtc = NULL;
> >
> >         /* set up planes */
> >         for (i = 0; i < count; i++) {
> > -               if (i > 0)
> > +               if (i > 0) {
> >                         pattern = secondary_fill;
> > -               else
> > -                       set_gamma(dev, p[i].crtc_id, p[i].fourcc);
> > +               } else {
> > +                       for (j = 0; j < dev->resources->res->count_crtcs; j++) {
> > +                               if (p[i].crtc_id ==
> > +                                   dev->resources->res->crtcs[j]) {
> > +                                       crtc = &dev->resources->crtcs[j];
> > +                                       break;
> > +                               }
> > +                       }
> > +                       if (crtc->crtc->gamma_size)
> > +                               set_gamma(dev, p[i].crtc_id, p[i].fourcc);
> > +               }
> >
> >                 if (atomic_set_plane(dev, &p[i], pattern, update))
> >                         return;
> > @@ -1522,7 +1532,8 @@ static void set_mode(struct device *dev, struct
> pipe_arg *pipes, unsigned int co
> >                         return;
> >                 }
> >
> > -               set_gamma(dev, pipe->crtc->crtc->crtc_id, pipe->fourcc);
> > +               if (pipe->crtc->crtc->gamma_size)
> > +                       set_gamma(dev, pipe->crtc->crtc->crtc_id,
> > + pipe->fourcc);
> >         }
> >  }
> >
> > --
> > 2.7.4
> >
> > This email and any attachments are intended for the sole use of the named
> recipient(s) and contain(s) confidential information that may be proprietary,
> privileged or copyrighted under applicable law. If you are not the intended
> recipient, do not read, copy, or forward this email message or any attachments.
> Delete this email message and any attachments immediately.


More information about the dri-devel mailing list