mbox series

[PULL] drm-intel-next

Message ID 20191021180337.GA24338@jlahtine-desk.ger.corp.intel.com (mailing list archive)
State New, archived
Headers show
Series [PULL] drm-intel-next | expand

Pull-request

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2019-10-21

Message

Joonas Lahtinen Oct. 21, 2019, 6:03 p.m. UTC
Hi Dave & Daniel,

Another feature pull, I'll send the final one next week.

New uAPI for OA features to support VK_INTEL_performance_query,
Mesa changes are at:

https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932

Fixes for black/blue screen issues, Tigerlake enabling,
HDR for DP enabling (including drm-next backmerge). Transcoder
Port Sync for Icelake tiled displays.

This also has base intel_memory_region work that is prep for
local memory.

Regards, Joonas

***

drm-intel-next-2019-10-21:

UAPI Changes:

- Introduce a versioning of the i915-perf uapi (Lionel)
- Add support for perf configuration queries (Lionel)

  Allow listing perf configurations with IOCTL in addition
  to sysfs. This is useful in container usecases.

- Allow dynamic reconfiguration of the OA stream (Chris)

  Allows the OA stream to be reconfigured between
  batch buffers, giving greater flexibility in sampling.

- Allow holding preemption on filtered perf ctx

  Allow CAP_ADMIN to block pre-emption of a context
  to query performance counters without disturbances.

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932

Cross-subsystem Changes:

- drm-next backmerge for HDR DP changes
  https://lists.freedesktop.org/archives/dri-devel/2019-September/236453.html

Driver Changes:

- Add DC3CO sleep state for Tigerlake (Anshuman)
- Tigerlake BCS engine support engine relative MMIO (Daniele)
- Simplify the Tigerlake LRC register list for !RCS (Daniele)
- Read SAGV block time from PCODE on Tigerlake (James)
- Add 12 missing Tigerlake workarounds (Mika)
- Enable DDI/Port G for Tigerlake (Khaled)

- Avoid hang in tsg,vfe units by keeping l3 clocks ICL+(Mika)
- Fix Bugzilla #111966: Favor last VBT child device (Ville)
- Fix blue/black screen on boot due to broken gamma (Swati)
- Add support of BT.2020 Colorimetry to DP MSA (Gwan-gyeong)
- Attach colorspace property to DP connector (Gwan-gyeong)
- Attach HDR metadata property to DP connector (Gwan-gyeong)
- Base intel_memory_region support prep for local memory (Matt A)
- Introduce Jasper Lake PCH (Matt R)
- Support multiple GPUs in PMU (Tvrtko)
- Fix MST oops due to MSA changes (Ville)
- Refuse modes with hdisplay==4096 on pre-HSW DP (Ville)
- Correct the PCH type in irq postinstall for JSP (Vivek)
- Save Master transcoder in slave's crtc_state for Transcoder Port Sync (Manasi)
- Enable TRANSCODER PORT SYNC for tiled displays across separate ports (Manasi)
- HW state readout for transcoder port sync config (Manasi)
- Enable master-slaves in trans port sync (Manasi)
- In port sync mode disable slaves first then master (Manasi)
- Fix port checks for MST support on gen >= 11 (Lucas)

- Flush submission tasklet before waiting/retiring (Chris)
- Flush tasklet submission before sleeping on i915_request_wait (Chris)
- Object pin reference counting fixes (Chris, Matt A)
- Clear semaphore immediately upon ELSP promotion (Chris)
- Child device size remains unchanged through VBT 229 (Matt R)
- Restore dropped 'interruptible' flag on retiring requests (Chris)
- Treat a busy timeline as 'active' while waiting (Chris)
- Clean up struct_mutex from perf (Chris)
- Update locking around execlists->active (Chris)
- Mark up expected execlist state during reset (Chris)
- Remove cursor use of properties for coordinates (Maarten)
- Only mark incomplete requests as -EIO on cancelling (Chris)
- Add an rcu_barrier option to i915_drop_caches (Chris)
- Replace perf global wakeref tracking with engine-pm (Chris)
- Prevent merging requests with conflicting flags (Chris)
- Allow for CS OA configs to be created lazily (Lionel)
- Implement active wait for noa configurations (Lionel)
- Execute OA configuration from command stream (Lionel)
- Prefer using the pinned_ctx for emitting delays on config (Chris)
- Port C's hotplug interrupt is associated with TC1 bits (Vivek, Matt R)
- Extend program of VSC Header and DB for Colorimetry Format (Gwan-gyeong)
- Fine-tune timeslicing of contexts (Chris)
- Do initial mocs configuration directly (Chris)
- Fix uninitialized variable on PMU error path (Tvrtko)
- Don't disable interrupts independently of the locking (Sebastian)
- Eliminate struct_mutext from GVT (Chris)

- Move perf types to their own header (Lionel)
- Drop list of perf streams (always size 1) (Lionel)
- Store the perf associated engine of a stream (Lionel)
- Make array hw_engine_mask static (Colin)
- Prefer shortest path to RPM/perf/GT instead of dev_priv (Chris, Tvrtko)
- Virtual request submission fixes (Chris)
- Selftest/CI improvements (Chris)
- Fix Kconfig indentation (Krzysztof)
- Give engine->kernel_context distinct timeline lock classes (Chris)
- Fix null pointer deref on selftest error path (Colin)
- Select DPLL's via mask (Matt R)
- Introduce and use intel_atomic_crtc_state_for_each_plane_state (Maarten)
- Use intel_plane_state in prepare and cleanup plane_fb (Maarten)
- Remove begin/finish_crtc_commit (Maarten)
- Move SAGV block time to dev_priv (James)
- Avoid polluting the i915_oa_config with error pointers (Chris)
- Squelch display kerneldoc warnings (Chris)
- Assert tasklet is locked for process_csb() (Chris)
- Switch to using DP_MSA_MISC_* defines (Ville)
- Stop using drm_atomic_helper_check_planes() (Ville)
- Make .modeset_calc_cdclk() mandatory (Ville)
- Use drm_rect_translate_to()/drm_rect_init() (Ville)
- Refactor timestamping constants update (Ville)
- Switch intel_legacy_cursor_update() to intel_ types (Ville)
- Prepare the connector/encoder mask readout for hw vs. uapi state split (Ville)
- Prepare the mode readout for hw vs. uapi state split (Ville)
- Move swizzle_bit under i915_ggtt (Chris)
- Improve microcontrollers documentation (Daniele)
- Move the cursor rotation handling into intel_cursor_check_surface() (Ville)
- Cleanups to pipe code (Ville)
- Shrink eDRAM ways/sets arrays for code size (Ville)
- Cleanups to HDCP2 timeout code (Ville)
- Restore full symmetry in i915_driver_modeset_probe/remove (Janusz)
- Simplify setting of ddi_io_power_domain (Lucas)
- Add pipe id/name to pipe mismatch logs (Lucas)
- Prettify MST debug message (Lucas)
- Extract GT ring management to separate files (Andi)

The following changes since commit 7ed093602e0e1b60a0fc074a9692687e7d2b723d:

  Merge tag 'drm-misc-next-2019-10-09-2' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2019-10-11 09:30:53 +1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2019-10-21

for you to fetch changes up to ce53908bba6fa6e905d8fe81da4591d3e7a65878:

  drm/i915: Update DRIVER_DATE to 20191021 (2019-10-21 12:56:07 +0300)

----------------------------------------------------------------
UAPI Changes:

- Introduce a versioning of the i915-perf uapi (Lionel)
- Add support for perf configuration queries (Lionel)

  Allow listing perf configurations with IOCTL in addition
  to sysfs. This is useful in container usecases.

- Allow dynamic reconfiguration of the OA stream (Chris)

  Allows the OA stream to be reconfigured between
  batch buffers, giving greater flexibility in sampling.

- Allow holding preemption on filtered perf ctx

  Allow CAP_ADMIN to block pre-emption of a context
  to query performance counters without disturbances.

  Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932

Cross-subsystem Changes:

- drm-next backmerge for HDR DP changes
  https://lists.freedesktop.org/archives/dri-devel/2019-September/236453.html

Driver Changes:

- Add DC3CO sleep state for Tigerlake (Anshuman)
- Tigerlake BCS engine support engine relative MMIO (Daniele)
- Simplify the Tigerlake LRC register list for !RCS (Daniele)
- Read SAGV block time from PCODE on Tigerlake (James)
- Add 12 missing Tigerlake workarounds (Mika)
- Enable DDI/Port G for Tigerlake (Khaled)

- Avoid hang in tsg,vfe units by keeping l3 clocks ICL+(Mika)
- Fix Bugzilla #111966: Favor last VBT child device (Ville)
- Fix blue/black screen on boot due to broken gamma (Swati)
- Add support of BT.2020 Colorimetry to DP MSA (Gwan-gyeong)
- Attach colorspace property to DP connector (Gwan-gyeong)
- Attach HDR metadata property to DP connector (Gwan-gyeong)
- Base intel_memory_region support prep for local memory (Matt A)
- Introduce Jasper Lake PCH (Matt R)
- Support multiple GPUs in PMU (Tvrtko)
- Fix MST oops due to MSA changes (Ville)
- Refuse modes with hdisplay==4096 on pre-HSW DP (Ville)
- Correct the PCH type in irq postinstall for JSP (Vivek)
- Save Master transcoder in slave's crtc_state for Transcoder Port Sync (Manasi)
- Enable TRANSCODER PORT SYNC for tiled displays across separate ports (Manasi)
- HW state readout for transcoder port sync config (Manasi)
- Enable master-slaves in trans port sync (Manasi)
- In port sync mode disable slaves first then master (Manasi)
- Fix port checks for MST support on gen >= 11 (Lucas)

- Flush submission tasklet before waiting/retiring (Chris)
- Flush tasklet submission before sleeping on i915_request_wait (Chris)
- Object pin reference counting fixes (Chris, Matt A)
- Clear semaphore immediately upon ELSP promotion (Chris)
- Child device size remains unchanged through VBT 229 (Matt R)
- Restore dropped 'interruptible' flag on retiring requests (Chris)
- Treat a busy timeline as 'active' while waiting (Chris)
- Clean up struct_mutex from perf (Chris)
- Update locking around execlists->active (Chris)
- Mark up expected execlist state during reset (Chris)
- Remove cursor use of properties for coordinates (Maarten)
- Only mark incomplete requests as -EIO on cancelling (Chris)
- Add an rcu_barrier option to i915_drop_caches (Chris)
- Replace perf global wakeref tracking with engine-pm (Chris)
- Prevent merging requests with conflicting flags (Chris)
- Allow for CS OA configs to be created lazily (Lionel)
- Implement active wait for noa configurations (Lionel)
- Execute OA configuration from command stream (Lionel)
- Prefer using the pinned_ctx for emitting delays on config (Chris)
- Port C's hotplug interrupt is associated with TC1 bits (Vivek, Matt R)
- Extend program of VSC Header and DB for Colorimetry Format (Gwan-gyeong)
- Fine-tune timeslicing of contexts (Chris)
- Do initial mocs configuration directly (Chris)
- Fix uninitialized variable on PMU error path (Tvrtko)
- Don't disable interrupts independently of the locking (Sebastian)
- Eliminate struct_mutext from GVT (Chris)

- Move perf types to their own header (Lionel)
- Drop list of perf streams (always size 1) (Lionel)
- Store the perf associated engine of a stream (Lionel)
- Make array hw_engine_mask static (Colin)
- Prefer shortest path to RPM/perf/GT instead of dev_priv (Chris, Tvrtko)
- Virtual request submission fixes (Chris)
- Selftest/CI improvements (Chris)
- Fix Kconfig indentation (Krzysztof)
- Give engine->kernel_context distinct timeline lock classes (Chris)
- Fix null pointer deref on selftest error path (Colin)
- Select DPLL's via mask (Matt R)
- Introduce and use intel_atomic_crtc_state_for_each_plane_state (Maarten)
- Use intel_plane_state in prepare and cleanup plane_fb (Maarten)
- Remove begin/finish_crtc_commit (Maarten)
- Move SAGV block time to dev_priv (James)
- Avoid polluting the i915_oa_config with error pointers (Chris)
- Squelch display kerneldoc warnings (Chris)
- Assert tasklet is locked for process_csb() (Chris)
- Switch to using DP_MSA_MISC_* defines (Ville)
- Stop using drm_atomic_helper_check_planes() (Ville)
- Make .modeset_calc_cdclk() mandatory (Ville)
- Use drm_rect_translate_to()/drm_rect_init() (Ville)
- Refactor timestamping constants update (Ville)
- Switch intel_legacy_cursor_update() to intel_ types (Ville)
- Prepare the connector/encoder mask readout for hw vs. uapi state split (Ville)
- Prepare the mode readout for hw vs. uapi state split (Ville)
- Move swizzle_bit under i915_ggtt (Chris)
- Improve microcontrollers documentation (Daniele)
- Move the cursor rotation handling into intel_cursor_check_surface() (Ville)
- Cleanups to pipe code (Ville)
- Shrink eDRAM ways/sets arrays for code size (Ville)
- Cleanups to HDCP2 timeout code (Ville)
- Restore full symmetry in i915_driver_modeset_probe/remove (Janusz)
- Simplify setting of ddi_io_power_domain (Lucas)
- Add pipe id/name to pipe mismatch logs (Lucas)
- Prettify MST debug message (Lucas)
- Extract GT ring management to separate files (Andi)

----------------------------------------------------------------
Abdiel Janulgue (1):
      drm/i915: enumerate and init each supported region

Andi Shyti (1):
      drm/i915: Extract GT ring management

Anshuman Gupta (6):
      drm/i915/tgl: Add DC3CO required register and bits
      drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
      drm/i915/tgl: Enable DC3CO state in "DC Off" power well
      drm/i915/tgl: Do modeset to enable and configure DC3CO exitline
      drm/i915/tgl: Switch between dc3co and dc5 based on display idleness
      drm/i915/tgl: Add DC3CO counter in i915_dmc_info

Chris Wilson (54):
      drm/i915/gt: Restore dropped 'interruptible' flag
      drm/i915/gt: Prefer local path to runtime powermanagement
      drm/i915/execlists: Fix annotation for decoupling virtual request
      drm/i915/selftests: Appease lockdep
      drm/i915/gt: Treat a busy timeline as 'active' while waiting
      drm/i915/perf: Wean ourselves off dev_priv
      drm/i915/perf: Set the exclusive stream under perf->lock
      drm/i915/execlists: Assign virtual_engine->uncore from first sibling
      drm/i915/selftests: Assign the mock_engine->uncore shortcut
      drm/i915/selftests: Assign the intel_runtime_pm pointer for mock_uncore
      drm/i915/gt: Flush submission tasklet before waiting/retiring
      drm/i915/gt: Give engine->kernel_context distinct timeline lock classes
      drm/i915/selftests: Hold request reference over waits
      drm/i915/execlists: Protect peeking at execlists->active
      drm/i915/gt: execlists->active is serialised by the tasklet
      drm/i915/gt: Warn CI about an unrecoverable wedge
      drm/i915/execlists: Mark up expected state during reset
      drm/i915/selftests: Check that registers are preserved between virtual engines
      drm/i915/perf: Store shortcut to intel_uncore
      drm/i915: Note the addition of timeslicing to the pretend scheduler
      drm/i915/execlists: Leave tell-tales as to why pending[] is bad
      drm/i915/execlists: Only mark incomplete requests as -EIO on cancelling
      drm/i915: Add an rcu_barrier option to i915_drop_caches
      drm/i915/selftests: Serialise write to scratch with its vma binding
      drm/i915/perf: Replace global wakeref tracking with engine-pm
      drm/i915/execlists: Prevent merging requests with conflicting flags
      drm/i915: Mark up "sentinel" requests
      drm/i915/perf: Prefer using the pinned_ctx for emitting delays on config
      drm/i915/perf: Avoid polluting the i915_oa_config with error pointers
      drm/i915/selftests: Fixup naked 64b divide
      drm/i915/display: Squelch kerneldoc warnings
      drm/i915/selftests: Check known register values within the context
      drm/i915/selftests: Check that GPR are cleared for new contexts
      drm/i915/execlists: Tweak virtual unsubmission
      drm/i915/execlists: Assert tasklet is locked for process_csb()
      drm/i915/perf: Allow dynamic reconfiguration of the OA stream
      drm/i915: Drop obj.page_pin_count after a failed vma->set_pages()
      drm/i915: Remove leftover vma->obj->pages_pin_count on insert/remove
      drm/i915/execlists: Clear semaphore immediately upon ELSP promotion
      drm/i915: Flush tasklet submission before sleeping on i915_request_wait
      drm/i915/selftests: Drop stale struct_mutex
      drm/i915/execlist: Trim immediate timeslice expiry
      drm/i915/selftests: Teach execlists to take intel_gt as its argument
      drm/i915/selftests: Teach guc to take intel_gt as its argument
      drm/i915/selftests: Teach workarounds to take intel_gt as its argument
      drm/i915/selftests: Teach timelines to take intel_gt as its argument
      drm/i915: Do initial mocs configuration directly
      drm/i915: Store i915_ggtt as the backpointer on fence registers
      drm/i915: Move swizzle_bit under i915_ggtt
      drm/i915/selftests: Teach requests to use all available engines
      drm/i915/execlists: Don't merely skip submission if maybe timeslicing
      drm/i915/selftests: Add the mock engine to the gt->engine[]
      drm/i915/gt: Convert the leftover for_each_engine(gt)
      drm/i915/gvt: Wean off struct_mutex

Colin Ian King (2):
      drm/i915: make array hw_engine_mask static, makes object smaller
      drm/i915/selftests: fix null pointer dereference on pointer data

Daniele Ceraolo Spurio (5):
      drm/i915/tgl: the BCS engine supports relative MMIO
      drm/i915/tgl: simplify the lrc register list for !RCS
      drm/i915: Add microcontrollers documentation section
      drm/i915/guc: improve documentation
      drm/i915/huc: improve documentation

Gwan-gyeong Mun (6):
      drm/i915/dp: Extend program of VSC Header and DB for Colorimetry Format
      drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA
      drm/i915/dp: Attach colorspace property
      drm/i915: Add new GMP register size for GEN11
      drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static Metadata
      drm/i915/dp: Attach HDR metadata property to DP connector

James Ausmus (2):
      drm/i915: Move SAGV block time to dev_priv
      drm/i915/tgl: Read SAGV block time from PCODE

Janusz Krzysztofik (1):
      drm/i915: Restore full symmetry in i915_driver_modeset_probe/remove

Joonas Lahtinen (2):
      Merge drm/drm-next into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20191021

Khaled Almahallawy (1):
      drm/i915/tgl: Enable DDI/Port G

Krzysztof Kozlowski (1):
      drm/i915: Fix Kconfig indentation

Lionel Landwerlin (10):
      drm/i915/perf: move perf types to their own header
      drm/i915/perf: drop list of streams
      drm/i915/perf: store the associated engine of a stream
      drm/i915/perf: allow for CS OA configs to be created lazily
      drm/i915/perf: implement active wait for noa configurations
      drm/i915/perf: execute OA configuration from command stream
      drm/i915/perf: introduce a versioning of the i915-perf uapi
      drm/i915: add support for perf configuration queries
      drm/i915/perf: allow holding preemption on filtered ctx
      drm/i915/perf: fix oa config reconfiguration

Lucas De Marchi (5):
      drm/i915: simplify setting of ddi_io_power_domain
      drm/i915: fix port checks for MST support on gen >= 11
      drm/i915: remove extra new line on pipe_config mismatch
      drm/i915: add pipe id/name to pipe mismatch logs
      drm/i915: prettify MST debug message

Maarten Lankhorst (5):
      drm/i915: Fix for_each_intel_plane_mask definition
      drm/i915: Introduce and use intel_atomic_crtc_state_for_each_plane_state.
      drm/i915: Use intel_plane_state in prepare and cleanup plane_fb
      drm/i915: Remove begin/finish_crtc_commit, v4.
      drm/i915: Remove cursor use of properties for coordinates

