]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/frontbuffer: Extract intel_frontbuffer_ref()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 16 Oct 2025 18:54:05 +0000 (21:54 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Nov 2025 15:38:17 +0000 (17:38 +0200)
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ä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251016185408.22735-8-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_frontbuffer.c

index 02b06dfb9fee7126f9380efd5423a6aa1d20eed2..e5f3f0d555a80718d9042d63e04f05c3e6247786 100644 (file)
@@ -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);
 }