mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
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: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Link: https://patch.msgid.link/20251030202836.1815680-7-jouni.hogander@intel.com
This commit is contained in:
@@ -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 \
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user