[Intel-gfx] [PATCH 1/2] drm/i915/display: Move releasing gem object away from fb tracking

Hogander, Jouni jouni.hogander at intel.com
Mon Oct 23 06:10:49 UTC 2023


On Fri, 2023-10-20 at 16:26 +0300, Juha-Pekka Heikkila wrote:
> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

Thank you JP for checking my patches. These are now merged.

BR,

Jouni Högander
> 
> On 12.10.2023 10.21, Jouni Högander wrote:
> > As a preparation for Xe we want to remove all i915_gem_object
> > details away
> > from frontbuffer tacking code. Due to this move releasing gem
> > object
> > reference to i915_gem_object_set_frontbuffer.
> > 
> > Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
> > ---
> >   drivers/gpu/drm/i915/display/intel_frontbuffer.c       | 2 --
> >   drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h | 1 +
> >   2 files changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> > b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> > index ec46716b2f49..2ea37c0414a9 100644
> > --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> > +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> > @@ -265,8 +265,6 @@ static void frontbuffer_release(struct kref
> > *ref)
> >         spin_unlock(&intel_bo_to_i915(obj)-
> > >display.fb_tracking.lock);
> >   
> >         i915_active_fini(&front->write);
> > -
> > -       i915_gem_object_put(obj);
> >         kfree_rcu(front, rcu);
> >   }
> >   
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h
> > b/drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h
> > index e5e870b6f186..9fbf14867a2a 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h
> > @@ -89,6 +89,7 @@ i915_gem_object_set_frontbuffer(struct
> > drm_i915_gem_object *obj,
> >   
> >         if (!front) {
> >                 RCU_INIT_POINTER(obj->frontbuffer, NULL);
> > +               drm_gem_object_put(intel_bo_to_drm_bo(obj));
> >         } else if (rcu_access_pointer(obj->frontbuffer)) {
> >                 cur = rcu_dereference_protected(obj->frontbuffer,
> > true);
> >                 kref_get(&cur->ref);
> 



More information about the Intel-gfx mailing list