[Intel-xe] [PATCH 00/18] xe&i915 display integration: add uncore and pcode compat layers
Jani Nikula
jani.nikula at intel.com
Wed May 3 13:09:47 UTC 2023
Add intel_uncore.h and intel_pcode.h compat layers to direct the calls
in i915 display code properly, without needing to change a lot of call
sites in i915 display.
The main trick or hack here is adding a fake uncore member to struct
xe_device, which lets all the call sites use &i915->uncore as before,
which we can use in the glue layers to get at the struct xe_device
pointer.
The fake uncore is intentionally struct fake_uncore in xe, so you can't
really start passing around uncore pointers in display code, only do
&i915->uncore, and it'll be the correct, but different type for each
driver.
IMO the trick and the compat layers are cleaner than what we've had
before, and doesn't force using intel_de_* accessors for non-de
registers in i915 display code.
BR,
Jani.
Jani Nikula (18):
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Rename intel_de.h to xe_de.h
fixup! drm/xe/display: Implement display support
fixup! drm/i915/display: Remaining changes to make xe compile
fixup! drm/xe/display: Implement display support
fixup! drm/i915/display: Add more macros to remove all direct calls to
uncore
fixup! drm/i915/display: Remove all uncore mmio accesses in favor of
intel_de
fixup! drm/i915/display: Remaining changes to make xe compile
fixup! drm/xe: Introduce a new DRM driver for Intel GPUs
fixup! drm/xe/display: Implement display support
fixup! drm/i915/display: Remaining changes to make xe compile
fixup! drm/i915/display: Remaining changes to make xe compile
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Implement display support
fixup! drm/xe/display: Implement display support
drivers/gpu/drm/i915/display/hsw_ips.c | 7 +-
drivers/gpu/drm/i915/display/intel_bios.c | 19 +-
drivers/gpu/drm/i915/display/intel_bw.c | 34 ++--
drivers/gpu/drm/i915/display/intel_cdclk.c | 45 ++---
drivers/gpu/drm/i915/display/intel_de.h | 54 ------
drivers/gpu/drm/i915/display/intel_display.c | 1 +
.../drm/i915/display/intel_display_power.c | 3 +-
.../i915/display/intel_display_power_well.c | 7 +-
drivers/gpu/drm/i915/display/intel_dpio_phy.c | 9 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 9 +-
drivers/gpu/drm/i915/display/skl_watermark.c | 23 +--
.../gpu/drm/xe/compat-i915-headers/i915_drv.h | 1 +
.../drm/xe/compat-i915-headers/intel_pcode.h | 42 +++++
.../drm/xe/compat-i915-headers/intel_uncore.h | 99 +++++++++++
drivers/gpu/drm/xe/display/ext/i915_irq.c | 134 +++++++-------
.../drm/xe/display/ext/intel_clock_gating.c | 1 +
.../drm/xe/display/ext/intel_device_info.c | 1 +
drivers/gpu/drm/xe/display/ext/intel_dram.c | 3 +-
drivers/gpu/drm/xe/display/xe_de.h | 163 ------------------
drivers/gpu/drm/xe/xe_device_types.h | 4 +
drivers/gpu/drm/xe/xe_display.c | 3 +
drivers/gpu/drm/xe/xe_mmio.h | 8 +
22 files changed, 307 insertions(+), 363 deletions(-)
create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
delete mode 100644 drivers/gpu/drm/xe/display/xe_de.h
--
2.39.2
More information about the Intel-xe
mailing list