diff mbox

[1/2] drm/i915: Rotated view does not need a fence

Message ID 1477404024-2864-1-git-send-email-tvrtko.ursulin@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tvrtko Ursulin Oct. 25, 2016, 2 p.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

We do not need to set up a fence for the rotated view.

Display does not need it and no one can access it.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem_gtt.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Chris Wilson Oct. 25, 2016, 2:07 p.m. UTC | #1
On Tue, Oct 25, 2016 at 03:00:23PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> We do not need to set up a fence for the rotated view.
> 
> Display does not need it and no one can access it.

See __i915_vma_set_map_and_fenceable. Stop the bit at source. And
include the above line as a comment.
-Chris
Ville Syrjälä Oct. 25, 2016, 2:12 p.m. UTC | #2
On Tue, Oct 25, 2016 at 03:00:23PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> We do not need to set up a fence for the rotated view.
> 
> Display does not need it and no one can access it.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Broken by 05a20d098db1 ("drm/i915: Move map-and-fenceable tracking to
the VMA") ?

> ---
>  drivers/gpu/drm/i915/i915_gem_gtt.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
> index c241d8143255..c79d7ab75003 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.h
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
> @@ -251,7 +251,8 @@ static inline bool i915_vma_is_ggtt(const struct i915_vma *vma)
>  
>  static inline bool i915_vma_is_map_and_fenceable(const struct i915_vma *vma)
>  {
> -	return vma->flags & I915_VMA_CAN_FENCE;
> +	return vma->flags & I915_VMA_CAN_FENCE &&
> +	       vma->ggtt_view.type != I915_GGTT_VIEW_ROTATED;
>  }
>  
>  static inline bool i915_vma_is_closed(const struct i915_vma *vma)
> -- 
> 2.7.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Chris Wilson Oct. 25, 2016, 2:17 p.m. UTC | #3
On Tue, Oct 25, 2016 at 05:12:22PM +0300, Ville Syrjälä wrote:
> On Tue, Oct 25, 2016 at 03:00:23PM +0100, Tvrtko Ursulin wrote:
> > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > 
> > We do not need to set up a fence for the rotated view.
> > 
> > Display does not need it and no one can access it.
> > 
> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> 
> Broken by 05a20d098db1 ("drm/i915: Move map-and-fenceable tracking to
> the VMA") ?

Have a bug link? :)

There shouldn't be any fail other than reserving a fence, right?
-Chris
Tvrtko Ursulin Oct. 25, 2016, 2:17 p.m. UTC | #4
On 25/10/2016 15:12, Ville Syrjälä wrote:
> On Tue, Oct 25, 2016 at 03:00:23PM +0100, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> We do not need to set up a fence for the rotated view.
>>
>> Display does not need it and no one can access it.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
>
> Broken by 05a20d098db1 ("drm/i915: Move map-and-fenceable tracking to
> the VMA") ?

Wasn't sure if this is considered a breakage. Will add when you made the 
effort to dig out the commit, thanks!

Regards,

Tvrtko

>
>> ---
>>  drivers/gpu/drm/i915/i915_gem_gtt.h | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
>> index c241d8143255..c79d7ab75003 100644
>> --- a/drivers/gpu/drm/i915/i915_gem_gtt.h
>> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
>> @@ -251,7 +251,8 @@ static inline bool i915_vma_is_ggtt(const struct i915_vma *vma)
>>
>>  static inline bool i915_vma_is_map_and_fenceable(const struct i915_vma *vma)
>>  {
>> -	return vma->flags & I915_VMA_CAN_FENCE;
>> +	return vma->flags & I915_VMA_CAN_FENCE &&
>> +	       vma->ggtt_view.type != I915_GGTT_VIEW_ROTATED;
>>  }
>>
>>  static inline bool i915_vma_is_closed(const struct i915_vma *vma)
>> --
>> 2.7.4
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
Ville Syrjälä Oct. 25, 2016, 2:23 p.m. UTC | #5
On Tue, Oct 25, 2016 at 03:17:09PM +0100, Chris Wilson wrote:
> On Tue, Oct 25, 2016 at 05:12:22PM +0300, Ville Syrjälä wrote:
> > On Tue, Oct 25, 2016 at 03:00:23PM +0100, Tvrtko Ursulin wrote:
> > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > 
> > > We do not need to set up a fence for the rotated view.
> > > 
> > > Display does not need it and no one can access it.
> > > 
> > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > 
> > Broken by 05a20d098db1 ("drm/i915: Move map-and-fenceable tracking to
> > the VMA") ?
> 
> Have a bug link? :)
> 
> There shouldn't be any fail other than reserving a fence, right?

I suppose not. But doesn't hurt to toss in a Fixes tag anyway.
Tvrtko Ursulin Oct. 26, 2016, 8:10 a.m. UTC | #6
On 26/10/2016 08:46, Patchwork wrote:
> == Series Details ==
>
> Series: series starting with [v2,1/2] drm/i915: Rotated view does not need a fence (rev3)
> URL   : https://patchwork.freedesktop.org/series/14340/
> State : success
>
> == Summary ==
>
> Series 14340v3 Series without cover letter
> https://patchwork.freedesktop.org/api/1.0/series/14340/revisions/3/mbox/
>
>
> fi-bdw-5557u     total:246  pass:231  dwarn:0   dfail:0   fail:0   skip:15
> fi-bsw-n3050     total:246  pass:204  dwarn:0   dfail:0   fail:0   skip:42
> fi-bxt-t5700     total:246  pass:216  dwarn:0   dfail:0   fail:0   skip:30
> fi-byt-j1900     total:246  pass:215  dwarn:0   dfail:0   fail:0   skip:31
> fi-byt-n2820     total:246  pass:211  dwarn:0   dfail:0   fail:0   skip:35
> fi-hsw-4770      total:246  pass:224  dwarn:0   dfail:0   fail:0   skip:22
> fi-hsw-4770r     total:246  pass:223  dwarn:0   dfail:0   fail:0   skip:23
> fi-ilk-650       total:246  pass:185  dwarn:0   dfail:0   fail:0   skip:61
> fi-ivb-3520m     total:246  pass:220  dwarn:0   dfail:0   fail:0   skip:26
> fi-ivb-3770      total:246  pass:220  dwarn:0   dfail:0   fail:0   skip:26
> fi-skl-6260u     total:246  pass:232  dwarn:0   dfail:0   fail:0   skip:14
> fi-skl-6700hq    total:246  pass:222  dwarn:1   dfail:0   fail:0   skip:23
> fi-skl-6700k     total:246  pass:222  dwarn:1   dfail:0   fail:0   skip:23
> fi-skl-6770hq    total:246  pass:232  dwarn:0   dfail:0   fail:0   skip:14
> fi-snb-2520m     total:246  pass:209  dwarn:0   dfail:0   fail:0   skip:37
> fi-snb-2600      total:246  pass:208  dwarn:0   dfail:0   fail:0   skip:38
>
> f746a2112fbb563743acc132304075706551d123 drm-intel-nightly: 2016y-10m-25d-20h-02m-34s UTC integration manifest
> 8bf8257 drm/i915: Remove two invalid warns
> c81be94 drm/i915: Rotated view does not need a fence

Sweet success. :) Pushed to dinq, thanks for the review!

Regards,

Tvrtko
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index c241d8143255..c79d7ab75003 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -251,7 +251,8 @@  static inline bool i915_vma_is_ggtt(const struct i915_vma *vma)
 
 static inline bool i915_vma_is_map_and_fenceable(const struct i915_vma *vma)
 {
-	return vma->flags & I915_VMA_CAN_FENCE;
+	return vma->flags & I915_VMA_CAN_FENCE &&
+	       vma->ggtt_view.type != I915_GGTT_VIEW_ROTATED;
 }
 
 static inline bool i915_vma_is_closed(const struct i915_vma *vma)