Add struct intel_display_parent_interface which is supposed to contain
function pointers passed at display probe. This is supposed to allow
differing implementations between i915 and xe drivers.

Add runtime pm as an example and first set of functions using this new
mechanism. Pass own implementations of runtime from i915 and xe
drivers during probe.

v2:
  - unrelated include removal dropped
  - add _interface suffix to rpm function pointer struct
  - add struct ref_tracker forward declaration
  - use kernel-doc comments as needed
  - move i915 display rpm interface implementation to intel_runtime_pm.c
  - rename intel_display as i915_display
  - move xe_display_rpm_interface code into xe_display_rpm.c
  - rename xe_rpm as xe_display_rpm
  - use <> when including drm/intel/display_parent_interface.h
  - drop checks for validity of rpm function pointers
  - keep xe_display_rpm.c

Jani Nikula (1):
  drm/{i915,xe}/display: pass parent interface to display probe

Jouni Högander (5):
  drm/{i915,xe}/display: Add display runtime pm parent interface
  drm/i915/display: Runtime pm wrappers for display parent interface
  drm/xe/display: Runtime pm wrappers for display parent interface
  drm/i915/display: Use display parent interface for i915 runtime pm
  drm/xe/display: Use display parent interface for xe runtime pm

 .../gpu/drm/i915/display/intel_display_core.h |  4 +
 .../drm/i915/display/intel_display_device.c   |  5 +-
 .../drm/i915/display/intel_display_device.h   |  4 +-
 .../gpu/drm/i915/display/intel_display_rpm.c  | 32 ++++----
 drivers/gpu/drm/i915/display/intel_fb.c       |  1 +
 .../drm/i915/display/skl_universal_plane.c    |  1 +
 drivers/gpu/drm/i915/i915_driver.c            | 12 ++-
 drivers/gpu/drm/i915/i915_driver.h            |  2 +
 drivers/gpu/drm/i915/intel_runtime_pm.c       | 77 +++++++++++++++++++
 drivers/gpu/drm/i915/intel_runtime_pm.h       |  3 +
 .../gpu/drm/i915/selftests/mock_gem_device.c  |  4 +-
 drivers/gpu/drm/xe/Makefile                   |  1 +
 drivers/gpu/drm/xe/display/xe_display.c       |  9 ++-
 drivers/gpu/drm/xe/display/xe_display_rpm.c   | 63 ++++++++-------
 drivers/gpu/drm/xe/display/xe_display_rpm.h   | 11 +++
 include/drm/intel/display_parent_interface.h  | 45 +++++++++++
 16 files changed, 224 insertions(+), 50 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/display/xe_display_rpm.h
 create mode 100644 include/drm/intel/display_parent_interface.h

-- 
2.43.0

Reply via email to