Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: "Srinivas, Vidya" <vidya.srinivas@intel.com>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Kamath, Sunil" <sunil.kamath@intel.com>,
	"Syrjala, Ville" <ville.syrjala@intel.com>
Subject: Re: [igt-dev] [PATCH i-g-t] [i-g-t] tests/kms_plane_scaling: fb height to be multiplier of 4 for YUV 420 planar
Date: Wed, 21 Mar 2018 16:04:28 +0100	[thread overview]
Message-ID: <d4dbd8be-80f3-84fb-7f22-92aa47bfcd20@linux.intel.com> (raw)
In-Reply-To: <F653A0A18852B74D88578FA2EB7094EAB6839C93@BGSMSX108.gar.corp.intel.com>

Op 20-03-18 om 11:02 schreef Srinivas, Vidya:
>
>> -----Original Message-----
>> From: Ville Syrjälä [mailto:ville.syrjala@linux.intel.com]
>> Sent: Monday, March 19, 2018 7:35 PM
>> To: Srinivas, Vidya <vidya.srinivas@intel.com>
>> Cc: igt-dev@lists.freedesktop.org; Kamath, Sunil <sunil.kamath@intel.com>;
>> Syrjala, Ville <ville.syrjala@intel.com>
>> Subject: Re: [igt-dev] [PATCH i-g-t] [i-g-t] tests/kms_plane_scaling: fb height
>> to be multiplier of 4 for YUV 420 planar
>>
>> On Sat, Mar 17, 2018 at 09:15:48AM +0000, Srinivas, Vidya wrote:
>>>
>>>> -----Original Message-----
>>>> From: Ville Syrjälä [mailto:ville.syrjala@linux.intel.com]
>>>> Sent: Friday, March 16, 2018 8:01 PM
>>>> To: Srinivas, Vidya <vidya.srinivas@intel.com>
>>>> Cc: igt-dev@lists.freedesktop.org; Kamath, Sunil
>>>> <sunil.kamath@intel.com>; Syrjala, Ville <ville.syrjala@intel.com>
>>>> Subject: Re: [igt-dev] [PATCH i-g-t] [i-g-t]
>>>> tests/kms_plane_scaling: fb height to be multiplier of 4 for YUV 420
>>>> planar
>>>>
>>>> On Fri, Mar 16, 2018 at 06:50:27PM +0530, Vidya Srinivas wrote:
>>>>> For Gen9, GLK, CNL, GLV: Display WA 1106:
>>>>> Display corruption/color shift observed when using NV12 with
>>>>> 270 rotation or 90 rotation + horizontal flip.
>>>>> WA: NV12 with 270 rotation or 90 rotation + horizontal flip
>>>>> requires the programmed plane height to be a multiple of 4.
>>>>> Patch changes the NV12 buffer to 20x20 to maintain both fb > min
>>>>> fb and also multiplier of 4
>>>>>
>>>>> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
>>>>> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
>>>>> ---
>>>>>  tests/kms_plane_scaling.c | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
>>>>> index 36fcfc0..b94d785 100644
>>>>> --- a/tests/kms_plane_scaling.c
>>>>> +++ b/tests/kms_plane_scaling.c
>>>>> @@ -132,7 +132,7 @@ static void
>>>>> check_scaling_pipe_plane_rot(data_t *d,
>>>> igt_plane_t *plane,
>>>>>  	/* create buffer in the range of  min and max source side limit.*/
>>>>>  	width = height = 9;
>>>>>  	if (pixel_format == DRM_FORMAT_NV12)
>>>>> -		width = height = 17;
>>>>> +		width = height = 20;
>>>> Why 20 and not 16? I thought 16 was the limit?
>>> Yes, but when the NV12 17x17 buffer is flipped on the sprite, it gets
>>> adjusted to 16x16 in Intel_check_sprite_plane and further PLANE_SIZE gets
>> written with 15x15.
>>
>> I don't see what the -1 bias of the register values has to do with this.
>>
>>> So, I thought 20x20 would be better. However when I run the
>>> kms_plane_scaling with rotation About 100 times, I still see rare fifo
>>> underruns. This may be due to the WA1106 Which says the plane height for
>> NV12 in case of rotation needs to be multiplier of 4.
>>> Even with 20x20 buffer, after the adjustment it changes to 18x19 and
>>> this further reduces to 17x18 in skl_update_plane This causes 18 to be
>> programmed as plane height which is not a multiplier of 4.
>>
>> The bias has nothing to do with this. But the reduction is source size to make
>> it an exact multiple of the hscale/vscale can certainly be a problem. That thing
>> needs some rethinking for sure. Sadly the spec doesn't document the scaling
>> algorithm so it's hard to say what is the best apporach.
>>
>> But this does appear to highlight a problem in the nv12 patches. They should
>> be checking the final source coordinates against the hardware minimum size,
>> and reject the operation if we're trying to do something bad. Perhaps we
>> already have that same problem with non-nv12?
> Thank you. Will try implementing this in KMD.
>
> The problem is, the results are now showing consistent.
> As in, not always the NV12 src height  multiplier of 4 for height results in non-underruns.
> When I used a 29x29 buffer, even though the final source width height was 28x28
> It still showed fifo underrun. 
We should probably look at more data, what about checking minimums?

Does width need to be a multiple of 4, or 8? What about height?
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2018-03-21 15:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-16 13:20 [igt-dev] [PATCH i-g-t] [i-g-t] tests/kms_plane_scaling: fb height to be multiplier of 4 for YUV 420 planar Vidya Srinivas
2018-03-16 14:11 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-03-16 14:30 ` [igt-dev] [PATCH i-g-t] [i-g-t] " Ville Syrjälä
2018-03-17  9:15   ` Srinivas, Vidya
2018-03-19 14:04     ` Ville Syrjälä
2018-03-20 10:02       ` Srinivas, Vidya
2018-03-21 15:04         ` Maarten Lankhorst [this message]
2018-03-23  4:21           ` Srinivas, Vidya

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=d4dbd8be-80f3-84fb-7f22-92aa47bfcd20@linux.intel.com \
    --to=maarten.lankhorst@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=sunil.kamath@intel.com \
    --cc=vidya.srinivas@intel.com \
    --cc=ville.syrjala@intel.com \
    --cc=ville.syrjala@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox