[Intel-xe] [PATCH 00/18] xe&i915 display integration: add uncore and pcode compat layers
Rodrigo Vivi
rodrigo.vivi at intel.com
Wed May 3 19:41:58 UTC 2023
On Wed, May 03, 2023 at 10:02:28AM -0400, Rodrigo Vivi wrote:
> On Wed, May 03, 2023 at 04:09:47PM +0300, Jani Nikula wrote:
> > 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.
>
> Nice clean-up.
>
> Couple comments:
>
> 1. I believe the fake uncore you created is better than convert entire xe
> to match i915 uncore.
>
> 2. Does the fixup! as revert works well on autosquash? if so this is really
> neat... I was manually removing the revert and reverted patches on the
> clean-up rebases...
No, this doesn't play nicely with autosquash.
it is better to just use regular revert, then manually removing both patches
on the rebase clean-up...
result of some local experiments here:
You asked to amend the most recent commit, but doing so would make
it empty. You can repeat your command with --allow-empty, or you can
remove the commit entirely with "git reset HEAD^".
interactive rebase in progress; onto 78054149ebf8
Last commands done (14 commands done):
pick 4358c97316a9 drm/i915/display: Add more macros to remove all direct calls to uncore
fixup 98a5b4a593bc fixup! drm/i915/display: Add more macros to remove all direct calls to uncore
(see more in file .git/rebase-merge/done)
Next commands to do (348 remaining commands):
pick 5388ce02065b drm/i915/display: Remove all uncore mmio accesses in favor of intel_de
fixup 6d8f5663eaaf fixup! drm/i915/display: Remove all uncore mmio accesses in favor of intel_de
(use "git rebase --edit-todo" to view and edit)
You are currently rebasing branch 'drm-xe-next' on '78054149ebf8'.
(all conflicts fixed: run "git rebase --continue")
Untracked files:
(use "git add <file>..." to include in what will be committed)
drivers/gpu/drm/xe/
No changes
Could not apply 98a5b4a593bc... fixup! drm/i915/display: Add more macros to remove all direct calls to uncore
---
Then if I allow empty I have some bogus commits to get removed on a next round.
if I --skip then the offending code doesn't get removed.
>
> >
> > 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