dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
@ 2021-04-29  8:35 Tvrtko Ursulin
  2021-04-29  8:35 ` [PATCH 2/2] drm/i915/selftests: " Tvrtko Ursulin
  2021-04-29 16:31 ` [PATCH 1/2] drm/i915/overlay: " Ville Syrjälä
  0 siblings, 2 replies; 7+ messages in thread
From: Tvrtko Ursulin @ 2021-04-29  8:35 UTC (permalink / raw)
  To: Intel-gfx; +Cc: Chris Wilson, Matthew Auld, dri-devel, Tvrtko Ursulin

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

__i915_active_call annotation is required on the retire callback to ensure
correct function alignment.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
index fffbde4256db..428819ba18dd 100644
--- a/drivers/gpu/drm/i915/display/intel_overlay.c
+++ b/drivers/gpu/drm/i915/display/intel_overlay.c
@@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
 		i830_overlay_clock_gating(dev_priv, true);
 }
 
-static void
+__i915_active_call static void
 intel_overlay_last_flip_retire(struct i915_active *active)
 {
 	struct intel_overlay *overlay =
-- 
2.30.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] drm/i915/selftests: Fix active retire callback alignment
  2021-04-29  8:35 [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment Tvrtko Ursulin
@ 2021-04-29  8:35 ` Tvrtko Ursulin
  2021-04-29 16:31 ` [PATCH 1/2] drm/i915/overlay: " Ville Syrjälä
  1 sibling, 0 replies; 7+ messages in thread
From: Tvrtko Ursulin @ 2021-04-29  8:35 UTC (permalink / raw)
  To: Intel-gfx; +Cc: dri-devel, Tvrtko Ursulin

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

__i915_active_call annotation is required on the retire callback to ensure
correct function alignment.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c | 2 +-
 drivers/gpu/drm/i915/selftests/i915_active.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
index b2c369317bf1..fcde223e26ff 100644
--- a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
@@ -63,7 +63,7 @@ static void pulse_put(struct pulse *p)
 	kref_put(&p->kref, pulse_free);
 }
 
-static void pulse_retire(struct i915_active *active)
+__i915_active_call static void pulse_retire(struct i915_active *active)
 {
 	pulse_put(container_of(active, struct pulse, active));
 }
diff --git a/drivers/gpu/drm/i915/selftests/i915_active.c b/drivers/gpu/drm/i915/selftests/i915_active.c
index 4002c984c2e0..1aa52b5cc488 100644
--- a/drivers/gpu/drm/i915/selftests/i915_active.c
+++ b/drivers/gpu/drm/i915/selftests/i915_active.c
@@ -51,7 +51,7 @@ static int __live_active(struct i915_active *base)
 	return 0;
 }
 