Manasi Navare (6):
      drm/i915/display/icl: Save Master transcoder in slave's crtc_state for Transcoder Port Sync
      drm/i915/display/icl: Enable TRANSCODER PORT SYNC for tiled displays across separate ports
      drm/i915/display/icl: HW state readout for transcoder port sync config
      drm/i915/display/icl: Enable master-slaves in trans port sync
      drm/i915/display/icl: Disable transcoder port sync as part of crtc_disable() sequence
      drm/i915/display/icl: In port sync mode disable slaves first then master

Matt Roper (4):
      drm/i915/vbt: Child device size remains unchanged through VBT 229
      drm/i915: Select DPLL's via mask
      drm/i915/ehl: Don't forget to set TC long detect function
      drm/i915: Introduce Jasper Lake PCH

Matthew Auld (5):
      drm/i915: introduce intel_memory_region
      drm/i915/region: support contiguous allocations
      drm/i915/region: support volatile objects
      drm/i915: treat shmem as a region
      drm/i915: treat stolen as a region

Mika Kuoppala (12):
      drm/i915/icl: Wa_1607087056
      drm/i915/tgl: Add IS_TGL_REVID
      drm/i915/tgl: Include ro parts of l3 to invalidate
      drm/i915/tgl: Add HDC Pipeline Flush
      drm/i915/tgl: Add extra hdc flush workaround
      drm/i915/tgl: Keep FF dop clock enabled for A0
      drm/i915/tgl: Wa_1409420604
      drm/i915/tgl: Wa_1409170338
      drm/i915/tgl: Wa_1409600907
      drm/i915/tgl: Wa_1607138336
      drm/i915/tgl: Wa_1607030317, Wa_1607186500, Wa_1607297627
      drm/i915/tgl: Wa_1607138340

Sebastian Andrzej Siewior (1):
      drm/i915: Don't disable interrupts independently of the lock

Swati Sharma (2):
      drm/i915/color: fix broken gamma state-checker during boot
      drm/i915/color: move check of gamma_enable to specific func/platform

Tvrtko Ursulin (4):
      drm/i915/pmu: Support multiple GPUs
      drm/i915: Make for_each_engine_masked work on intel_gt
      drm/i915: Pass in intel_gt at some for_each_engine sites
      drm/i915/pmu: Fix uninitialized variable on error path

Ville Syrjälä (22):
      drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin
      drm/i915: Switch to using DP_MSA_MISC_* defines
      drm/i915: Stop using drm_atomic_helper_check_planes()
      drm/i915: Make .modeset_calc_cdclk() mandatory
      drm/i915: Use drm_rect_translate_to()
      drm/i915: Use drm_rect_init()
      drm/i915: Refactor timestamping constants update
      drm/i915: Switch intel_legacy_cursor_update() to intel_ types
      drm/i915: Prepare the connector/encoder mask readout for hw vs. uapi state split
      drm/i915: Prepare the mode readout for hw vs. uapi state split
      drm/i915: Fix MST oops due to MSA changes
      drm/i915: Move the cursor rotation handling into intel_cursor_check_surface()
      drm/i915: Polish possible_clones setup
      drm/i915: Refuse modes with hdisplay==4096 on pre-HSW DP
      drm/i915: Nuke the useless changed param from skl_ddb_add_affected_pipes()
      drm/i915: Nuke 'realloc_pipes'
      drm/i915: Make dirty_pipes refer to pipes
      drm/i915: Shrink eDRAM ways/sets arrays
      drm/i915: s/hdcp2_hdmi_msg_data/hdcp2_hdmi_msg_timeout/
      drm/i915: Remove dead weight from hdcp2_msg_timeout[]
      drm/i915: Remove hdcp2_hdmi_msg_timeout.timeout2
      drm/i915: Make hdcp2_msg_timeout.timeout u16

Vivek Kasireddy (2):
      drm/i915/ehl: Port C's hotplug interrupt is associated with TC1 bits
      drm/i915: Correct the PCH type in irq postinstall

 Documentation/gpu/i915.rst                         |   48 +-
 drivers/gpu/drm/i915/Kconfig                       |   12 +-
 drivers/gpu/drm/i915/Kconfig.debug                 |  144 +-
 drivers/gpu/drm/i915/Makefile                      |    3 +
 drivers/gpu/drm/i915/display/intel_atomic_plane.c  |   10 +-
 drivers/gpu/drm/i915/display/intel_atomic_plane.h  |    2 +
 drivers/gpu/drm/i915/display/intel_bios.c          |   28 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c         |   31 +-
 drivers/gpu/drm/i915/display/intel_color.c         |   33 +-
 drivers/gpu/drm/i915/display/intel_connector.c     |   21 +-
 drivers/gpu/drm/i915/display/intel_ddi.c           |  178 ++-
 drivers/gpu/drm/i915/display/intel_ddi.h           |    3 +-
 drivers/gpu/drm/i915/display/intel_display.c       | 1023 +++++++++++----
 drivers/gpu/drm/i915/display/intel_display.h       |   17 +-
 drivers/gpu/drm/i915/display/intel_display_power.c |  154 ++-
 drivers/gpu/drm/i915/display/intel_display_power.h |    3 +
 drivers/gpu/drm/i915/display/intel_display_types.h |    7 +
 drivers/gpu/drm/i915/display/intel_dp.c            |  235 +++-
 drivers/gpu/drm/i915/display/intel_dp.h            |    8 +
 drivers/gpu/drm/i915/display/intel_dp_mst.c        |   22 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |   48 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c          |   55 +-
 drivers/gpu/drm/i915/display/intel_psr.c           |  114 +-
 drivers/gpu/drm/i915/display/intel_sprite.c        |    6 +-
 drivers/gpu/drm/i915/display/intel_vbt_defs.h      |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |   13 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.h        |   18 +
 drivers/gpu/drm/i915/gem/i915_gem_context_types.h  |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    3 +
 drivers/gpu/drm/i915/gem/i915_gem_internal.c       |   17 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h         |   23 +-
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h   |   20 +
 drivers/gpu/drm/i915/gem/i915_gem_pages.c          |    6 +
 drivers/gpu/drm/i915/gem/i915_gem_phys.c           |    5 +-
 drivers/gpu/drm/i915/gem/i915_gem_region.c         |  174 +++
 drivers/gpu/drm/i915/gem/i915_gem_region.h         |   29 +
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c          |   79 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c         |   65 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h         |    3 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |    8 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   97 +-
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    2 +-
 drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c |    8 +-
 drivers/gpu/drm/i915/gt/intel_context.c            |    2 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |   17 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |  101 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |    2 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |    1 +
 drivers/gpu/drm/i915/gt/intel_engine_user.c        |   18 +-
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    7 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   11 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   21 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   18 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |    7 +
 drivers/gpu/drm/i915/gt/intel_hangcheck.c          |   10 +-
 drivers/gpu/drm/i915/gt/intel_llc.c                |  161 +++
 drivers/gpu/drm/i915/gt/intel_llc.h                |   15 +
 drivers/gpu/drm/i915/gt/intel_llc_types.h          |   13 +
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  212 +--
 drivers/gpu/drm/i915/gt/intel_mocs.c               |  274 +---
 drivers/gpu/drm/i915/gt/intel_mocs.h               |    3 -
 drivers/gpu/drm/i915/gt/intel_rc6.c                |   12 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   52 +-
 drivers/gpu/drm/i915/gt/intel_ringbuffer.c         |    6 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c        |   38 +-
 drivers/gpu/drm/i915/gt/mock_engine.c              |    6 +
 drivers/gpu/drm/i915/gt/selftest_context.c         |    6 +-
 drivers/gpu/drm/i915/gt/selftest_engine_pm.c       |    2 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    9 +
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c       |   24 +-
 drivers/gpu/drm/i915/gt/selftest_llc.c             |   77 ++
 drivers/gpu/drm/i915/gt/selftest_llc.h             |   14 +
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  912 ++++++++++---
 drivers/gpu/drm/i915/gt/selftest_reset.c           |   10 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c        |   50 +-
 drivers/gpu/drm/i915/gt/selftest_workarounds.c     |  211 +--
 drivers/gpu/drm/i915/gt/uc/intel_guc.c             |   31 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c         |    3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |   12 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c             |   37 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c          |   15 -
 drivers/gpu/drm/i915/gt/uc/intel_uc.c              |    2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h       |    3 -
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c          |   42 +-
 drivers/gpu/drm/i915/gvt/aperture_gm.c             |    2 +-
 drivers/gpu/drm/i915/gvt/execlist.c                |    4 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   18 +-
 drivers/gpu/drm/i915/i915_active.c                 |    4 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   50 +-
 drivers/gpu/drm/i915/i915_drv.c                    |   12 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  401 +-----
 drivers/gpu/drm/i915/i915_gem.c                    |   20 +-
 drivers/gpu/drm/i915/i915_gem.h                    |   36 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c          |   89 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.h          |    7 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c                |   65 +-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |    5 +
 drivers/gpu/drm/i915/i915_getparam.c               |    4 +
 drivers/gpu/drm/i915/i915_irq.c                    |   48 +-
 drivers/gpu/drm/i915/i915_params.c                 |    3 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   29 +-
 drivers/gpu/drm/i915/i915_perf.c                   | 1374 +++++++++++++-------
 drivers/gpu/drm/i915/i915_perf.h                   |   27 +
 drivers/gpu/drm/i915/i915_perf_types.h             |  406 ++++++
 drivers/gpu/drm/i915/i915_pmu.c                    |   37 +-
 drivers/gpu/drm/i915/i915_pmu.h                    |    4 +
 drivers/gpu/drm/i915/i915_query.c                  |  296 +++++
 drivers/gpu/drm/i915/i915_reg.h                    |   38 +-
 drivers/gpu/drm/i915/i915_request.c                |   15 +-
 drivers/gpu/drm/i915/i915_request.h                |   10 +-
 drivers/gpu/drm/i915/i915_scheduler.c              |   17 +-
 drivers/gpu/drm/i915/i915_scheduler.h              |   18 -
 drivers/gpu/drm/i915/i915_scheduler_types.h        |    9 +
 drivers/gpu/drm/i915/i915_vma.c                    |   10 +-
 drivers/gpu/drm/i915/intel_device_info.h           |    2 +
 drivers/gpu/drm/i915/intel_memory_region.c         |  213 +++
 drivers/gpu/drm/i915/intel_memory_region.h         |  120 ++
 drivers/gpu/drm/i915/intel_pch.c                   |    6 +-
 drivers/gpu/drm/i915/intel_pch.h                   |    5 +-
 drivers/gpu/drm/i915/intel_pm.c                    |  371 ++----
 drivers/gpu/drm/i915/selftests/i915_gem.c          |    2 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |    5 +-
 .../gpu/drm/i915/selftests/i915_live_selftests.h   |    1 +
 .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    1 +
 drivers/gpu/drm/i915/selftests/i915_perf.c         |  216 +++
 drivers/gpu/drm/i915/selftests/i915_request.c      |  287 ++--
 drivers/gpu/drm/i915/selftests/igt_reset.c         |    4 +-
 .../gpu/drm/i915/selftests/intel_memory_region.c   |  282 ++++
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   12 +-
 drivers/gpu/drm/i915/selftests/mock_region.c       |   59 +
 drivers/gpu/drm/i915/selftests/mock_region.h       |   16 +
 drivers/gpu/drm/i915/selftests/mock_uncore.c       |    5 +-
 drivers/gpu/drm/i915/selftests/mock_uncore.h       |    3 +-
 include/uapi/drm/i915_drm.h                        |  107 +-
 134 files changed, 7242 insertions(+), 2779 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.c
 create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_llc.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_llc.h
 create mode 100644 drivers/gpu/drm/i915/gt/intel_llc_types.h
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_llc.c
 create mode 100644 drivers/gpu/drm/i915/gt/selftest_llc.h
 create mode 100644 drivers/gpu/drm/i915/i915_perf_types.h
 create mode 100644 drivers/gpu/drm/i915/intel_memory_region.c
 create mode 100644 drivers/gpu/drm/i915/intel_memory_region.h
 create mode 100644 drivers/gpu/drm/i915/selftests/i915_perf.c
 create mode 100644 drivers/gpu/drm/i915/selftests/intel_memory_region.c
 create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.c
 create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.h