All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Shankar, Uma" <uma.shankar@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Syrjala, Ville" <ville.syrjala@intel.com>,
	"Lankhorst, Maarten" <maarten.lankhorst@intel.com>
Subject: Re: [igt-dev] [v2] tests/kms_color: Fix CRC mismatch issues with ctm test
Date: Mon, 25 Mar 2019 12:51:12 +0200	[thread overview]
Message-ID: <20190325105112.GS3888@intel.com> (raw)
In-Reply-To: <E7C9878FBA1C6D42A1CA3F62AEB6945F81F8D6D3@BGSMSX104.gar.corp.intel.com>

On Mon, Mar 25, 2019 at 10:40:18AM +0000, Shankar, Uma wrote:
> 
> 
> >-----Original Message-----
> >From: Landwerlin, Lionel G
> >Sent: Monday, March 25, 2019 3:46 PM
> >To: Shankar, Uma <uma.shankar@intel.com>; igt-dev@lists.freedesktop.org
> >Cc: Syrjala, Ville <ville.syrjala@intel.com>; Lankhorst, Maarten
> ><maarten.lankhorst@intel.com>
> >Subject: Re: [igt-dev] [v2] tests/kms_color: Fix CRC mismatch issues with ctm test
> >
> >On 25/03/2019 06:36, Shankar, Uma wrote:
> >>
> >>> -----Original Message-----
> >>> From: Landwerlin, Lionel G
> >>> Sent: Monday, March 25, 2019 7:11 AM
> >>> To: Shankar, Uma <uma.shankar@intel.com>;
> >>> igt-dev@lists.freedesktop.org
> >>> Cc: Syrjala, Ville <ville.syrjala@intel.com>; Lankhorst, Maarten
> >>> <maarten.lankhorst@intel.com>
> >>> Subject: Re: [igt-dev] [v2] tests/kms_color: Fix CRC mismatch issues
> >>> with ctm test
> >>>
> >>> When degamma & gamma LUTs are disabled & CTM is enabled, i915
> >>> programs a linear table in the degamma/gamma LUTs :
> >>>
> >>> https://cgit.freedesktop.org/drm/drm-
> >>> intel/tree/drivers/gpu/drm/i915/intel_color.c#n463
> >>> https://cgit.freedesktop.org/drm/drm-
> >>> intel/tree/drivers/gpu/drm/i915/intel_color.c#n495
> >>>
> >>> All the values programmed are in u16 range which is also what
> >>> userspace can program (this applies to BDW/SKL/KBL).
> >>> What is it that the kernel is able to program but not userspace?
> >> Hi Lionel,
> >> Issue is with representing 1.0 which needs a 3.16 kind of
> >> representation. So directly doing it in Kernel to program linear luts using below:
> >> for (i = 0; i < lut_size; i++) {
> >> 			u32 v = (i * (1 << 16)) / (lut_size - 1);
> >> 			I915_WRITE(PRE_CSC_GAMC_DATA(pipe), v);
> >> 		}
> >> takes care of the corner case. The ABI is getting extended and we will
> >> need higher precision luts, but for now due to lack of it,  putting the same to be
> >done in driver.
> >>
> >> Regards,
> >> Uma Shankar
> >
> >
> >Hi Uma,
> >
> >This is for GLK right?
> >What about the failures on KBL/SKL?
> >
> >There the hardware doesn't have fixed point values.
> 
> On Gen9, it uses bdw_load_gamma_lut function. For all values its good, but when
> it comes to programming GCMAX, ABI fells short:
> 
> I915_WRITE(PREC_PAL_GC_MAX(pipe, 0), (1 << 16) - 1);
> I915_WRITE(PREC_PAL_GC_MAX(pipe, 1), (1 << 16) - 1);
> I915_WRITE(PREC_PAL_GC_MAX(pipe, 2), (1 << 16) - 1);

IIRC that's also the wrong set of register we're writing here.

