Commit 44fde509 authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/xe/display: Use display parent interface for xe runtime pm



Start using display parent interface for xe runtime pm.

v2: keep xe_display_rpm.c

Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Link: https://patch.msgid.link/20251030202836.1815680-7-jouni.hogander@intel.com
parent 98c7fc03
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -252,6 +252,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
	i915-display/intel_display_power.o \
	i915-display/intel_display_power_map.o \
	i915-display/intel_display_power_well.o \
	i915-display/intel_display_rpm.o \
	i915-display/intel_display_trace.o \
	i915-display/intel_display_utils.o \
	i915-display/intel_display_wa.o \
+0 −65
Original line number Diff line number Diff line
@@ -9,71 +9,6 @@
#include "xe_device_types.h"
#include "xe_pm.h"

static struct xe_device *display_to_xe(struct intel_display *display)
{
	return to_xe_device(display->drm);
}

struct ref_tracker *intel_display_rpm_get_raw(struct intel_display *display)
{
	return intel_display_rpm_get(display);
}

void intel_display_rpm_put_raw(struct intel_display *display, struct ref_tracker *wakeref)
{
	intel_display_rpm_put(display, wakeref);
}

struct ref_tracker *intel_display_rpm_get(struct intel_display *display)
{
	return xe_pm_runtime_resume_and_get(display_to_xe(display)) ? INTEL_WAKEREF_DEF : NULL;
}

struct ref_tracker *intel_display_rpm_get_if_in_use(struct intel_display *display)
{
	return xe_pm_runtime_get_if_in_use(display_to_xe(display)) ? INTEL_WAKEREF_DEF : NULL;
}

struct ref_tracker *intel_display_rpm_get_noresume(struct intel_display *display)
{
	xe_pm_runtime_get_noresume(display_to_xe(display));

	return INTEL_WAKEREF_DEF;
}

void intel_display_rpm_put(struct intel_display *display, struct ref_tracker *wakeref)
{
	if (wakeref)
		xe_pm_runtime_put(display_to_xe(display));
}

void intel_display_rpm_put_unchecked(struct intel_display *display)
{
	xe_pm_runtime_put(display_to_xe(display));
}

bool intel_display_rpm_suspended(struct intel_display *display)
{
	struct xe_device *xe = display_to_xe(display);

	return pm_runtime_suspended(xe->drm.dev);
}

void assert_display_rpm_held(struct intel_display *display)
{
	/* FIXME */
}

void intel_display_rpm_assert_block(struct intel_display *display)
{
	/* FIXME */
}

void intel_display_rpm_assert_unblock(struct intel_display *display)
{
	/* FIXME */
}

static struct ref_tracker *xe_display_rpm_get(const struct drm_device *drm)
{
	return xe_pm_runtime_resume_and_get(to_xe_device(drm)) ? INTEL_WAKEREF_DEF : NULL;