All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shankar, Uma" <uma.shankar@intel.com>
To: "Landwerlin, Lionel G" <lionel.g.landwerlin@intel.com>,
	"igt-dev@lists.freedesktop.org" <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
Date: Mon, 25 Mar 2019 11:32:21 +0000	[thread overview]
Message-ID: <E7C9878FBA1C6D42A1CA3F62AEB6945F81F8D7AB@BGSMSX104.gar.corp.intel.com> (raw)
In-Reply-To: <efa5efe4-0b21-7135-d30c-36d2ea761aea@intel.com>



>-----Original Message-----
>From: Landwerlin, Lionel G
>Sent: Monday, March 25, 2019 4:39 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 10:40, 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);
>>
>> This expects input in U1.16 format. This may be the reason we are
>> seeing this issue on
>> Gen9 as well.
>>
>> Regards,
>> Uma Shankar
>
>
>Okay... I started looking into this because I'm pretty sure it use to work on gen9 big
>cores.
>
>Running the tests on my SKL nuc at this revision :
>
>
>commit 07118ed9b6ed7eb77382d4eb057b7faf4af74dec (drm-tip/drm-tip)
>Author: Jani Nikula <jani.nikula@intel.com>
>Date:   Fri Mar 8 13:36:01 2019 +0200
>
>     drm-tip: 2019y-03m-08d-11h-34m-53s UTC integration manifest
>
>
>All the kms_color tests are passing.
>
>
>Are you sure there isn't another issue?

I haven’t checked on Gen9 machine, testing on ICL currently. This also depends
on pipe precision and rounding, so not sure but definitely we are not able to write 1.0
to register from user provide luts.

Regards,
Uma Shankar

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

      reply	other threads:[~2019-03-25 11:32 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ä
2019-03-25 13:12           ` Shankar, Uma
2019-03-25 11:08         ` Lionel Landwerlin
2019-03-25 11:32           ` Shankar, Uma [this message]

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=E7C9878FBA1C6D42A1CA3F62AEB6945F81F8D7AB@BGSMSX104.gar.corp.intel.com \
    --to=uma.shankar@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=lionel.g.landwerlin@intel.com \
    --cc=maarten.lankhorst@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.