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.

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  | 43 +++++----
 drivers/gpu/drm/i915/display/intel_fb.c       |  1 +
 .../drm/i915/display/skl_universal_plane.c    |  1 +
 drivers/gpu/drm/i915/i915_driver.c            | 88 ++++++++++++++++++-
 drivers/gpu/drm/i915/i915_driver.h            |  2 +
 .../gpu/drm/i915/selftests/mock_gem_device.c  |  4 +-
 drivers/gpu/drm/xe/Makefile                   |  2 +-
 .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  1 -
 drivers/gpu/drm/xe/display/xe_display.c       | 82 ++++++++++++++++-
 drivers/gpu/drm/xe/display/xe_display_rpm.c   | 73 ---------------
 include/drm/intel/display_parent_interface.h  | 44 ++++++++++
 14 files changed, 255 insertions(+), 99 deletions(-)
 delete mode 100644 drivers/gpu/drm/xe/display/xe_display_rpm.c
 create mode 100644 include/drm/intel/display_parent_interface.h

-- 
2.43.0

Reply via email to