Commit bc2e56fa authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251016185408.22735-8-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 3afef438
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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);
}