From: Ville Syrjälä Date: Thu, 16 Oct 2025 18:54:05 +0000 (+0300) Subject: drm/i915/frontbuffer: Extract intel_frontbuffer_ref() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc2e56fa093c31489dac85f5a6ad460407bb1466;p=thirdparty%2Fkernel%2Flinux.git drm/i915/frontbuffer: Extract intel_frontbuffer_ref() I want to hide the kref from the high level frontbuffer code. To that end abstract the kref_get() in intel_frontbuffer_queue_flush() (which is the only high level function that needs this) as a new intel_frontbuffer_ref(). Signed-off-by: Ville Syrjälä Link: https://patch.msgid.link/20251016185408.22735-8-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula --- diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c index 02b06dfb9fee7..e5f3f0d555a80 100644 --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c @@ -165,6 +165,11 @@ void __intel_fb_flush(struct intel_frontbuffer *front, frontbuffer_flush(display, frontbuffer_bits, origin); } +static void intel_frontbuffer_ref(struct intel_frontbuffer *front) +{ + kref_get(&front->ref); +} + static void intel_frontbuffer_flush_work(struct work_struct *work) { struct intel_frontbuffer *front = @@ -186,7 +191,7 @@ void intel_frontbuffer_queue_flush(struct intel_frontbuffer *front) if (!front) return; - kref_get(&front->ref); + intel_frontbuffer_ref(front); if (!schedule_work(&front->flush_work)) intel_frontbuffer_put(front); }