> 
> This expects input in U1.16 format. This may be the reason we are seeing this issue on
> Gen9 as well.
> 
> Regards,
> Uma Shankar
> 
> >Thanks,
> >
> >-Lionel
> >
> >
> >>
> >>> -Lionel
> >>>
> >>> On 24/03/2019 17:55, Uma Shankar wrote:
> >>>> Due to Gamma/Degamma limitation with precision (lack of exact 1.0
> >>>> representation) due to ABI restriction, applying linear gamma
> >>>> affects crc. This patch fixes the same by making ctm tests
> >>>> independant of gamma/degamma.
> >>>>
> >>>> v2: Disable degamma/gamma programming for ctm max test as it leads
> >>>> to crc mimsmatch. Limiting it to this test case alone as other tests
> >>>> need it to be enabled, hence not touching those scenarios.
> >>>>
> >>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108147
> >>>> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> >>>> ---
> >>>>    tests/kms_color.c | 16 ++++++++++++++--
> >>>>    1 file changed, 14 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/tests/kms_color.c b/tests/kms_color.c index
> >>>> decf3c2..93560d4 100644
> >>>> --- a/tests/kms_color.c
> >>>> +++ b/tests/kms_color.c
> >>>> @@ -696,8 +696,15 @@ static bool test_pipe_ctm(data_t *data,
> >>>>    		igt_assert(fb_modeset_id);
> >>>>    		igt_plane_set_fb(primary, &fb_modeset);
> >>>>
> >>>> -		set_degamma(data, primary->pipe, degamma_linear);
> >>>> -		set_gamma(data, primary->pipe, gamma_linear);
> >>>> +		/*
> >>>> +		 * Don't program LUT's for max CTM cases as limitation of
> >>>> +		 * representing 1.0 due to ABI limits causes crc mismatch
> >>>> +		 */
> >>>> +		if (memcmp(before, after, sizeof(color_t)))
> >>>> +			set_degamma(data, primary->pipe, degamma_linear);
> >>>> +			set_gamma(data, primary->pipe, gamma_linear);
> >>>> +		}
> >>>> +
> >>>>    		disable_ctm(primary->pipe);
> >>>>    		igt_display_commit(&data->display);
> >>>>
> >>>> @@ -1005,6 +1012,11 @@ run_tests_for_pipe(data_t *data, enum pipe p)
> >>>>    		 * produce with an 8 bits per color framebuffer. */
> >>>>    		igt_require(!IS_CHERRYVIEW(data->devid));
> >>>>
> >>>> +		/* Disable and let default luts be applied by kernel */
> >>>> +		disable_degamma(primary->pipe);
> >>>> +		disable_gamma(primary->pipe);
> >>>> +		igt_display_commit(&data->display);
> >>>> +
> >>>>    		igt_assert(test_pipe_ctm(data, primary, red_green_blue,
> >>>>    					 full_rgb, ctm));
> >>>>    	}
> >
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-03-25 10:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-24 17:55 [igt-dev] [v2] tests/kms_color: Fix CRC mismatch issues with ctm test Uma Shankar
2019-03-24 17:56 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_color: Fix CRC mismatch issues with ctm test (rev2) Patchwork
2019-03-25  1:40 ` [igt-dev] [v2] tests/kms_color: Fix CRC mismatch issues with ctm test Lionel Landwerlin
2019-03-25  6:36   ` Shankar, Uma
2019-03-25 10:15     ` Lionel Landwerlin
2019-03-25 10:40       ` Shankar, Uma
2019-03-25 10:51         ` Ville Syrjälä [this message]
2019-03-25 13:12           ` Shankar, Uma
2019-03-25 11:08         ` Lionel Landwerlin
2019-03-25 11:32           ` Shankar, Uma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190325105112.GS3888@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=maarten.lankhorst@intel.com \
    --cc=uma.shankar@intel.com \
    --cc=ville.syrjala@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.