-static void __live_retire(struct i915_active *base)
+__i915_active_call static void __live_retire(struct i915_active *base)
 {
 	struct live_active *active = container_of(base, typeof(*active), base);
 
-- 
2.30.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
  2021-04-29  8:35 [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment Tvrtko Ursulin
  2021-04-29  8:35 ` [PATCH 2/2] drm/i915/selftests: " Tvrtko Ursulin
@ 2021-04-29 16:31 ` Ville Syrjälä
  2021-04-29 17:31   ` [Intel-gfx] " Ville Syrjälä
  2021-04-29 17:34   ` Tvrtko Ursulin
  1 sibling, 2 replies; 7+ messages in thread
From: Ville Syrjälä @ 2021-04-29 16:31 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: Intel-gfx, Tvrtko Ursulin, Matthew Auld, dri-devel, Chris Wilson

On Thu, Apr 29, 2021 at 09:35:29AM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> __i915_active_call annotation is required on the retire callback to ensure
> correct function alignment.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
> index fffbde4256db..428819ba18dd 100644
> --- a/drivers/gpu/drm/i915/display/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
> @@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
>  		i830_overlay_clock_gating(dev_priv, true);
>  }
>  
> -static void
> +__i915_active_call static void

Am I blind or are we just packing flag bits into a pointer, passing
that to a function, and then immediately unpack the bits again in
said function? Why not just pass the flags explicitly?

Looks like you missed auto_retire()?

>  intel_overlay_last_flip_retire(struct i915_active *active)
>  {
>  	struct intel_overlay *overlay =
> -- 
> 2.30.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
  2021-04-29 16:31 ` [PATCH 1/2] drm/i915/overlay: " Ville Syrjälä
@ 2021-04-29 17:31   ` Ville Syrjälä
  2021-04-30 11:14     ` Tvrtko Ursulin
  2021-04-29 17:34   ` Tvrtko Ursulin
  1 sibling, 1 reply; 7+ messages in thread
From: Ville Syrjälä @ 2021-04-29 17:31 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Intel-gfx, Matthew Auld, dri-devel, Chris Wilson

On Thu, Apr 29, 2021 at 07:31:43PM +0300, Ville Syrjälä wrote:
> On Thu, Apr 29, 2021 at 09:35:29AM +0100, Tvrtko Ursulin wrote:
> > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > 
> > __i915_active_call annotation is required on the retire callback to ensure
> > correct function alignment.
> > 
> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Matthew Auld <matthew.auld@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
> > index fffbde4256db..428819ba18dd 100644
> > --- a/drivers/gpu/drm/i915/display/intel_overlay.c
> > +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
> > @@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
> >  		i830_overlay_clock_gating(dev_priv, true);
> >  }
> >  
> > -static void
> > +__i915_active_call static void
> 
> Am I blind or are we just packing flag bits into a pointer, passing
> that to a function, and then immediately unpack the bits again in
> said function? Why not just pass the flags explicitly?
> 
> Looks like you missed auto_retire()?

Ah, just saw the other patch from Stéphane.

For the series:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> 
> >  intel_overlay_last_flip_retire(struct i915_active *active)
> >  {
> >  	struct intel_overlay *overlay =
> > -- 
> > 2.30.2
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Ville Syrjälä
> Intel
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
  2021-04-29 16:31 ` [PATCH 1/2] drm/i915/overlay: " Ville Syrjälä
  2021-04-29 17:31   ` [Intel-gfx] " Ville Syrjälä
@ 2021-04-29 17:34   ` Tvrtko Ursulin
  2021-04-30 11:52     ` Daniel Vetter
  1 sibling, 1 reply; 7+ messages in thread
From: Tvrtko Ursulin @ 2021-04-29 17:34 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Intel-gfx, Tvrtko Ursulin, Matthew Auld, dri-devel, Chris Wilson


On 29/04/2021 17:31, Ville Syrjälä wrote:
> On Thu, Apr 29, 2021 at 09:35:29AM +0100, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> __i915_active_call annotation is required on the retire callback to ensure
>> correct function alignment.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Matthew Auld <matthew.auld@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
>> index fffbde4256db..428819ba18dd 100644
>> --- a/drivers/gpu/drm/i915/display/intel_overlay.c
>> +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
>> @@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
>>   		i830_overlay_clock_gating(dev_priv, true);
>>   }
>>   
>> -static void
>> +__i915_active_call static void
> 
> Am I blind or are we just packing flag bits into a pointer, passing
> that to a function, and then immediately unpack the bits again in
> said function? Why not just pass the flags explicitly?
> 
> Looks like you missed auto_retire()?

Yeah, both points already either fixed or under consideration: 
https://patchwork.freedesktop.org/patch/431473/?series=89623&rev=1

I left the splitting up vfunc vs flags for later.

Regards,

Tvrtko

>>   intel_overlay_last_flip_retire(struct i915_active *active)
>>   {
>>   	struct intel_overlay *overlay =
>> -- 
>> 2.30.2
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
  2021-04-29 17:31   ` [Intel-gfx] " Ville Syrjälä
@ 2021-04-30 11:14     ` Tvrtko Ursulin
  0 siblings, 0 replies; 7+ messages in thread
From: Tvrtko Ursulin @ 2021-04-30 11:14 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Intel-gfx, Matthew Auld, dri-devel, Chris Wilson


On 29/04/2021 18:31, Ville Syrjälä wrote:
> On Thu, Apr 29, 2021 at 07:31:43PM +0300, Ville Syrjälä wrote:
>> On Thu, Apr 29, 2021 at 09:35:29AM +0100, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>> __i915_active_call annotation is required on the retire callback to ensure
>>> correct function alignment.
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
>>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Matthew Auld <matthew.auld@intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
>>> index fffbde4256db..428819ba18dd 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_overlay.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
>>> @@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
>>>   		i830_overlay_clock_gating(dev_priv, true);
>>>   }
>>>   
>>> -static void
>>> +__i915_active_call static void
>>
>> Am I blind or are we just packing flag bits into a pointer, passing
>> that to a function, and then immediately unpack the bits again in
>> said function? Why not just pass the flags explicitly?
>>
>> Looks like you missed auto_retire()?
> 
> Ah, just saw the other patch from Stéphane.
> 
> For the series:
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Thanks Ville, pushed.

Regards,

Tvrtko
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment
  2021-04-29 17:34   ` Tvrtko Ursulin
@ 2021-04-30 11:52     ` Daniel Vetter
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2021-04-30 11:52 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: Tvrtko Ursulin, Intel-gfx, dri-devel, Chris Wilson, Matthew Auld

On Thu, Apr 29, 2021 at 06:34:51PM +0100, Tvrtko Ursulin wrote:
> 
> On 29/04/2021 17:31, Ville Syrjälä wrote:
> > On Thu, Apr 29, 2021 at 09:35:29AM +0100, Tvrtko Ursulin wrote:
> > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > 
> > > __i915_active_call annotation is required on the retire callback to ensure
> > > correct function alignment.
> > > 
> > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > Fixes: a21ce8ad12d2 ("drm/i915/overlay: Switch to using i915_active tracking")
> > > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: Matthew Auld <matthew.auld@intel.com>
> > > ---
> > >   drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
> > > index fffbde4256db..428819ba18dd 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_overlay.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
> > > @@ -383,7 +383,7 @@ static void intel_overlay_off_tail(struct intel_overlay *overlay)
> > >   		i830_overlay_clock_gating(dev_priv, true);
> > >   }
> > > -static void
> > > +__i915_active_call static void
> > 
> > Am I blind or are we just packing flag bits into a pointer, passing
> > that to a function, and then immediately unpack the bits again in
> > said function? Why not just pass the flags explicitly?
> > 
> > Looks like you missed auto_retire()?
> 
> Yeah, both points already either fixed or under consideration:
> https://patchwork.freedesktop.org/patch/431473/?series=89623&rev=1
> 
> I left the splitting up vfunc vs flags for later.

Yeah pls remove this pointer packing asap.

This is yet another case of pointless complications and fragility in the
code base for not reason at all, and it needs to go.

I'll file a jira and assign to Matt Auld, since he reviewed this
originally. I'll ping you in case you want to take it over.

Thanks, Daniel

> 
> Regards,
> 
> Tvrtko
> 
> > >   intel_overlay_last_flip_retire(struct i915_active *active)
> > >   {
> > >   	struct intel_overlay *overlay =
> > > -- 
> > > 2.30.2
> > > 
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-04-30 11:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-29  8:35 [PATCH 1/2] drm/i915/overlay: Fix active retire callback alignment Tvrtko Ursulin
2021-04-29  8:35 ` [PATCH 2/2] drm/i915/selftests: " Tvrtko Ursulin
2021-04-29 16:31 ` [PATCH 1/2] drm/i915/overlay: " Ville Syrjälä
2021-04-29 17:31   ` [Intel-gfx] " Ville Syrjälä
2021-04-30 11:14     ` Tvrtko Ursulin
2021-04-29 17:34   ` Tvrtko Ursulin
2021-04-30 11:52     ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).