summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-12-18 20:20:52 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2025-12-19 21:28:48 +0200
commit35ec71285c9311395b14bedc60fa94f6b7e24d2d (patch)
tree840be6e0e33b42ecf589a7fafe6cfb8cf80bf32f /include
parent9236cf0ade32f5b7fa5424c20663fa7ea40f8bcb (diff)
drm/i915/pc8: Add parent interface for PC8 forcewake tricks
We use forcewake to prevent the SoC from actually entering PC8 while performing the PC8 disable sequence. Hide that behind a new parent interface to eliminate the naked forcewake/uncore usage from the display power code. v2: Mark the interface optional and warn if someone calls it when not provided (Jani) Include the header to make sure the extern declaration matches the definition (Jani) v3: Rebase due to shuffling Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251218182052.18756-1-ville.syrjala@linux.intel.com
Diffstat (limited to 'include')
-rw-r--r--include/drm/intel/display_parent_interface.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 55d4df714645..10c50b42844e 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -36,6 +36,11 @@ struct intel_display_panic_interface {
void (*finish)(struct intel_panic *panic);
};
+struct intel_display_pc8_interface {
+ void (*block)(struct drm_device *drm);
+ void (*unblock)(struct drm_device *drm);
+};
+
struct intel_display_rpm_interface {
struct ref_tracker *(*get)(const struct drm_device *drm);
struct ref_tracker *(*get_raw)(const struct drm_device *drm);
@@ -96,6 +101,9 @@ struct intel_display_parent_interface {
/** @panic: Panic interface */
const struct intel_display_panic_interface *panic;
+ /** @pc8: PC8 interface. Optional. */
+ const struct intel_display_pc8_interface *pc8;
+
/** @rpm: Runtime PM functions */
const struct intel_display_rpm_interface *rpm;