On Mon, 2026-03-02 at 20:17 +0200, Jani Nikula wrote:
> Do away with the redundant intel_frontbuffer_get(),
> intel_frontbuffer_put(), and intel_frontbuffer_ref() functions, and
> call
> the parent interface functions directly.

You could have left these as they are with an idea that everything
related intel_frontbuffer goes via interfaces in intel_frontbuffer.h.
Now only these two are via parent interface. Patch is ok and I don't
have strong opinion on this:

Reviewed-by: Jouni Högander <[email protected]>

> 
> Signed-off-by: Jani Nikula <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_fb.c       |  8 +++----
>  .../gpu/drm/i915/display/intel_frontbuffer.c  | 23 +++--------------
> --
>  .../gpu/drm/i915/display/intel_frontbuffer.h  |  5 ----
>  3 files changed, 7 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c
> b/drivers/gpu/drm/i915/display/intel_fb.c
> index 6be07d8a7e81..49c6ca9d94c6 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> @@ -2113,7 +2113,7 @@ static void
> intel_user_framebuffer_destroy(struct drm_framebuffer *fb)
>  
>       intel_fb_bo_framebuffer_fini(intel_fb_bo(fb));
>  
> -     intel_frontbuffer_put(intel_fb->frontbuffer);
> +     intel_parent_frontbuffer_put(display, intel_fb-
> >frontbuffer);
>  
>       kfree(intel_fb->panic);
>       kfree(intel_fb);
> @@ -2221,10 +2221,10 @@ int intel_framebuffer_init(struct
> intel_framebuffer *intel_fb,
>               return -ENOMEM;
>  
>       /*
> -      * intel_frontbuffer_get() must be done before
> +      * intel_parent_frontbuffer_get() must be done before
>        * intel_fb_bo_framebuffer_init() to avoid set_tiling vs.
> addfb race.
>        */
> -     intel_fb->frontbuffer = intel_frontbuffer_get(obj);
> +     intel_fb->frontbuffer =
> intel_parent_frontbuffer_get(display, obj);
>       if (!intel_fb->frontbuffer) {
>               ret = -ENOMEM;
>               goto err_free_panic;
> @@ -2335,7 +2335,7 @@ int intel_framebuffer_init(struct
> intel_framebuffer *intel_fb,
>  err_bo_framebuffer_fini:
>       intel_fb_bo_framebuffer_fini(obj);
>  err_frontbuffer_put:
> -     intel_frontbuffer_put(intel_fb->frontbuffer);
> +     intel_parent_frontbuffer_put(display, intel_fb-
> >frontbuffer);
>  err_free_panic:
>       kfree(intel_fb->panic);
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> index a355dc064528..61ce82f85dad 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> @@ -164,18 +164,13 @@ void __intel_fb_flush(struct intel_frontbuffer
> *front,
>               frontbuffer_flush(display, frontbuffer_bits,
> origin);
>  }
>  
> -static void intel_frontbuffer_ref(struct intel_frontbuffer *front)
> -{
> -     intel_parent_frontbuffer_ref(front->display, front);
> -}
> -
>  static void intel_frontbuffer_flush_work(struct work_struct *work)
>  {
>       struct intel_frontbuffer *front =
>               container_of(work, struct intel_frontbuffer,
> flush_work);
>  
>       intel_frontbuffer_flush(front, ORIGIN_DIRTYFB);
> -     intel_frontbuffer_put(front);
> +     intel_parent_frontbuffer_put(front->display, front);
>  }
>  
>  /**
> @@ -190,9 +185,9 @@ void intel_frontbuffer_queue_flush(struct
> intel_frontbuffer *front)
>       if (!front)
>               return;
>  
> -     intel_frontbuffer_ref(front);
> +     intel_parent_frontbuffer_ref(front->display, front);
>       if (!schedule_work(&front->flush_work))
> -             intel_frontbuffer_put(front);
> +             intel_parent_frontbuffer_put(front->display, front);
>  }
>  
>  void intel_frontbuffer_init(struct intel_frontbuffer *front, struct
> drm_device *drm)
> @@ -207,18 +202,6 @@ void intel_frontbuffer_fini(struct
> intel_frontbuffer *front)
>       drm_WARN_ON(front->display->drm, atomic_read(&front->bits));
>  }
>  
> -struct intel_frontbuffer *intel_frontbuffer_get(struct
> drm_gem_object *obj)
> -{
> -     struct intel_display *display = to_intel_display(obj->dev);
> -
> -     return intel_parent_frontbuffer_get(display, obj);
> -}
> -
> -void intel_frontbuffer_put(struct intel_frontbuffer *front)
> -{
> -     intel_parent_frontbuffer_put(front->display, front);
> -}
> -
>  /**
>   * intel_frontbuffer_track - update frontbuffer tracking
>   * @old: current buffer for the frontbuffer slots
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> index 22677acb4c06..c9a22b6ccfd6 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> @@ -66,11 +66,6 @@ struct intel_frontbuffer {
>  void intel_frontbuffer_flip(struct intel_display *display,
>                           unsigned frontbuffer_bits);
>  
> -void intel_frontbuffer_put(struct intel_frontbuffer *front);
> -
> -struct intel_frontbuffer *
> -intel_frontbuffer_get(struct drm_gem_object *obj);
> -
>  void __intel_fb_invalidate(struct intel_frontbuffer *front,
>                          enum fb_op_origin origin,
>                          unsigned int frontbuffer_bits);

Reply via email to