Skip to content

Commit 1914d68

Browse files
committed
drm/{i915, xe}/display: Add display runtime pm parent interface
We have differing implementations for display runtime pm in i915 and xe drivers. Add struct of function pointers into display_parent_interface which will contain used implementation of runtime pm. v2: - add _interface suffix to rpm function pointer struct - add struct ref_tracker forward declaration - use kernel-doc comments 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-3-jouni.hogander@intel.com
1 parent b3c8fa0 commit 1914d68

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

include/drm/intel/display_parent_interface.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@
77
#include <linux/types.h>
88

99
struct drm_device;
10+
struct ref_tracker;
11+
12+
struct intel_display_rpm_interface {
13+
struct ref_tracker *(*get)(const struct drm_device *drm);
14+
struct ref_tracker *(*get_raw)(const struct drm_device *drm);
15+
struct ref_tracker *(*get_if_in_use)(const struct drm_device *drm);
16+
struct ref_tracker *(*get_noresume)(const struct drm_device *drm);
17+
18+
void (*put)(const struct drm_device *drm, struct ref_tracker *wakeref);
19+
void (*put_raw)(const struct drm_device *drm, struct ref_tracker *wakeref);
20+
void (*put_unchecked)(const struct drm_device *drm);
21+
22+
bool (*suspended)(const struct drm_device *drm);
23+
void (*assert_held)(const struct drm_device *drm);
24+
void (*assert_block)(const struct drm_device *drm);
25+
void (*assert_unblock)(const struct drm_device *drm);
26+
};
1027

1128
/**
1229
* struct intel_display_parent_interface - services parent driver provides to display
@@ -21,6 +38,8 @@ struct drm_device;
2138
* check the optional pointers.
2239
*/
2340
struct intel_display_parent_interface {
41+
/** @rpm: Runtime PM functions */
42+
const struct intel_display_rpm_interface *rpm;
2443
};
2544

2645
#endif

0 commit comments

Comments
 (0)