Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Saarinen, Jani
> Sent: Wednesday, April 18, 2018 11:07 AM
> To: Srinivas, Vidya ; Maarten Lankhorst
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Hi,
> 
> > -Original Message-
> > From: Srinivas, Vidya
> > Sent: keskiviikko 18. huhtikuuta 2018 6.56
> > To: Saarinen, Jani ; Maarten Lankhorst
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> >
> >
> > > -Original Message-
> > > From: Saarinen, Jani
> > > Sent: Tuesday, April 17, 2018 4:23 PM
> > > To: Srinivas, Vidya ; Maarten Lankhorst
> > > ; intel-gfx@lists.freedesktop.org
> > > Cc: Kamath, Sunil 
> > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > > for
> > > NV12
> > >
> > > HI,
> > > > -Original Message-
> > > > From: Srinivas, Vidya
> > > > Sent: tiistai 17. huhtikuuta 2018 13.49
> > > > To: Maarten Lankhorst ;
> > > > Saarinen, Jani ;
> > > > intel-gfx@lists.freedesktop.org
> > > > Cc: Kamath, Sunil 
> > > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > > > for
> > > > NV12
> > > >
> > > >
> > > >
> > > > > -Original Message-
> > > > > From: Maarten Lankhorst
> > > > > [mailto:maarten.lankho...@linux.intel.com]
> > > > > Sent: Tuesday, April 17, 2018 3:32 PM
> > > > > To: Srinivas, Vidya ; Saarinen, Jani
> > > > > ; intel-gfx@lists.freedesktop.org
> > > > > Cc: Kamath, Sunil 
> > > > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > adjustments for
> > > > > NV12
> > > > >
> > > > > Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> > > > > >
> > > > > >> -Original Message-
> > > > > >> From: Maarten Lankhorst
> > > > > >> [mailto:maarten.lankho...@linux.intel.com]
> > > > > >> Sent: Tuesday, April 17, 2018 3:04 PM
> > > > > >> To: Srinivas, Vidya ; Saarinen,
> > > > > >> Jani ;
> > > > > >> intel-gfx@lists.freedesktop.org
> > > > > >> Cc: Kamath, Sunil 
> > > > > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > >> adjustments for
> > > > > >> NV12
> > > > > >>
> > > > > >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
> > > > >  -Original Message-
> > > > >  From: Srinivas, Vidya
> > > > >  Sent: Tuesday, April 17, 2018 1:32 PM
> > > > >  To: 'Maarten Lankhorst'
> > > > >  ;
> > > > >  Saarinen, Jani ;
> > > > >  intel-gfx@lists.freedesktop.org
> > > > >  Cc: Kamath, Sunil 
> > > > >  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > >  adjustments for
> > > > >  NV12
> > > > > 
> > > > > 
> > > > > 
> > > > > > -Original Message-
> > > > > > From: Maarten Lankhorst
> > > > > > [mailto:maarten.lankho...@linux.intel.com]
> > > > > > Sent: Tuesday, April 17, 2018 1:21 PM
> > > > > > To: Srinivas, Vidya ; Saarinen,
> > > > > > Jani ;
> > > > > > intel-gfx@lists.freedesktop.org
> > > > > > Cc: Kamath, Sunil 
> > > > > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > > adjustments for
> > > > > > NV12
> > > > > >
> > > > > > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > > > > >>> -Original Message-
> > > > > >>> From: Maarten Lankhorst
> > > > > >>> [mailto:maarten.lankho...@linux.intel.com]
> > > > > >>> Sent: Tuesday, April 17, 2018 12:55 PM
> > > > > >>> To: Saarinen, Jani ; Srinivas,
> > > > > >>> Vidya ;
> > > > > >>> intel-gfx-try...@lists.freedesktop.org;
> > > > > >>> intel- g...@lists.freedesktop.org
> > > > > >>> Cc: Kamath, Sunil 
> > > > > >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > >>> adjustments for
> > > > > >>> NV12
> > > > > >>>
> > > > > >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> > > > >  Lets move this to intel-gfx to get more eyes on it.
> > > > > 
> > > > > > -Original Message-
> > > > > > From: Srinivas, Vidya
> > > > > > Sent: tiistai 17. huhtikuuta 2018 5.47
> > > > > > To: Maarten Lankhorst
> > > > > > ;
> > > > > 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Saarinen, Jani
Hi, 

