[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