> -Original Message-
> From: Srinivas, Vidya
> Sent: keskiviikko 18. huhtikuuta 2018 6.56
> To: Saarinen, Jani ; Maarten Lankhorst
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12
> 
> 
> 
> > -Original Message-
> > From: Saarinen, Jani
> > Sent: Tuesday, April 17, 2018 4:23 PM
> > To: Srinivas, Vidya ; Maarten Lankhorst
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> > HI,
> > > -Original Message-
> > > From: Srinivas, Vidya
> > > Sent: tiistai 17. huhtikuuta 2018 13.49
> > > To: Maarten Lankhorst ; Saarinen,
> > > Jani ; intel-gfx@lists.freedesktop.org
> > > Cc: Kamath, Sunil 
> > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > > for
> > > NV12
> > >
> > >
> > >
> > > > -Original Message-
> > > > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > > > Sent: Tuesday, April 17, 2018 3:32 PM
> > > > To: Srinivas, Vidya ; Saarinen, Jani
> > > > ; intel-gfx@lists.freedesktop.org
> > > > Cc: Kamath, Sunil 
> > > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > > > for
> > > > NV12
> > > >
> > > > Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> > > > >
> > > > >> -Original Message-
> > > > >> From: Maarten Lankhorst
> > > > >> [mailto:maarten.lankho...@linux.intel.com]
> > > > >> Sent: Tuesday, April 17, 2018 3:04 PM
> > > > >> To: Srinivas, Vidya ; Saarinen, Jani
> > > > >> ; intel-gfx@lists.freedesktop.org
> > > > >> Cc: Kamath, Sunil 
> > > > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > >> adjustments for
> > > > >> NV12
> > > > >>
> > > > >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
> > > >  -Original Message-
> > > >  From: Srinivas, Vidya
> > > >  Sent: Tuesday, April 17, 2018 1:32 PM
> > > >  To: 'Maarten Lankhorst' ;
> > > >  Saarinen, Jani ;
> > > >  intel-gfx@lists.freedesktop.org
> > > >  Cc: Kamath, Sunil 
> > > >  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > >  adjustments for
> > > >  NV12
> > > > 
> > > > 
> > > > 
> > > > > -Original Message-
> > > > > From: Maarten Lankhorst
> > > > > [mailto:maarten.lankho...@linux.intel.com]
> > > > > Sent: Tuesday, April 17, 2018 1:21 PM
> > > > > To: Srinivas, Vidya ; Saarinen,
> > > > > Jani ;
> > > > > intel-gfx@lists.freedesktop.org
> > > > > Cc: Kamath, Sunil 
> > > > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > adjustments for
> > > > > NV12
> > > > >
> > > > > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > > > >>> -Original Message-
> > > > >>> From: Maarten Lankhorst
> > > > >>> [mailto:maarten.lankho...@linux.intel.com]
> > > > >>> Sent: Tuesday, April 17, 2018 12:55 PM
> > > > >>> To: Saarinen, Jani ; Srinivas,
> > > > >>> Vidya ;
> > > > >>> intel-gfx-try...@lists.freedesktop.org;
> > > > >>> intel- g...@lists.freedesktop.org
> > > > >>> Cc: Kamath, Sunil 
> > > > >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > >>> adjustments for
> > > > >>> NV12
> > > > >>>
> > > > >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> > > >  Lets move this to intel-gfx to get more eyes on it.
> > > > 
> > > > > -Original Message-
> > > > > From: Srinivas, Vidya
> > > > > Sent: tiistai 17. huhtikuuta 2018 5.47
> > > > > To: Maarten Lankhorst
> > > > > ;
> > > > > intel-gfx- try...@lists.freedesktop.org
> > > > > Cc: Kamath, Sunil ; Saarinen,
> > > > > Jani 
> > > > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > > adjustments for NV12
> > > > >
> > > > >
> > > > >
> > > > >> -Original Message-
> > > > >> From: Maarten Lankhorst
> > > > >> [mailto:maarten.lankho...@linux.intel.com]
> > > > >> Sent: Monday, April 16, 2018 8:00 PM
> > > > >> To: Srinivas, Vidya ;
> > > > >> 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 3:32 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> >
> >> -Original Message-
> >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Tuesday, April 17, 2018 3:04 PM
> >> To: Srinivas, Vidya ; Saarinen, Jani
> >> ; intel-gfx@lists.freedesktop.org
> >> Cc: Kamath, Sunil 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for
> >> NV12
> >>
> >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
>  -Original Message-
>  From: Srinivas, Vidya
>  Sent: Tuesday, April 17, 2018 1:32 PM
>  To: 'Maarten Lankhorst' ;
>  Saarinen, Jani ;
>  intel-gfx@lists.freedesktop.org
>  Cc: Kamath, Sunil 
>  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
>  for
>  NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 1:21 PM
> > To: Srinivas, Vidya ; Saarinen, Jani
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > for
> > NV12
> >
> > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> >>> -Original Message-
> >>> From: Maarten Lankhorst
> >>> [mailto:maarten.lankho...@linux.intel.com]
> >>> Sent: Tuesday, April 17, 2018 12:55 PM
> >>> To: Saarinen, Jani ; Srinivas, Vidya
> >>> ;
> >>> intel-gfx-try...@lists.freedesktop.org;
> >>> intel- g...@lists.freedesktop.org
> >>> Cc: Kamath, Sunil 
> >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >>> adjustments for
> >>> NV12
> >>>
> >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
>  Lets move this to intel-gfx to get more eyes on it.
> 
> > -Original Message-
> > From: Srinivas, Vidya
> > Sent: tiistai 17. huhtikuuta 2018 5.47
> > To: Maarten Lankhorst ;
> > intel-gfx- try...@lists.freedesktop.org
> > Cc: Kamath, Sunil ; Saarinen, Jani
> > 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > adjustments for NV12
> >
> >
> >
> >> -Original Message-
> >> From: Maarten Lankhorst
> >> [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Monday, April 16, 2018 8:00 PM
> >> To: Srinivas, Vidya ; intel-gfx-
> >> try...@lists.freedesktop.org
> >> Cc: Kamath, Sunil ; Saarinen, Jani
> >> 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >> adjustments for
> >> NV12
> >>
> >> Hmm, more thought about src adjustments...
> >>
> >> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> >>> We skip src trunction/adjustments for
> >>> NV12 case and handle the sizes directly.
> >>> Without this, pipe fifo underruns are seen on APL/KBL.
> >>>
> >>> v2: For NV12, making the src coordinates multiplier of 4
> >>>
> >>> Credits-to: Maarten Lankhorst
> >>> 
> >>> Signed-off-by: Vidya Srinivas 
> >>> ---
> >>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> >>> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >>>  2 files changed, 26 insertions(+)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_display.c
> >>> b/drivers/gpu/drm/i915/intel_display.c
> >>> index bc83f10..f64708f 100644
> >>> --- a/drivers/gpu/drm/i915/intel_display.c
> >>> +++ b/drivers/gpu/drm/i915/intel_display.c
> >>> @@ -12978,6 +12978,10 @@
> intel_check_primary_plane(struct
> >> intel_plane *plane,
> >>>   bool can_position = false;
> >>>   int ret;
> >>>   uint32_t pixel_format = 0;
> >>> + struct drm_plane_state *plane_state = >base;
> >>> + struct drm_rect *src = _state->src;
> >>> +
> >>> + *src = 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Saarinen, Jani
> Sent: Tuesday, April 17, 2018 4:23 PM
> To: Srinivas, Vidya ; Maarten Lankhorst
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> HI,
> > -Original Message-
> > From: Srinivas, Vidya
> > Sent: tiistai 17. huhtikuuta 2018 13.49
> > To: Maarten Lankhorst ; Saarinen,
> > Jani ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> >
> >
> > > -Original Message-
> > > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > > Sent: Tuesday, April 17, 2018 3:32 PM
> > > To: Srinivas, Vidya ; Saarinen, Jani
> > > ; intel-gfx@lists.freedesktop.org
> > > Cc: Kamath, Sunil 
> > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > > for
> > > NV12
> > >
> > > Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> > > >
> > > >> -Original Message-
> > > >> From: Maarten Lankhorst
> > > >> [mailto:maarten.lankho...@linux.intel.com]
> > > >> Sent: Tuesday, April 17, 2018 3:04 PM
> > > >> To: Srinivas, Vidya ; Saarinen, Jani
> > > >> ; intel-gfx@lists.freedesktop.org
> > > >> Cc: Kamath, Sunil 
> > > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > >> adjustments for
> > > >> NV12
> > > >>
> > > >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
> > >  -Original Message-
> > >  From: Srinivas, Vidya
> > >  Sent: Tuesday, April 17, 2018 1:32 PM
> > >  To: 'Maarten Lankhorst' ;
> > >  Saarinen, Jani ;
> > >  intel-gfx@lists.freedesktop.org
> > >  Cc: Kamath, Sunil 
> > >  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > >  adjustments for
> > >  NV12
> > > 
> > > 
> > > 
> > > > -Original Message-
> > > > From: Maarten Lankhorst
> > > > [mailto:maarten.lankho...@linux.intel.com]
> > > > Sent: Tuesday, April 17, 2018 1:21 PM
> > > > To: Srinivas, Vidya ; Saarinen, Jani
> > > > ; intel-gfx@lists.freedesktop.org
> > > > Cc: Kamath, Sunil 
> > > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > adjustments for
> > > > NV12
> > > >
> > > > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > > >>> -Original Message-
> > > >>> From: Maarten Lankhorst
> > > >>> [mailto:maarten.lankho...@linux.intel.com]
> > > >>> Sent: Tuesday, April 17, 2018 12:55 PM
> > > >>> To: Saarinen, Jani ; Srinivas,
> > > >>> Vidya ;
> > > >>> intel-gfx-try...@lists.freedesktop.org;
> > > >>> intel- g...@lists.freedesktop.org
> > > >>> Cc: Kamath, Sunil 
> > > >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > >>> adjustments for
> > > >>> NV12
> > > >>>
> > > >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> > >  Lets move this to intel-gfx to get more eyes on it.
> > > 
> > > > -Original Message-
> > > > From: Srinivas, Vidya
> > > > Sent: tiistai 17. huhtikuuta 2018 5.47
> > > > To: Maarten Lankhorst ;
> > > > intel-gfx- try...@lists.freedesktop.org
> > > > Cc: Kamath, Sunil ; Saarinen, Jani
> > > > 
> > > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > > adjustments for NV12
> > > >
> > > >
> > > >
> > > >> -Original Message-
> > > >> From: Maarten Lankhorst
> > > >> [mailto:maarten.lankho...@linux.intel.com]
> > > >> Sent: Monday, April 16, 2018 8:00 PM
> > > >> To: Srinivas, Vidya ;
> > > >> intel-gfx- try...@lists.freedesktop.org
> > > >> Cc: Kamath, Sunil ; Saarinen,
> > > >> Jani 
> > > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > >> adjustments for
> > > >> NV12
> > > >>
> > > >> Hmm, more thought about src adjustments...
> > > >>
> > > >> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> > > >>> We skip src trunction/adjustments for
> > > >>> NV12 case and handle the sizes directly.
> > > >>> Without this, pipe fifo underruns are seen 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Saarinen, Jani
HI, 
> -Original Message-
> From: Srinivas, Vidya
> Sent: tiistai 17. huhtikuuta 2018 13.49
> To: Maarten Lankhorst ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 3:32 PM
> > To: Srinivas, Vidya ; Saarinen, Jani
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> > Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> > >
> > >> -Original Message-
> > >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > >> Sent: Tuesday, April 17, 2018 3:04 PM
> > >> To: Srinivas, Vidya ; Saarinen, Jani
> > >> ; intel-gfx@lists.freedesktop.org
> > >> Cc: Kamath, Sunil 
> > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > >> for
> > >> NV12
> > >>
> > >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
> >  -Original Message-
> >  From: Srinivas, Vidya
> >  Sent: Tuesday, April 17, 2018 1:32 PM
> >  To: 'Maarten Lankhorst' ;
> >  Saarinen, Jani ;
> >  intel-gfx@lists.freedesktop.org
> >  Cc: Kamath, Sunil 
> >  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> >  adjustments for
> >  NV12
> > 
> > 
> > 
> > > -Original Message-
> > > From: Maarten Lankhorst
> > > [mailto:maarten.lankho...@linux.intel.com]
> > > Sent: Tuesday, April 17, 2018 1:21 PM
> > > To: Srinivas, Vidya ; Saarinen, Jani
> > > ; intel-gfx@lists.freedesktop.org
> > > Cc: Kamath, Sunil 
> > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > adjustments for
> > > NV12
> > >
> > > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > >>> -Original Message-
> > >>> From: Maarten Lankhorst
> > >>> [mailto:maarten.lankho...@linux.intel.com]
> > >>> Sent: Tuesday, April 17, 2018 12:55 PM
> > >>> To: Saarinen, Jani ; Srinivas, Vidya
> > >>> ;
> > >>> intel-gfx-try...@lists.freedesktop.org;
> > >>> intel- g...@lists.freedesktop.org
> > >>> Cc: Kamath, Sunil 
> > >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > >>> adjustments for
> > >>> NV12
> > >>>
> > >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> >  Lets move this to intel-gfx to get more eyes on it.
> > 
> > > -Original Message-
> > > From: Srinivas, Vidya
> > > Sent: tiistai 17. huhtikuuta 2018 5.47
> > > To: Maarten Lankhorst ;
> > > intel-gfx- try...@lists.freedesktop.org
> > > Cc: Kamath, Sunil ; Saarinen, Jani
> > > 
> > > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > adjustments for NV12
> > >
> > >
> > >
> > >> -Original Message-
> > >> From: Maarten Lankhorst
> > >> [mailto:maarten.lankho...@linux.intel.com]
> > >> Sent: Monday, April 16, 2018 8:00 PM
> > >> To: Srinivas, Vidya ; intel-gfx-
> > >> try...@lists.freedesktop.org
> > >> Cc: Kamath, Sunil ; Saarinen, Jani
> > >> 
> > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > >> adjustments for
> > >> NV12
> > >>
> > >> Hmm, more thought about src adjustments...
> > >>
> > >> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> > >>> We skip src trunction/adjustments for
> > >>> NV12 case and handle the sizes directly.
> > >>> Without this, pipe fifo underruns are seen on APL/KBL.
> > >>>
> > >>> v2: For NV12, making the src coordinates multiplier of 4
> > >>>
> > >>> Credits-to: Maarten Lankhorst
> > >>> 
> > >>> Signed-off-by: Vidya Srinivas 
> > >>> ---
> > >>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> > >>> drivers/gpu/drm/i915/intel_sprite.c  | 15
> +++
> > >>>  2 files changed, 26 insertions(+)
> > >>>
> > >>> diff --git 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 3:32 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> >
> >> -Original Message-
> >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Tuesday, April 17, 2018 3:04 PM
> >> To: Srinivas, Vidya ; Saarinen, Jani
> >> ; intel-gfx@lists.freedesktop.org
> >> Cc: Kamath, Sunil 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for
> >> NV12
> >>
> >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
>  -Original Message-
>  From: Srinivas, Vidya
>  Sent: Tuesday, April 17, 2018 1:32 PM
>  To: 'Maarten Lankhorst' ;
>  Saarinen, Jani ;
>  intel-gfx@lists.freedesktop.org
>  Cc: Kamath, Sunil 
>  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
>  for
>  NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 1:21 PM
> > To: Srinivas, Vidya ; Saarinen, Jani
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > for
> > NV12
> >
> > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> >>> -Original Message-
> >>> From: Maarten Lankhorst
> >>> [mailto:maarten.lankho...@linux.intel.com]
> >>> Sent: Tuesday, April 17, 2018 12:55 PM
> >>> To: Saarinen, Jani ; Srinivas, Vidya
> >>> ;
> >>> intel-gfx-try...@lists.freedesktop.org;
> >>> intel- g...@lists.freedesktop.org
> >>> Cc: Kamath, Sunil 
> >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >>> adjustments for
> >>> NV12
> >>>
> >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
>  Lets move this to intel-gfx to get more eyes on it.
> 
> > -Original Message-
> > From: Srinivas, Vidya
> > Sent: tiistai 17. huhtikuuta 2018 5.47
> > To: Maarten Lankhorst ;
> > intel-gfx- try...@lists.freedesktop.org
> > Cc: Kamath, Sunil ; Saarinen, Jani
> > 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > adjustments for NV12
> >
> >
> >
> >> -Original Message-
> >> From: Maarten Lankhorst
> >> [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Monday, April 16, 2018 8:00 PM
> >> To: Srinivas, Vidya ; intel-gfx-
> >> try...@lists.freedesktop.org
> >> Cc: Kamath, Sunil ; Saarinen, Jani
> >> 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >> adjustments for
> >> NV12
> >>
> >> Hmm, more thought about src adjustments...
> >>
> >> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> >>> We skip src trunction/adjustments for
> >>> NV12 case and handle the sizes directly.
> >>> Without this, pipe fifo underruns are seen on APL/KBL.
> >>>
> >>> v2: For NV12, making the src coordinates multiplier of 4
> >>>
> >>> Credits-to: Maarten Lankhorst
> >>> 
> >>> Signed-off-by: Vidya Srinivas 
> >>> ---
> >>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> >>> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >>>  2 files changed, 26 insertions(+)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_display.c
> >>> b/drivers/gpu/drm/i915/intel_display.c
> >>> index bc83f10..f64708f 100644
> >>> --- a/drivers/gpu/drm/i915/intel_display.c
> >>> +++ b/drivers/gpu/drm/i915/intel_display.c
> >>> @@ -12978,6 +12978,10 @@
> intel_check_primary_plane(struct
> >> intel_plane *plane,
> >>>   bool can_position = false;
> >>>   int ret;
> >>>   uint32_t pixel_format = 0;
> >>> + struct drm_plane_state *plane_state = >base;
> >>> + struct drm_rect *src = _state->src;
> >>> +
> >>> + *src = 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 3:32 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
> >
> >> -Original Message-
> >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Tuesday, April 17, 2018 3:04 PM
> >> To: Srinivas, Vidya ; Saarinen, Jani
> >> ; intel-gfx@lists.freedesktop.org
> >> Cc: Kamath, Sunil 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for
> >> NV12
> >>
> >> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
>  -Original Message-
>  From: Srinivas, Vidya
>  Sent: Tuesday, April 17, 2018 1:32 PM
>  To: 'Maarten Lankhorst' ;
>  Saarinen, Jani ;
>  intel-gfx@lists.freedesktop.org
>  Cc: Kamath, Sunil 
>  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
>  for
>  NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 1:21 PM
> > To: Srinivas, Vidya ; Saarinen, Jani
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > for
> > NV12
> >
> > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> >>> -Original Message-
> >>> From: Maarten Lankhorst
> >>> [mailto:maarten.lankho...@linux.intel.com]
> >>> Sent: Tuesday, April 17, 2018 12:55 PM
> >>> To: Saarinen, Jani ; Srinivas, Vidya
> >>> ;
> >>> intel-gfx-try...@lists.freedesktop.org;
> >>> intel- g...@lists.freedesktop.org
> >>> Cc: Kamath, Sunil 
> >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >>> adjustments for
> >>> NV12
> >>>
> >>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
>  Lets move this to intel-gfx to get more eyes on it.
> 
> > -Original Message-
> > From: Srinivas, Vidya
> > Sent: tiistai 17. huhtikuuta 2018 5.47
> > To: Maarten Lankhorst ;
> > intel-gfx- try...@lists.freedesktop.org
> > Cc: Kamath, Sunil ; Saarinen, Jani
> > 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> > adjustments for NV12
> >
> >
> >
> >> -Original Message-
> >> From: Maarten Lankhorst
> >> [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Monday, April 16, 2018 8:00 PM
> >> To: Srinivas, Vidya ; intel-gfx-
> >> try...@lists.freedesktop.org
> >> Cc: Kamath, Sunil ; Saarinen, Jani
> >> 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> >> adjustments for
> >> NV12
> >>
> >> Hmm, more thought about src adjustments...
> >>
> >> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> >>> We skip src trunction/adjustments for
> >>> NV12 case and handle the sizes directly.
> >>> Without this, pipe fifo underruns are seen on APL/KBL.
> >>>
> >>> v2: For NV12, making the src coordinates multiplier of 4
> >>>
> >>> Credits-to: Maarten Lankhorst
> >>> 
> >>> Signed-off-by: Vidya Srinivas 
> >>> ---
> >>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> >>> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >>>  2 files changed, 26 insertions(+)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_display.c
> >>> b/drivers/gpu/drm/i915/intel_display.c
> >>> index bc83f10..f64708f 100644
> >>> --- a/drivers/gpu/drm/i915/intel_display.c
> >>> +++ b/drivers/gpu/drm/i915/intel_display.c
> >>> @@ -12978,6 +12978,10 @@
> intel_check_primary_plane(struct
> >> intel_plane *plane,
> >>>   bool can_position = false;
> >>>   int ret;
> >>>   uint32_t pixel_format = 0;
> >>> + struct drm_plane_state *plane_state = >base;
> >>> + struct drm_rect *src = _state->src;
> >>> +
> >>> + *src = 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Maarten Lankhorst
Op 17-04-18 om 11:42 schreef Srinivas, Vidya:
>
>> -Original Message-
>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
>> Sent: Tuesday, April 17, 2018 3:04 PM
>> To: Srinivas, Vidya ; Saarinen, Jani
>> ; intel-gfx@lists.freedesktop.org
>> Cc: Kamath, Sunil 
>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
>> NV12
>>
>> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
 -Original Message-
 From: Srinivas, Vidya
 Sent: Tuesday, April 17, 2018 1:32 PM
 To: 'Maarten Lankhorst' ;
 Saarinen, Jani ;
 intel-gfx@lists.freedesktop.org
 Cc: Kamath, Sunil 
 Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
 for
 NV12



> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 1:21 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> for
> NV12
>
> Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
>>> -Original Message-
>>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
>>> Sent: Tuesday, April 17, 2018 12:55 PM
>>> To: Saarinen, Jani ; Srinivas, Vidya
>>> ;
>>> intel-gfx-try...@lists.freedesktop.org;
>>> intel- g...@lists.freedesktop.org
>>> Cc: Kamath, Sunil 
>>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
>>> for
>>> NV12
>>>
>>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
 Lets move this to intel-gfx to get more eyes on it.

> -Original Message-
> From: Srinivas, Vidya
> Sent: tiistai 17. huhtikuuta 2018 5.47
> To: Maarten Lankhorst ;
> intel-gfx- try...@lists.freedesktop.org
> Cc: Kamath, Sunil ; Saarinen, Jani
> 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> adjustments for NV12
>
>
>
>> -Original Message-
>> From: Maarten Lankhorst
>> [mailto:maarten.lankho...@linux.intel.com]
>> Sent: Monday, April 16, 2018 8:00 PM
>> To: Srinivas, Vidya ; intel-gfx-
>> try...@lists.freedesktop.org
>> Cc: Kamath, Sunil ; Saarinen, Jani
>> 
>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
>> adjustments for
>> NV12
>>
>> Hmm, more thought about src adjustments...
>>
>> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
>>> We skip src trunction/adjustments for
>>> NV12 case and handle the sizes directly.
>>> Without this, pipe fifo underruns are seen on APL/KBL.
>>>
>>> v2: For NV12, making the src coordinates multiplier of 4
>>>
>>> Credits-to: Maarten Lankhorst
>>> 
>>> Signed-off-by: Vidya Srinivas 
>>> ---
>>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
>>> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
>>>  2 files changed, 26 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_display.c
>>> b/drivers/gpu/drm/i915/intel_display.c
>>> index bc83f10..f64708f 100644
>>> --- a/drivers/gpu/drm/i915/intel_display.c
>>> +++ b/drivers/gpu/drm/i915/intel_display.c
>>> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
>> intel_plane *plane,
>>> bool can_position = false;
>>> int ret;
>>> uint32_t pixel_format = 0;
>>> +   struct drm_plane_state *plane_state = >base;
>>> +   struct drm_rect *src = _state->src;
>>> +
>>> +   *src = drm_plane_state_src(plane_state);
>>>
>>> if (INTEL_GEN(dev_priv) >= 9) {
>>> /* use scaler when colorkey is not required */ @@ -
> 13001,6
>>> +13005,13 @@ intel_check_primary_plane(struct intel_plane
> *plane,
>>> if (!state->base.fb)
>>> return 0;
>>>
>>> +   if (pixel_format == DRM_FORMAT_NV12) {
>>> +   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
>>> +   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
>>> +   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
>>> 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 3:04 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
> >
> >> -Original Message-
> >> From: Srinivas, Vidya
> >> Sent: Tuesday, April 17, 2018 1:32 PM
> >> To: 'Maarten Lankhorst' ;
> >> Saarinen, Jani ;
> >> intel-gfx@lists.freedesktop.org
> >> Cc: Kamath, Sunil 
> >> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for
> >> NV12
> >>
> >>
> >>
> >>> -Original Message-
> >>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >>> Sent: Tuesday, April 17, 2018 1:21 PM
> >>> To: Srinivas, Vidya ; Saarinen, Jani
> >>> ; intel-gfx@lists.freedesktop.org
> >>> Cc: Kamath, Sunil 
> >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >>> for
> >>> NV12
> >>>
> >>> Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 12:55 PM
> > To: Saarinen, Jani ; Srinivas, Vidya
> > ;
> > intel-gfx-try...@lists.freedesktop.org;
> > intel- g...@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > for
> > NV12
> >
> > Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> >> Lets move this to intel-gfx to get more eyes on it.
> >>
> >>> -Original Message-
> >>> From: Srinivas, Vidya
> >>> Sent: tiistai 17. huhtikuuta 2018 5.47
> >>> To: Maarten Lankhorst ;
> >>> intel-gfx- try...@lists.freedesktop.org
> >>> Cc: Kamath, Sunil ; Saarinen, Jani
> >>> 
> >>> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> >>> adjustments for NV12
> >>>
> >>>
> >>>
>  -Original Message-
>  From: Maarten Lankhorst
>  [mailto:maarten.lankho...@linux.intel.com]
>  Sent: Monday, April 16, 2018 8:00 PM
>  To: Srinivas, Vidya ; intel-gfx-
>  try...@lists.freedesktop.org
>  Cc: Kamath, Sunil ; Saarinen, Jani
>  
>  Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
>  adjustments for
>  NV12
> 
>  Hmm, more thought about src adjustments...
> 
>  Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> > We skip src trunction/adjustments for
> > NV12 case and handle the sizes directly.
> > Without this, pipe fifo underruns are seen on APL/KBL.
> >
> > v2: For NV12, making the src coordinates multiplier of 4
> >
> > Credits-to: Maarten Lankhorst
> > 
> > Signed-off-by: Vidya Srinivas 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 11 +++
> > drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >  2 files changed, 26 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > b/drivers/gpu/drm/i915/intel_display.c
> > index bc83f10..f64708f 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
>  intel_plane *plane,
> > bool can_position = false;
> > int ret;
> > uint32_t pixel_format = 0;
> > +   struct drm_plane_state *plane_state = >base;
> > +   struct drm_rect *src = _state->src;
> > +
> > +   *src = drm_plane_state_src(plane_state);
> >
> > if (INTEL_GEN(dev_priv) >= 9) {
> > /* use scaler when colorkey is not required */ @@ -
> >>> 13001,6
> > +13005,13 @@ intel_check_primary_plane(struct intel_plane
> >>> *plane,
> > if (!state->base.fb)
> > return 0;
> >
> > +   if (pixel_format == DRM_FORMAT_NV12) {
> > +   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> > +   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> > +   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> > +   src->y2 = (((src->y2 >> 16)/4)*4) << 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Maarten Lankhorst
Op 17-04-18 om 10:09 schreef Srinivas, Vidya:
>
>> -Original Message-
>> From: Srinivas, Vidya
>> Sent: Tuesday, April 17, 2018 1:32 PM
>> To: 'Maarten Lankhorst' ; Saarinen,
>> Jani ; intel-gfx@lists.freedesktop.org
>> Cc: Kamath, Sunil 
>> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
>> NV12
>>
>>
>>
>>> -Original Message-
>>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
>>> Sent: Tuesday, April 17, 2018 1:21 PM
>>> To: Srinivas, Vidya ; Saarinen, Jani
>>> ; intel-gfx@lists.freedesktop.org
>>> Cc: Kamath, Sunil 
>>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
>>> NV12
>>>
>>> Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 12:55 PM
> To: Saarinen, Jani ; Srinivas, Vidya
> ; intel-gfx-try...@lists.freedesktop.org;
> intel- g...@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> for
> NV12
>
> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
>> Lets move this to intel-gfx to get more eyes on it.
>>
>>> -Original Message-
>>> From: Srinivas, Vidya
>>> Sent: tiistai 17. huhtikuuta 2018 5.47
>>> To: Maarten Lankhorst ;
>>> intel-gfx- try...@lists.freedesktop.org
>>> Cc: Kamath, Sunil ; Saarinen, Jani
>>> 
>>> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
>>> adjustments for NV12
>>>
>>>
>>>
 -Original Message-
 From: Maarten Lankhorst
 [mailto:maarten.lankho...@linux.intel.com]
 Sent: Monday, April 16, 2018 8:00 PM
 To: Srinivas, Vidya ; intel-gfx-
 try...@lists.freedesktop.org
 Cc: Kamath, Sunil ; Saarinen, Jani
 
 Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
 adjustments for
 NV12

 Hmm, more thought about src adjustments...

 Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> We skip src trunction/adjustments for
> NV12 case and handle the sizes directly.
> Without this, pipe fifo underruns are seen on APL/KBL.
>
> v2: For NV12, making the src coordinates multiplier of 4
>
> Credits-to: Maarten Lankhorst
> 
> Signed-off-by: Vidya Srinivas 
> ---
>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
>  2 files changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> index bc83f10..f64708f 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
 intel_plane *plane,
>   bool can_position = false;
>   int ret;
>   uint32_t pixel_format = 0;
> + struct drm_plane_state *plane_state = >base;
> + struct drm_rect *src = _state->src;
> +
> + *src = drm_plane_state_src(plane_state);
>
>   if (INTEL_GEN(dev_priv) >= 9) {
>   /* use scaler when colorkey is not required */ @@ -
>>> 13001,6
> +13005,13 @@ intel_check_primary_plane(struct intel_plane
>>> *plane,
>   if (!state->base.fb)
>   return 0;
>
> + if (pixel_format == DRM_FORMAT_NV12) {
> + src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> + src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> + src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> + src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> + }
 Lets reject non multiple of 4 coordinates for plane_state's
 src_x and src_y, and before adjustment also reject non multiple
 of 4 src_w/src_h.fter that we can also reject clipping to the
 right/bottom edge of the screen, if the pipe_src_w/h is not a
 multiple of 4. That way an application trying to go beyond the
>> screen.
>>> kms_plane_scaling and some other tests during execution generate
>>> lots of non mult of 4 buffer width/height. All these tests will
>>> show fail in the IGT BAT.
>>> In some cases, even 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Kahola, Mika
> Sent: Tuesday, April 17, 2018 2:49 PM
> To: Srinivas, Vidya <vidya.srini...@intel.com>; intel-
> g...@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src
> adjustments for NV12
> 
> On Fri, 2018-04-13 at 17:44 +0530, Vidya Srinivas wrote:
> > We skip src trunction/adjustments for
> > NV12 case and handle the sizes directly.
> > Without this, pipe fifo underruns are seen on APL/KBL.
> >
> > v2: For NV12, making the src coordinates multiplier of 4
> >
> > Credits-to: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
> > Signed-off-by: Vidya Srinivas <vidya.srini...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 11 +++
> >  drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >  2 files changed, 26 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > b/drivers/gpu/drm/i915/intel_display.c
> > index bc83f10..f64708f 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> intel_plane
> > *plane,
> >     bool can_position = false;
> >     int ret;
> >     uint32_t pixel_format = 0;
> > +   struct drm_plane_state *plane_state = >base;
> > +   struct drm_rect *src = _state->src;
> This seems unnecessary. We could use the line below to get the src's.
Sure thank you, am moving all the handling code to skl_check_nv12_aux_surface 
as suggested
By Maarten. So this wont be necessary.

Regards
Vidya
> 
> > +
> > +   *src = drm_plane_state_src(plane_state);
> >
> >     if (INTEL_GEN(dev_priv) >= 9) {
> >     /* use scaler when colorkey is not required */ @@ -13001,6
> > +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
> >     if (!state->base.fb)
> >     return 0;
> >
> > +   if (pixel_format == DRM_FORMAT_NV12) {
> > +   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> > +   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> > +   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> > +   src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> > +   }
> > +
> >     if (INTEL_GEN(dev_priv) >= 9) {
> >     ret = skl_check_plane_surface(crtc_state, state);
> >     if (ret)
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 8b7947d..c1dd85e 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1035,11 +1035,20 @@ intel_check_sprite_plane(struct intel_plane
> > *plane,
> >     return vscale;
> >     }
> >
> > +   if (fb->format->format == DRM_FORMAT_NV12) {
> > +   if (src->x2 >> 16 == 16)
> > +   src->x2 = 16 << 16;
> > +   if (src->y2 >> 16 == 16)
> > +   src->y2 = 16 << 16;
> > +   goto nv12_min_no_clip;
> > +   }
> > +
> >     /* Make the source viewport size an exact multiple of the
> scaling
> > factors. */
> >     drm_rect_adjust_size(src,
> >      drm_rect_width(dst) * hscale -
> drm_rect_width(src),
> >      drm_rect_height(dst) * vscale -
> drm_rect_height(src));
> >
> > +nv12_min_no_clip:
> >     drm_rect_rotate_inv(src, fb->width << 16, fb->height << 16,
> >     state->base.rotation);
> >
> > @@ -1105,6 +1114,12 @@ intel_check_sprite_plane(struct intel_plane
> > *plane,
> >     src->x2 = (src_x + src_w) << 16;
> >     src->y1 = src_y << 16;
> >     src->y2 = (src_y + src_h) << 16;
> > +   if (fb->format->format == DRM_FORMAT_NV12) {
> > +   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> > +   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> > +   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> > +   src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> > +   }
> >     }
> >
> >     dst->x1 = crtc_x;
> --
> Mika Kahola - Intel OTC

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Mika Kahola
On Fri, 2018-04-13 at 17:44 +0530, Vidya Srinivas wrote:
> We skip src trunction/adjustments for
> NV12 case and handle the sizes directly.
> Without this, pipe fifo underruns are seen on APL/KBL.
> 
> v2: For NV12, making the src coordinates multiplier of 4
> 
> Credits-to: Maarten Lankhorst 
> Signed-off-by: Vidya Srinivas 
> ---
>  drivers/gpu/drm/i915/intel_display.c | 11 +++
>  drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
>  2 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> index bc83f10..f64708f 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct intel_plane
> *plane,
>   bool can_position = false;
>   int ret;
>   uint32_t pixel_format = 0;
> + struct drm_plane_state *plane_state = >base;
> + struct drm_rect *src = _state->src;
This seems unnecessary. We could use the line below to get the src's.

> +
> + *src = drm_plane_state_src(plane_state);
>  
>   if (INTEL_GEN(dev_priv) >= 9) {
>   /* use scaler when colorkey is not required */
> @@ -13001,6 +13005,13 @@ intel_check_primary_plane(struct intel_plane
> *plane,
>   if (!state->base.fb)
>   return 0;
>  
> + if (pixel_format == DRM_FORMAT_NV12) {
> + src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> + src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> + src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> + src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> + }
> +
>   if (INTEL_GEN(dev_priv) >= 9) {
>   ret = skl_check_plane_surface(crtc_state, state);
>   if (ret)
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> b/drivers/gpu/drm/i915/intel_sprite.c
> index 8b7947d..c1dd85e 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -1035,11 +1035,20 @@ intel_check_sprite_plane(struct intel_plane
> *plane,
>   return vscale;
>   }
>  
> + if (fb->format->format == DRM_FORMAT_NV12) {
> + if (src->x2 >> 16 == 16)
> + src->x2 = 16 << 16;
> + if (src->y2 >> 16 == 16)
> + src->y2 = 16 << 16;
> + goto nv12_min_no_clip;
> + }
> +
>   /* Make the source viewport size an exact multiple
> of the scaling factors. */
>   drm_rect_adjust_size(src,
>    drm_rect_width(dst) * hscale -
> drm_rect_width(src),
>    drm_rect_height(dst) * vscale -
> drm_rect_height(src));
>  
> +nv12_min_no_clip:
>   drm_rect_rotate_inv(src, fb->width << 16, fb->height 
> << 16,
>   state->base.rotation);
>  
> @@ -1105,6 +1114,12 @@ intel_check_sprite_plane(struct intel_plane
> *plane,
>   src->x2 = (src_x + src_w) << 16;
>   src->y1 = src_y << 16;
>   src->y2 = (src_y + src_h) << 16;
> + if (fb->format->format == DRM_FORMAT_NV12) {
> + src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> + src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> + src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> + src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> + }
>   }
>  
>   dst->x1 = crtc_x;
-- 
Mika Kahola - Intel OTC

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Srinivas, Vidya
> Sent: Tuesday, April 17, 2018 1:32 PM
> To: 'Maarten Lankhorst' ; Saarinen,
> Jani ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Tuesday, April 17, 2018 1:21 PM
> > To: Srinivas, Vidya ; Saarinen, Jani
> > ; intel-gfx@lists.freedesktop.org
> > Cc: Kamath, Sunil 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> > Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> > >
> > >> -Original Message-
> > >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > >> Sent: Tuesday, April 17, 2018 12:55 PM
> > >> To: Saarinen, Jani ; Srinivas, Vidya
> > >> ; intel-gfx-try...@lists.freedesktop.org;
> > >> intel- g...@lists.freedesktop.org
> > >> Cc: Kamath, Sunil 
> > >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > >> for
> > >> NV12
> > >>
> > >> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> > >>> Lets move this to intel-gfx to get more eyes on it.
> > >>>
> >  -Original Message-
> >  From: Srinivas, Vidya
> >  Sent: tiistai 17. huhtikuuta 2018 5.47
> >  To: Maarten Lankhorst ;
> >  intel-gfx- try...@lists.freedesktop.org
> >  Cc: Kamath, Sunil ; Saarinen, Jani
> >  
> >  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src
> >  adjustments for NV12
> > 
> > 
> > 
> > > -Original Message-
> > > From: Maarten Lankhorst
> > > [mailto:maarten.lankho...@linux.intel.com]
> > > Sent: Monday, April 16, 2018 8:00 PM
> > > To: Srinivas, Vidya ; intel-gfx-
> > > try...@lists.freedesktop.org
> > > Cc: Kamath, Sunil ; Saarinen, Jani
> > > 
> > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src
> > > adjustments for
> > > NV12
> > >
> > > Hmm, more thought about src adjustments...
> > >
> > > Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> > >> We skip src trunction/adjustments for
> > >> NV12 case and handle the sizes directly.
> > >> Without this, pipe fifo underruns are seen on APL/KBL.
> > >>
> > >> v2: For NV12, making the src coordinates multiplier of 4
> > >>
> > >> Credits-to: Maarten Lankhorst
> > >> 
> > >> Signed-off-by: Vidya Srinivas 
> > >> ---
> > >>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> > >> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> > >>  2 files changed, 26 insertions(+)
> > >>
> > >> diff --git a/drivers/gpu/drm/i915/intel_display.c
> > >> b/drivers/gpu/drm/i915/intel_display.c
> > >> index bc83f10..f64708f 100644
> > >> --- a/drivers/gpu/drm/i915/intel_display.c
> > >> +++ b/drivers/gpu/drm/i915/intel_display.c
> > >> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> > > intel_plane *plane,
> > >>  bool can_position = false;
> > >>  int ret;
> > >>  uint32_t pixel_format = 0;
> > >> +struct drm_plane_state *plane_state = >base;
> > >> +struct drm_rect *src = _state->src;
> > >> +
> > >> +*src = drm_plane_state_src(plane_state);
> > >>
> > >>  if (INTEL_GEN(dev_priv) >= 9) {
> > >>  /* use scaler when colorkey is not required */ @@ -
> > 13001,6
> > >> +13005,13 @@ intel_check_primary_plane(struct intel_plane
> > *plane,
> > >>  if (!state->base.fb)
> > >>  return 0;
> > >>
> > >> +if (pixel_format == DRM_FORMAT_NV12) {
> > >> +src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> > >> +src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> > >> +src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> > >> +src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> > >> +}
> > > Lets reject non multiple of 4 coordinates for plane_state's
> > > src_x and src_y, and before adjustment also reject non multiple
> > > of 4 src_w/src_h.fter that we can also reject clipping to the
> > > right/bottom edge of the screen, if the pipe_src_w/h is not a
> > > multiple of 4. That way an application trying to go beyond the
> screen.
> >  kms_plane_scaling and some other tests during execution generate
> >  lots of non mult of 4 buffer width/height. All these tests will
> >  show fail in the IGT BAT.
> >  

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 1:21 PM
> To: Srinivas, Vidya ; Saarinen, Jani
> ; intel-gfx@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
> >
> >> -Original Message-
> >> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >> Sent: Tuesday, April 17, 2018 12:55 PM
> >> To: Saarinen, Jani ; Srinivas, Vidya
> >> ; intel-gfx-try...@lists.freedesktop.org;
> >> intel- g...@lists.freedesktop.org
> >> Cc: Kamath, Sunil 
> >> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for
> >> NV12
> >>
> >> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> >>> Lets move this to intel-gfx to get more eyes on it.
> >>>
>  -Original Message-
>  From: Srinivas, Vidya
>  Sent: tiistai 17. huhtikuuta 2018 5.47
>  To: Maarten Lankhorst ;
>  intel-gfx- try...@lists.freedesktop.org
>  Cc: Kamath, Sunil ; Saarinen, Jani
>  
>  Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
>  for NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Monday, April 16, 2018 8:00 PM
> > To: Srinivas, Vidya ; intel-gfx-
> > try...@lists.freedesktop.org
> > Cc: Kamath, Sunil ; Saarinen, Jani
> > 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> > for
> > NV12
> >
> > Hmm, more thought about src adjustments...
> >
> > Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> >> We skip src trunction/adjustments for
> >> NV12 case and handle the sizes directly.
> >> Without this, pipe fifo underruns are seen on APL/KBL.
> >>
> >> v2: For NV12, making the src coordinates multiplier of 4
> >>
> >> Credits-to: Maarten Lankhorst 
> >> Signed-off-by: Vidya Srinivas 
> >> ---
> >>  drivers/gpu/drm/i915/intel_display.c | 11 +++
> >> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> >>  2 files changed, 26 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/intel_display.c
> >> b/drivers/gpu/drm/i915/intel_display.c
> >> index bc83f10..f64708f 100644
> >> --- a/drivers/gpu/drm/i915/intel_display.c
> >> +++ b/drivers/gpu/drm/i915/intel_display.c
> >> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> > intel_plane *plane,
> >>bool can_position = false;
> >>int ret;
> >>uint32_t pixel_format = 0;
> >> +  struct drm_plane_state *plane_state = >base;
> >> +  struct drm_rect *src = _state->src;
> >> +
> >> +  *src = drm_plane_state_src(plane_state);
> >>
> >>if (INTEL_GEN(dev_priv) >= 9) {
> >>/* use scaler when colorkey is not required */ @@ -
> 13001,6
> >> +13005,13 @@ intel_check_primary_plane(struct intel_plane
> *plane,
> >>if (!state->base.fb)
> >>return 0;
> >>
> >> +  if (pixel_format == DRM_FORMAT_NV12) {
> >> +  src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> >> +  src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> >> +  src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> >> +  src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> >> +  }
> > Lets reject non multiple of 4 coordinates for plane_state's src_x
> > and src_y, and before adjustment also reject non multiple of 4
> > src_w/src_h.fter that we can also reject clipping to the
> > right/bottom edge of the screen, if the pipe_src_w/h is not a
> > multiple of 4. That way an application trying to go beyond the screen.
>  kms_plane_scaling and some other tests during execution generate
>  lots of non mult of 4 buffer width/height. All these tests will
>  show fail in the IGT BAT.
>  In some cases, even thought the width and height will be multiple
>  of
>  4 before the Adjustment (say our 16x16 buffer), this after
>  adjustment becomes a 15 in intel_check_sprite_plane.
>  This again would cause underrun. If we reject non multiple of 4s in
>  our skl_update_scaler also, then even simple tests with 16x16 like
>  rotation will fail due to it getting adjusted.
> >> Correct. This is why we fix up to a multiple of 4 after adjustments,
> >> and reject user passed coordinates before adjustment..
> >> 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Maarten Lankhorst
Op 17-04-18 om 09:38 schreef Srinivas, Vidya:
>
>> -Original Message-
>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
>> Sent: Tuesday, April 17, 2018 12:55 PM
>> To: Saarinen, Jani ; Srinivas, Vidya
>> ; intel-gfx-try...@lists.freedesktop.org; intel-
>> g...@lists.freedesktop.org
>> Cc: Kamath, Sunil 
>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
>> NV12
>>
>> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
>>> Lets move this to intel-gfx to get more eyes on it.
>>>
 -Original Message-
 From: Srinivas, Vidya
 Sent: tiistai 17. huhtikuuta 2018 5.47
 To: Maarten Lankhorst ; intel-gfx-
 try...@lists.freedesktop.org
 Cc: Kamath, Sunil ; Saarinen, Jani
 
 Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
 for NV12



> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Monday, April 16, 2018 8:00 PM
> To: Srinivas, Vidya ; intel-gfx-
> try...@lists.freedesktop.org
> Cc: Kamath, Sunil ; Saarinen, Jani
> 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> for
> NV12
>
> Hmm, more thought about src adjustments...
>
> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
>> We skip src trunction/adjustments for
>> NV12 case and handle the sizes directly.
>> Without this, pipe fifo underruns are seen on APL/KBL.
>>
>> v2: For NV12, making the src coordinates multiplier of 4
>>
>> Credits-to: Maarten Lankhorst 
>> Signed-off-by: Vidya Srinivas 
>> ---
>>  drivers/gpu/drm/i915/intel_display.c | 11 +++
>> drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
>>  2 files changed, 26 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_display.c
>> b/drivers/gpu/drm/i915/intel_display.c
>> index bc83f10..f64708f 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> intel_plane *plane,
>>  bool can_position = false;
>>  int ret;
>>  uint32_t pixel_format = 0;
>> +struct drm_plane_state *plane_state = >base;
>> +struct drm_rect *src = _state->src;
>> +
>> +*src = drm_plane_state_src(plane_state);
>>
>>  if (INTEL_GEN(dev_priv) >= 9) {
>>  /* use scaler when colorkey is not required */ @@ 
>> -13001,6
>> +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
>>  if (!state->base.fb)
>>  return 0;
>>
>> +if (pixel_format == DRM_FORMAT_NV12) {
>> +src->x1 = (((src->x1 >> 16)/4)*4) << 16;
>> +src->x2 = (((src->x2 >> 16)/4)*4) << 16;
>> +src->y1 = (((src->y1 >> 16)/4)*4) << 16;
>> +src->y2 = (((src->y2 >> 16)/4)*4) << 16;
>> +}
> Lets reject non multiple of 4 coordinates for plane_state's src_x
> and src_y, and before adjustment also reject non multiple of 4
> src_w/src_h.fter that we can also reject clipping to the
> right/bottom edge of the screen, if the pipe_src_w/h is not a
> multiple of 4. That way an application trying to go beyond the screen.
 kms_plane_scaling and some other tests during execution generate lots
 of non mult of 4 buffer width/height. All these tests will show fail
 in the IGT BAT.
 In some cases, even thought the width and height will be multiple of
 4 before the Adjustment (say our 16x16 buffer), this after adjustment
 becomes a 15 in intel_check_sprite_plane.
 This again would cause underrun. If we reject non multiple of 4s in
 our skl_update_scaler also, then even simple tests with 16x16 like
 rotation will fail due to it getting adjusted.
>> Correct. This is why we fix up to a multiple of 4 after adjustments, and 
>> reject
>> user passed coordinates before adjustment.. plane_state->src_x/y/w/h is
>> the property set by the user, while the plane_state->src rect is set and 
>> fixed
>> up in the kernel.
>>
>> Rejecting clipping with positive coordinates if pipe_src w/h is not a 
>> multiple
>> of 4 will fix a border case that shouldn't affect most modes, where the plane
>> wouldn't extend to the crtc borders, which is what userspace wants there.
>>
> Thank you. Oh okay. Sorry. I thought we just reject and not do the fixing 
> (mult of 4 later).
> Sure, I will change the patch to also reject the coordinates before 
> adjustment (if its not
> 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Srinivas, Vidya


> -Original Message-
> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> Sent: Tuesday, April 17, 2018 12:55 PM
> To: Saarinen, Jani ; Srinivas, Vidya
> ; intel-gfx-try...@lists.freedesktop.org; intel-
> g...@lists.freedesktop.org
> Cc: Kamath, Sunil 
> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> NV12
> 
> Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> > Lets move this to intel-gfx to get more eyes on it.
> >
> >> -Original Message-
> >> From: Srinivas, Vidya
> >> Sent: tiistai 17. huhtikuuta 2018 5.47
> >> To: Maarten Lankhorst ; intel-gfx-
> >> try...@lists.freedesktop.org
> >> Cc: Kamath, Sunil ; Saarinen, Jani
> >> 
> >> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >> for NV12
> >>
> >>
> >>
> >>> -Original Message-
> >>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> >>> Sent: Monday, April 16, 2018 8:00 PM
> >>> To: Srinivas, Vidya ; intel-gfx-
> >>> try...@lists.freedesktop.org
> >>> Cc: Kamath, Sunil ; Saarinen, Jani
> >>> 
> >>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments
> >>> for
> >>> NV12
> >>>
> >>> Hmm, more thought about src adjustments...
> >>>
> >>> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
>  We skip src trunction/adjustments for
>  NV12 case and handle the sizes directly.
>  Without this, pipe fifo underruns are seen on APL/KBL.
> 
>  v2: For NV12, making the src coordinates multiplier of 4
> 
>  Credits-to: Maarten Lankhorst 
>  Signed-off-by: Vidya Srinivas 
>  ---
>   drivers/gpu/drm/i915/intel_display.c | 11 +++
>  drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
>   2 files changed, 26 insertions(+)
> 
>  diff --git a/drivers/gpu/drm/i915/intel_display.c
>  b/drivers/gpu/drm/i915/intel_display.c
>  index bc83f10..f64708f 100644
>  --- a/drivers/gpu/drm/i915/intel_display.c
>  +++ b/drivers/gpu/drm/i915/intel_display.c
>  @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> >>> intel_plane *plane,
>   bool can_position = false;
>   int ret;
>   uint32_t pixel_format = 0;
>  +struct drm_plane_state *plane_state = >base;
>  +struct drm_rect *src = _state->src;
>  +
>  +*src = drm_plane_state_src(plane_state);
> 
>   if (INTEL_GEN(dev_priv) >= 9) {
>   /* use scaler when colorkey is not required */ @@ 
>  -13001,6
>  +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
>   if (!state->base.fb)
>   return 0;
> 
>  +if (pixel_format == DRM_FORMAT_NV12) {
>  +src->x1 = (((src->x1 >> 16)/4)*4) << 16;
>  +src->x2 = (((src->x2 >> 16)/4)*4) << 16;
>  +src->y1 = (((src->y1 >> 16)/4)*4) << 16;
>  +src->y2 = (((src->y2 >> 16)/4)*4) << 16;
>  +}
> >>> Lets reject non multiple of 4 coordinates for plane_state's src_x
> >>> and src_y, and before adjustment also reject non multiple of 4
> >>> src_w/src_h.fter that we can also reject clipping to the
> >>> right/bottom edge of the screen, if the pipe_src_w/h is not a
> >>> multiple of 4. That way an application trying to go beyond the screen.
> >> kms_plane_scaling and some other tests during execution generate lots
> >> of non mult of 4 buffer width/height. All these tests will show fail
> >> in the IGT BAT.
> >> In some cases, even thought the width and height will be multiple of
> >> 4 before the Adjustment (say our 16x16 buffer), this after adjustment
> >> becomes a 15 in intel_check_sprite_plane.
> >> This again would cause underrun. If we reject non multiple of 4s in
> >> our skl_update_scaler also, then even simple tests with 16x16 like
> >> rotation will fail due to it getting adjusted.
> 
> Correct. This is why we fix up to a multiple of 4 after adjustments, and 
> reject
> user passed coordinates before adjustment.. plane_state->src_x/y/w/h is
> the property set by the user, while the plane_state->src rect is set and fixed
> up in the kernel.
> 
> Rejecting clipping with positive coordinates if pipe_src w/h is not a multiple
> of 4 will fix a border case that shouldn't affect most modes, where the plane
> wouldn't extend to the crtc borders, which is what userspace wants there.
> 

Thank you. Oh okay. Sorry. I thought we just reject and not do the fixing (mult 
of 4 later).
Sure, I will change the patch to also reject the coordinates before adjustment 
(if its not
Mult of 4). 


___
Intel-gfx 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Maarten Lankhorst
Op 17-04-18 om 08:03 schreef Saarinen, Jani:
> Lets move this to intel-gfx to get more eyes on it. 
>
>> -Original Message-
>> From: Srinivas, Vidya
>> Sent: tiistai 17. huhtikuuta 2018 5.47
>> To: Maarten Lankhorst ; intel-gfx-
>> try...@lists.freedesktop.org
>> Cc: Kamath, Sunil ; Saarinen, Jani
>> 
>> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12
>>
>>
>>
>>> -Original Message-
>>> From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
>>> Sent: Monday, April 16, 2018 8:00 PM
>>> To: Srinivas, Vidya ; intel-gfx-
>>> try...@lists.freedesktop.org
>>> Cc: Kamath, Sunil ; Saarinen, Jani
>>> 
>>> Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
>>> NV12
>>>
>>> Hmm, more thought about src adjustments...
>>>
>>> Op 13-04-18 om 07:22 schreef Vidya Srinivas:
 We skip src trunction/adjustments for
 NV12 case and handle the sizes directly.
 Without this, pipe fifo underruns are seen on APL/KBL.

 v2: For NV12, making the src coordinates multiplier of 4

 Credits-to: Maarten Lankhorst 
 Signed-off-by: Vidya Srinivas 
 ---
  drivers/gpu/drm/i915/intel_display.c | 11 +++
 drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
  2 files changed, 26 insertions(+)

 diff --git a/drivers/gpu/drm/i915/intel_display.c
 b/drivers/gpu/drm/i915/intel_display.c
 index bc83f10..f64708f 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
 @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
>>> intel_plane *plane,
bool can_position = false;
int ret;
uint32_t pixel_format = 0;
 +  struct drm_plane_state *plane_state = >base;
 +  struct drm_rect *src = _state->src;
 +
 +  *src = drm_plane_state_src(plane_state);

if (INTEL_GEN(dev_priv) >= 9) {
/* use scaler when colorkey is not required */ @@ -13001,6
 +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
if (!state->base.fb)
return 0;

 +  if (pixel_format == DRM_FORMAT_NV12) {
 +  src->x1 = (((src->x1 >> 16)/4)*4) << 16;
 +  src->x2 = (((src->x2 >> 16)/4)*4) << 16;
 +  src->y1 = (((src->y1 >> 16)/4)*4) << 16;
 +  src->y2 = (((src->y2 >> 16)/4)*4) << 16;
 +  }
>>> Lets reject non multiple of 4 coordinates for plane_state's src_x and
>>> src_y, and before adjustment also reject non multiple of 4
>>> src_w/src_h.fter that we can also reject clipping to the right/bottom
>>> edge of the screen, if the pipe_src_w/h is not a multiple of 4. That
>>> way an application trying to go beyond the screen.
>> kms_plane_scaling and some other tests during execution generate lots of
>> non mult of 4 buffer width/height. All these tests will show fail in the IGT
>> BAT.
>> In some cases, even thought the width and height will be multiple of 4
>> before the Adjustment (say our 16x16 buffer), this after adjustment
>> becomes a 15 in intel_check_sprite_plane.
>> This again would cause underrun. If we reject non multiple of 4s in our
>> skl_update_scaler also, then even simple tests with 16x16 like rotation will
>> fail due to it getting adjusted.

Correct. This is why we fix up to a multiple of 4 after adjustments, and
reject user passed coordinates before adjustment.. plane_state->src_x/y/w/h
is the property set by the user, while the plane_state->src rect is set and
fixed up in the kernel.

Rejecting clipping with positive coordinates if pipe_src w/h
is not a multiple of 4 will fix a border case that shouldn't affect most modes,
where the plane wouldn't extend to the crtc borders, which is what userspace 
wants there.


___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Saarinen, Jani
+wider-list. 

> -Original Message-
> From: Srinivas, Vidya
> Sent: tiistai 17. huhtikuuta 2018 7.59
> To: 'Maarten Lankhorst' ; 'intel-gfx-
> try...@lists.freedesktop.org' 
> Cc: Kamath, Sunil ; Saarinen, Jani
> 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12
> 
> 
> 
> 
> 
> > -Original Message-
> 
> > From: Srinivas, Vidya
> 
> > Sent: Tuesday, April 17, 2018 8:17 AM
> 
> > To: Maarten Lankhorst ; intel-gfx-
> 
> > try...@lists.freedesktop.org
> 
> > Cc: Kamath, Sunil ; Saarinen, Jani
> 
> > 
> 
> > Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> 
> > NV12
> 
> >
> 
> >
> 
> >
> 
> > > -Original Message-
> 
> > > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com
>  ]
> 
> > > Sent: Monday, April 16, 2018 8:00 PM
> 
> > > To: Srinivas, Vidya   >; intel-gfx-
> 
> > > try...@lists.freedesktop.org 
> 
> > > Cc: Kamath, Sunil   >; Saarinen, Jani
> 
> > >  >
> 
> > > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> 
> > > NV12
> 
> > >
> 
> > > Hmm, more thought about src adjustments...
> 
> > >
> 
> > > Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> 
> > > > We skip src trunction/adjustments for
> 
> > > > NV12 case and handle the sizes directly.
> 
> > > > Without this, pipe fifo underruns are seen on APL/KBL.
> 
> > > >
> 
> > > > v2: For NV12, making the src coordinates multiplier of 4
> 
> > > >
> 
> > > > Credits-to: Maarten Lankhorst   >
> 
> > > > Signed-off-by: Vidya Srinivas   >
> 
> > > > ---
> 
> > > >  drivers/gpu/drm/i915/intel_display.c | 11 +++
> 
> > > > drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> 
> > > >  2 files changed, 26 insertions(+)
> 
> > > >
> 
> > > > diff --git a/drivers/gpu/drm/i915/intel_display.c
> 
> > > > b/drivers/gpu/drm/i915/intel_display.c
> 
> > > > index bc83f10..f64708f 100644
> 
> > > > --- a/drivers/gpu/drm/i915/intel_display.c
> 
> > > > +++ b/drivers/gpu/drm/i915/intel_display.c
> 
> > > > @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> 
> > > intel_plane *plane,
> 
> > > >  bool can_position = false;
> 
> > > >  int ret;
> 
> > > >  uint32_t pixel_format = 0;
> 
> > > > +  struct drm_plane_state *plane_state = >base;
> 
> > > > +  struct drm_rect *src = _state->src;
> 
> > > > +
> 
> > > > +  *src = drm_plane_state_src(plane_state);
> 
> > > >
> 
> > > >  if (INTEL_GEN(dev_priv) >= 9) {
> 
> > > >  /* use scaler when colorkey is not required */ @@ 
> > > > -13001,6
> 
> > > > +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
> 
> > > >  if (!state->base.fb)
> 
> > > >  return 0;
> 
> > > >
> 
> > > > +  if (pixel_format == DRM_FORMAT_NV12) {
> 
> > > > +  src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> 
> > > > +  src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> 
> > > > +  src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> 
> > > > +  src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> 
> > > > +  }
> 
> > >
> 
> > > Lets reject non multiple of 4 coordinates for plane_state's src_x and
> 
> > > src_y, and before adjustment also reject non multiple of 4
> 
> > > src_w/src_h.fter that we can also reject clipping to the right/bottom
> 
> > > edge of the screen, if the pipe_src_w/h is not a multiple of 4. That
> 
> > > way an application trying to go beyond the screen.
> 
> >
> 
> > kms_plane_scaling and some other tests during execution generate lots of
> 
> > non mult of 4 buffer width/height. All these tests will show fail in the IGT
> 
> > BAT.
> 
> > In some cases, even thought the width and height will be multiple of 4
> 
> > before the Adjustment (say our 16x16 buffer), this after adjustment
> 
> > becomes a 15 in intel_check_sprite_plane.
> 
> > This again would cause underrun. If we reject non multiple of 4s in our
> 
> > skl_update_scaler also, then even simple tests with 16x16 like rotation will
> 
> > fail due to it getting adjusted.
> 
> 
> 
> Example:
> 
> During kms_plane_scaling-with-rotation execution - print cooridinates here:
> src->x1, src->x2, src->y1, src->y2
> 
> 
> 
> [   43.542044] [drm:intel_check_sprite_plane] *ERROR* Before adjust: 1040:
> 0 16 0 16
> 
> [   43.542054] [drm:intel_check_sprite_plane] *ERROR* After adjust: 1054: 0
> 15 0 15
> 
> [   43.542058] [drm:intel_check_sprite_plane] 

Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-17 Thread Saarinen, Jani
Lets move this to intel-gfx to get more eyes on it. 

> -Original Message-
> From: Srinivas, Vidya
> Sent: tiistai 17. huhtikuuta 2018 5.47
> To: Maarten Lankhorst ; intel-gfx-
> try...@lists.freedesktop.org
> Cc: Kamath, Sunil ; Saarinen, Jani
> 
> Subject: RE: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12
> 
> 
> 
> > -Original Message-
> > From: Maarten Lankhorst [mailto:maarten.lankho...@linux.intel.com]
> > Sent: Monday, April 16, 2018 8:00 PM
> > To: Srinivas, Vidya ; intel-gfx-
> > try...@lists.freedesktop.org
> > Cc: Kamath, Sunil ; Saarinen, Jani
> > 
> > Subject: Re: [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for
> > NV12
> >
> > Hmm, more thought about src adjustments...
> >
> > Op 13-04-18 om 07:22 schreef Vidya Srinivas:
> > > We skip src trunction/adjustments for
> > > NV12 case and handle the sizes directly.
> > > Without this, pipe fifo underruns are seen on APL/KBL.
> > >
> > > v2: For NV12, making the src coordinates multiplier of 4
> > >
> > > Credits-to: Maarten Lankhorst 
> > > Signed-off-by: Vidya Srinivas 
> > > ---
> > >  drivers/gpu/drm/i915/intel_display.c | 11 +++
> > > drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
> > >  2 files changed, 26 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > > b/drivers/gpu/drm/i915/intel_display.c
> > > index bc83f10..f64708f 100644
> > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > @@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct
> > intel_plane *plane,
> > >   bool can_position = false;
> > >   int ret;
> > >   uint32_t pixel_format = 0;
> > > + struct drm_plane_state *plane_state = >base;
> > > + struct drm_rect *src = _state->src;
> > > +
> > > + *src = drm_plane_state_src(plane_state);
> > >
> > >   if (INTEL_GEN(dev_priv) >= 9) {
> > >   /* use scaler when colorkey is not required */ @@ -13001,6
> > > +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
> > >   if (!state->base.fb)
> > >   return 0;
> > >
> > > + if (pixel_format == DRM_FORMAT_NV12) {
> > > + src->x1 = (((src->x1 >> 16)/4)*4) << 16;
> > > + src->x2 = (((src->x2 >> 16)/4)*4) << 16;
> > > + src->y1 = (((src->y1 >> 16)/4)*4) << 16;
> > > + src->y2 = (((src->y2 >> 16)/4)*4) << 16;
> > > + }
> >
> > Lets reject non multiple of 4 coordinates for plane_state's src_x and
> > src_y, and before adjustment also reject non multiple of 4
> > src_w/src_h.fter that we can also reject clipping to the right/bottom
> > edge of the screen, if the pipe_src_w/h is not a multiple of 4. That
> > way an application trying to go beyond the screen.
> 
> kms_plane_scaling and some other tests during execution generate lots of
> non mult of 4 buffer width/height. All these tests will show fail in the IGT
> BAT.
> In some cases, even thought the width and height will be multiple of 4
> before the Adjustment (say our 16x16 buffer), this after adjustment
> becomes a 15 in intel_check_sprite_plane.
> This again would cause underrun. If we reject non multiple of 4s in our
> skl_update_scaler also, then even simple tests with 16x16 like rotation will
> fail due to it getting adjusted.
> 
> >
> > skl_check_plane_surface could do all the fixups and is allowed to
> > return an error code, so we could put all SKL specific NV12 handling in
> there.
> > It doesn't matter that we calculate potentially illegal values, if we
> > never program them and return -EINVAL there. If it turns out we've
> > been too paranoid we could relax the condition.
> >
> > This would mean unified handling for NV12 for primary and sprite. :)
> >
> > >   if (INTEL_GEN(dev_priv) >= 9) {
> > >   ret = skl_check_plane_surface(crtc_state, state);
> > >   if (ret)
> > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> > > b/drivers/gpu/drm/i915/intel_sprite.c
> > > index 8b7947d..c1dd85e 100644
> > > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > > @@ -1035,11 +1035,20 @@ intel_check_sprite_plane(struct intel_plane
> > *plane,
> > >   return vscale;
> > >   }
> > >
> > > + if (fb->format->format == DRM_FORMAT_NV12) {
> > > + if (src->x2 >> 16 == 16)
> > > + src->x2 = 16 << 16;
> > > + if (src->y2 >> 16 == 16)
> > > + src->y2 = 16 << 16;
> > This part doesn't look required, the magic below for the nv12 format
> > is similar.. Just conditionally call adjust_size for format != NV12.
> > :)
> > > + goto nv12_min_no_clip;
> > > + }
> > > +
> > >   /* Make the source viewport size an exact multiple of the
> > 

[Intel-gfx] [PATCH v2 6/6] drm/i915: Do not do fb src adjustments for NV12

2018-04-13 Thread Vidya Srinivas
We skip src trunction/adjustments for
NV12 case and handle the sizes directly.
Without this, pipe fifo underruns are seen on APL/KBL.

v2: For NV12, making the src coordinates multiplier of 4

Credits-to: Maarten Lankhorst 
Signed-off-by: Vidya Srinivas 
---
 drivers/gpu/drm/i915/intel_display.c | 11 +++
 drivers/gpu/drm/i915/intel_sprite.c  | 15 +++
 2 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index bc83f10..f64708f 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12978,6 +12978,10 @@ intel_check_primary_plane(struct intel_plane *plane,
bool can_position = false;
int ret;
uint32_t pixel_format = 0;
+   struct drm_plane_state *plane_state = >base;
+   struct drm_rect *src = _state->src;
+
+   *src = drm_plane_state_src(plane_state);
 
if (INTEL_GEN(dev_priv) >= 9) {
/* use scaler when colorkey is not required */
@@ -13001,6 +13005,13 @@ intel_check_primary_plane(struct intel_plane *plane,
if (!state->base.fb)
return 0;
 
+   if (pixel_format == DRM_FORMAT_NV12) {
+   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
+   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
+   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
+   src->y2 = (((src->y2 >> 16)/4)*4) << 16;
+   }
+
if (INTEL_GEN(dev_priv) >= 9) {
ret = skl_check_plane_surface(crtc_state, state);
if (ret)
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 8b7947d..c1dd85e 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1035,11 +1035,20 @@ intel_check_sprite_plane(struct intel_plane *plane,
return vscale;
}
 
+   if (fb->format->format == DRM_FORMAT_NV12) {
+   if (src->x2 >> 16 == 16)
+   src->x2 = 16 << 16;
+   if (src->y2 >> 16 == 16)
+   src->y2 = 16 << 16;
+   goto nv12_min_no_clip;
+   }
+
/* Make the source viewport size an exact multiple of the 
scaling factors. */
drm_rect_adjust_size(src,
 drm_rect_width(dst) * hscale - 
drm_rect_width(src),
 drm_rect_height(dst) * vscale - 
drm_rect_height(src));
 
+nv12_min_no_clip:
drm_rect_rotate_inv(src, fb->width << 16, fb->height << 16,
state->base.rotation);
 
@@ -1105,6 +1114,12 @@ intel_check_sprite_plane(struct intel_plane *plane,
src->x2 = (src_x + src_w) << 16;
src->y1 = src_y << 16;
src->y2 = (src_y + src_h) << 16;
+   if (fb->format->format == DRM_FORMAT_NV12) {
+   src->x1 = (((src->x1 >> 16)/4)*4) << 16;
+   src->x2 = (((src->x2 >> 16)/4)*4) << 16;
+   src->y1 = (((src->y1 >> 16)/4)*4) << 16;
+   src->y2 = (((src->y2 >> 16)/4)*4) << 16;
+   }
}
 
dst->x1 = crtc_x;
-- 
2.7.4

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx