mbox series

[PULL] drm-intel-next

Message ID 20200430124904.GA100924@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-2020-04-30

Message

Joonas Lahtinen April 30, 2020, 12:49 p.m. UTC
Hi Dave & Daniel,

Fix for performance regression GitLab #1698: Iris Plus 655 and
4K screen. Missing workarounds for Tigerlake, and a fix for
DP display audio WA. Unbreaking enable_dpcd_backlight, fixes
to power code for Icelake+.

Improvements to the soft-RC6 code to improve power efficiency,
a fix for the timestamp corruption on Tigerlake and plenty of
smaller fixes for CI found corner cases.

Lots of refactoring that prep for upcoming changes, so I expect
the next PR to be quite busy.

Includes gvt-next-2020-04-22: Removes left non-upstream xen support
bits which will be kept out of tree instead. And several guest
context shadow optimizations.

Regards, Joonas

PS. Noticed the ack for locking rules, thanks! Will merge it.

***

drm-intel-next-2020-04-30:

Driver Changes:

- Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
  Iris Plus 655 and 4K screen (Chris)
- Add Wa_14011059788 for Tigerlake (Matt A)
- Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
- Use indirect ctx bb to load cmd buffer control value
  from context image to avoid corruption (Mika)
- Enable DP Display Audio WA (Uma, Jani)
- Update forcewake firmware ranges for Icelake (Radhakrishna)
- Add missing deinitialization cases of load failure for display (Jose)
- Implement TC cold sequences for Icelake and Tigerlake (Jose)
- Unbreak enable_dpcd_backlight modparam (Lyude)
- Move the late flush_submission in retire to the end (Chris)
- Demote "Reducing compressed framebufer size" message to info (Peter)
- Push MST link retraining to the hotplug work (Ville)
- Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
- Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
- Fix skl+ non-scaled pfit modes (Ville)
- Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
- Sanitize GT first before poisoning HWSP (Chris)
- Fix up clock RPS frequency readout (Chris)
- Avoid reusing the same logical CCID (Chris)
- Avoid dereferencing a dead context (Chris)
- Always enable busy-stats for execlists (Chris)
- Apply the aggressive downclocking to parking (Chris)
- Restore aggressive post-boost downclocking (Chris)

- Scrub execlists state on resume (Chris)
- Add debugfs attributes for LPSP (Ansuman)
- Improvements to kernel selftests (Chris, Mika)
- Add tiled blits selftest (Zbigniew)
- Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
- Add pre/post plane updates for SAGV (Stanislav)
- Add ICL PG3 PW ID for EHL (Anshuman)
- Fix Sphinx build duplicate label warning (Jani)
- Error log non-zero audio power refcount after unbind (Jani)
- Remove object_is_locked assertion from unpin_from_display_plane (Chris)
- Use single set of AUX powerwell ops for gen11+ (Matt R)
- Prefer drm_WARN_ON over WARN_ON (Pankaj)
- Poison residual state [HWSP] across resume (Chris, Tvrtko)
- Convert request-before-CS assertion to debug (Chris)
- Carefully order virtual_submission_tasklet (Chris)
- Check carefully for an idle engine in wait-for-idle (Chris)
- Only close vma we open (Chris)
- Trace RPS events (Chris)
- Use the RPM config register to determine clk frequencies (Chris)
- Drop rq->ring->vma peeking from error capture (Chris)
- Check preempt-timeout target before submit_ports (Chris)
- Check HWSP cacheline is valid before acquiring (Chris)
- Use proper fault mask in interrupt postinstall too (Matt R)
- Keep a no-frills swappable copy of the default context state (Chris)

- Add atomic helpers for bandwidth (Stanislav)
- Refactor setting dma info to a common helper from device info (Michael)
- Refactor DDI transcoder code for clairty (Ville)
- Extend PG3 power well ID to ICL (Anshuman)
- Refactor PFIT code for readability and future extensibility (Ville)
- Clarify code split between intel_ddi.c and intel_dp.c (Ville)
- Move out code to return the digital_port of the aux ch (Jose)
- Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
- Remove superfluous inlines and dead code (Jani)
- Re-disable -Wframe-address from top-level Makefile (Nick)
- Static checker and spelling fixes (Colin, Nathan)
- Split long lines (Ville)

The following changes since commit b06ef327e26367b9286a2079b31cde8d2161c0d8:

  drm/i915: Update DRIVER_DATE to 20200417 (2020-04-17 09:35:00 +0300)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-04-30

for you to fetch changes up to 230982d8d8df7f9d9aa216840ea2db1df6ad5d37:

  drm/i915: Update DRIVER_DATE to 20200430 (2020-04-30 11:13:21 +0300)

----------------------------------------------------------------
Driver Changes:

- Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
  Iris Plus 655 and 4K screen (Chris)
- Add Wa_14011059788 for Tigerlake (Matt A)
- Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
- Use indirect ctx bb to load cmd buffer control value
  from context image to avoid corruption (Mika)
- Enable DP Display Audio WA (Uma, Jani)
- Update forcewake firmware ranges for Icelake (Radhakrishna)
- Add missing deinitialization cases of load failure for display (Jose)
- Implement TC cold sequences for Icelake and Tigerlake (Jose)
- Unbreak enable_dpcd_backlight modparam (Lyude)
- Move the late flush_submission in retire to the end (Chris)
- Demote "Reducing compressed framebufer size" message to info (Peter)
- Push MST link retraining to the hotplug work (Ville)
- Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
- Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
- Fix skl+ non-scaled pfit modes (Ville)
- Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
- Sanitize GT first before poisoning HWSP (Chris)
- Fix up clock RPS frequency readout (Chris)
- Avoid reusing the same logical CCID (Chris)
- Avoid dereferencing a dead context (Chris)
- Always enable busy-stats for execlists (Chris)
- Apply the aggressive downclocking to parking (Chris)
- Restore aggressive post-boost downclocking (Chris)

- Scrub execlists state on resume (Chris)
- Add debugfs attributes for LPSP (Ansuman)
- Improvements to kernel selftests (Chris, Mika)
- Add tiled blits selftest (Zbigniew)
- Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
- Add pre/post plane updates for SAGV (Stanislav)
- Add ICL PG3 PW ID for EHL (Anshuman)
- Fix Sphinx build duplicate label warning (Jani)
- Error log non-zero audio power refcount after unbind (Jani)
- Remove object_is_locked assertion from unpin_from_display_plane (Chris)
- Use single set of AUX powerwell ops for gen11+ (Matt R)
- Prefer drm_WARN_ON over WARN_ON (Pankaj)
- Poison residual state [HWSP] across resume (Chris, Tvrtko)
- Convert request-before-CS assertion to debug (Chris)
- Carefully order virtual_submission_tasklet (Chris)
- Check carefully for an idle engine in wait-for-idle (Chris)
- Only close vma we open (Chris)
- Trace RPS events (Chris)
- Use the RPM config register to determine clk frequencies (Chris)
- Drop rq->ring->vma peeking from error capture (Chris)
- Check preempt-timeout target before submit_ports (Chris)
- Check HWSP cacheline is valid before acquiring (Chris)
- Use proper fault mask in interrupt postinstall too (Matt R)
- Keep a no-frills swappable copy of the default context state (Chris)

- Add atomic helpers for bandwidth (Stanislav)
- Refactor setting dma info to a common helper from device info (Michael)
- Refactor DDI transcoder code for clairty (Ville)
- Extend PG3 power well ID to ICL (Anshuman)
- Refactor PFIT code for readability and future extensibility (Ville)
- Clarify code split between intel_ddi.c and intel_dp.c (Ville)
- Move out code to return the digital_port of the aux ch (Jose)
- Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
- Remove superfluous inlines and dead code (Jani)
- Re-disable -Wframe-address from top-level Makefile (Nick)
- Static checker and spelling fixes (Colin, Nathan)
- Split long lines (Ville)

----------------------------------------------------------------
Anshuman Gupta (5):
      drm/i915: Power well id for ICL PG3
      drm/i915: Add i915_lpsp_capability debugfs
      drm/i915: Add connector dbgfs for all connectors
      drm/i915: Add i915_lpsp_status debugfs attribute
      drm/i915: Add ICL PG3 PW ID for EHL

Chris Wilson (46):
      drm/i915/gt: Scrub execlists state on resume
      drm/i915/selftests: Delay spinner before waiting for an interrupt
      drm/i915/selftests: Take the engine wakeref around __rps_up_interrupt
      drm/i915/selftests: Move gpu energy measurement into its own little lib
      drm/i915/selftests: Check power consumption at min/max frequencies
      drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane
      drm/i915/gt: Move the late flush_submission in retire to the end
      drm/i915/selftests: Verify frequency scaling with RPS
      drm/i915/selftests: Skip energy consumption tests if not controlling freq
      drm/i915/selftests: Check RPS controls
      drm/i915/selftests: Split RPS frequency measurement
      drm/i915/selftests: Show the pcode frequency table on error
      drm/i915/selftests: Exercise dynamic reclocking with RPS
      drm/i915/selftests: Show the pstate limits on any failure to reset min
      drm/i915/selftests: Show the full scaling curve on failure
      drm/i915/selftests: Disable C-states when measuring RPS frequency response
      drm/i915/gt: Poison residual state [HWSP] across resume.
      drm/i915/selftests: Unroll the CS frequency loop
      drm/i915/selftests: Disable heartbeat around RPS interrupt testing
      drm/i915/selftests: Try to detect rollback during batchbuffer preemption
      drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
      drm/i915/execlists: Drop request-before-CS assertion
      drm/i915/gt: Carefully order virtual_submission_tasklet
      drm/i915/gt: Check carefully for an idle engine in wait-for-idle
      drm/i915/selftests: Add request throughput measurement to perf
      drm/i915: Only close vma we open
      drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT
      drm/i915/gt: Trace RPS events
      drm/i915/gt: Use the RPM config register to determine clk frequencies
      drm/i915: Drop rq->ring->vma peeking from error capture
      drm/i915/execlists: Check preempt-timeout target before submit_ports
      drm/i915/gt: Check cacheline is valid before acquiring
      drm/i915/gt: Sanitize GT first
      drm/i915/gt: Fix up clock frequency
      drm/i915/selftests: Tweak the tolerance for clock ticks to 12.5%
      drm/i915/execlists: Avoid reusing the same logical CCID
      drm/i915/execlists: Track inflight CCID
      drm/i915/execlists: Verify we don't submit two identical CCIDs
      drm/i915: Avoid dereferencing a dead context
      drm/i915/gt: Keep a no-frills swappable copy of the default context state
      drm/i915/gt: Always enable busy-stats for execlists
      drm/i915/gt: Move rps.enabled/active to flags
      drm/i915/gt: Track use of RPS interrupts in flags
      drm/i915/gt: Switch to manual evaluation of RPS
      drm/i915/gt: Apply the aggressive downclocking to parking
      drm/i915/gt: Restore aggressive post-boost downclocking

Christoph Hellwig (1):
      i915/gvt: remove unused xen bits

Colin Ian King (2):
      drm/i915: remove redundant assignment to variable test_result
      drm/i915/gt: fix spelling mistake "evalution" -> "evaluation"

Dan Carpenter (1):
      drm/i915/selftests: fix error handling in __live_lrc_indirect_ctx_bb()

Imre Deak (1):
      drm/i915/icl: Fix timeout handling during TypeC AUX power well enabling

Jani Nikula (5):
      drm/i915: fix Sphinx build duplicate label warning
      drm/i915/audio: error log non-zero audio power refcount after unbind
      drm/i915/hdmi: remove unused intel_hdmi_hdcp2_protocol()
      drm/i915: drop a bunch of superfluous inlines
      drm/i915/audio: fix compressed_bpp check

Joonas Lahtinen (2):
      Merge tag 'gvt-next-2020-04-22' of https://github.com/intel/gvt-linux into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20200430

José Roberto de Souza (10):
      drm/i915: Add missing deinitialization cases of load failure
      drm/i915/display: Move out code to return the digital_port of the aux ch
      drm/i915/display: Add intel_legacy_aux_to_power_domain()
      drm/i915/display: Split hsw_power_well_enable() into two
      drm/i915/tc/icl: Implement TC cold sequences
      drm/i915/tc: Skip ref held check for TC legacy aux power wells
      drm/i915/tc/tgl: Implement TC cold sequences
      drm/i915/tc: Catch TC users accessing FIA registers without enable aux
      drm/i915/tc: Do not warn when aux power well of static TC ports timeout
      drm/i915/display: Load DP_TP_CTL/STATUS offset before use it

Lyude Paul (1):
      drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam

Matt Atwood (1):
      drm/i915/tgl: Wa_14011059788

Matt Roper (2):
      drm/i915: Use single set of AUX powerwell ops for gen11+
      drm/i915: Use proper fault mask in interrupt postinstall too

Michael J. Ruhl (1):
      drm/i915: Refactor setting dma info to a common helper

Mika Kuoppala (6):
      drm/i915/selftests: Add context batchbuffers registers to live_lrc_fixed
      drm/i915: Make define for lrc state offset
      drm/i915: Add engine scratch register to live_lrc_fixed
      drm/i915: Add per ctx batchbuffer wa for timestamp
      drm/i915: Add live selftests for indirect ctx batchbuffers
      drm/i915: Use indirect ctx bb to mend CMD_BUF_CCTL

Nathan Chancellor (1):
      drm/i915/gt: Avoid uninitialized use of rpcurupei in frequency_show

Nick Desaulniers (1):
      drm/i915: re-disable -Wframe-address

Pankaj Bharadiya (9):
      drm/i915/display/icl_dsi: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/atomic_plane: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/ddi: Prefer drm_WARN* over WARN*
      drm/i915/display/display: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/frontbuffer: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/global_state: Prefer drm_WARN* over WARN*
      drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON
      drm/i915/display/vlv_dsi: Prefer drm_WARN_ON over WARN_ON

Peter Jones (1):
      Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE()

Radhakrishna Sripada (1):
      drm/i915/icl: Update forcewake firmware ranges

Stanislav Lisovskiy (3):
      drm/i915: Add intel_atomic_get_bw_*_state helpers
      drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv
      drm/i915: Add pre/post plane updates for SAGV

Uma Shankar (1):
      drm/i915/display: Enable DP Display Audio WA

Ville Syrjälä (16):
      drm/i915: Pass encoder to intel_ddi_enable_pipe_clock()
      drm/i915: Move the TRANS_DDI_FUNC_CTL enable to a later point
      drm/i915: Push TRANS_DDI_FUNC_CTL into the encoder->enable() hook
      drm/i915: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get()
      drm/i915: Flatten intel_dp_check_mst_status() a bit
      drm/i915: Push MST link retraining to the hotplug work
      drm/i915: Fix skl+ non-scaled pfit modes
      drm/i915: Flatten a bunch of the pfit functions
      drm/i915: Use drm_rect to store the pfit window pos/size
      drm/i915: s/pipe_config/crtc_state/ in pfit functions
      drm/i915: Pass connector state to pfit calculations
      drm/i915: Have pfit calculations return an error code
      drm/i915: Introduce .set_link_train() vfunc
      drm/i915: Introduce .set_signal_levels() vfunc
      drm/i915: Introduce .set_idle_link_train() vfunc
      drm/i915: Split some long lines

Xiyu Yang (1):
      drm/i915/selftests: Fix i915_address_space refcnt leak

Yan Zhao (3):
      drm/i915/gvt: access shadow ctx via its virtual address directly
      drm/i915/gvt: combine access to consecutive guest context pages
      drm/i915/gvt: skip populate shadow context if guest context not changed

Zbigniew Kempczyński (1):
      drm/i915/selftests: Add tiled blits selftest

 drivers/char/agp/intel-gtt.c                       |   17 +-
 drivers/gpu/drm/i915/Makefile                      |    6 +-
 drivers/gpu/drm/i915/display/icl_dsi.c             |   21 +-
 drivers/gpu/drm/i915/display/intel_atomic_plane.c  |    4 +-
 drivers/gpu/drm/i915/display/intel_audio.c         |  145 +++
 drivers/gpu/drm/i915/display/intel_bw.c            |   24 +-
 drivers/gpu/drm/i915/display/intel_bw.h            |    9 +
 drivers/gpu/drm/i915/display/intel_connector.c     |    3 +
 drivers/gpu/drm/i915/display/intel_crt.c           |    4 +-
 drivers/gpu/drm/i915/display/intel_ddi.c           |  244 +++--
 drivers/gpu/drm/i915/display/intel_ddi.h           |    6 +-
 drivers/gpu/drm/i915/display/intel_display.c       |  374 ++++---
 drivers/gpu/drm/i915/display/intel_display.h       |    3 +-
 .../gpu/drm/i915/display/intel_display_debugfs.c   |  100 ++
 drivers/gpu/drm/i915/display/intel_display_power.c |  534 ++++-----
 drivers/gpu/drm/i915/display/intel_display_power.h |    5 +-
 drivers/gpu/drm/i915/display/intel_display_types.h |    6 +-
 drivers/gpu/drm/i915/display/intel_dp.c            |  608 ++++++-----
 .../gpu/drm/i915/display/intel_dp_aux_backlight.c  |    1 +
 drivers/gpu/drm/i915/display/intel_dp_mst.c        |    4 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    8 +-
 drivers/gpu/drm/i915/display/intel_dsb.c           |    6 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c       |    2 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |    5 +-
 drivers/gpu/drm/i915/display/intel_frontbuffer.c   |    6 +-
 drivers/gpu/drm/i915/display/intel_global_state.c  |    4 +-
 drivers/gpu/drm/i915/display/intel_gmbus.c         |    3 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c          |   23 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c          |   56 +-
 drivers/gpu/drm/i915/display/intel_lvds.c          |   16 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |    6 +-
 drivers/gpu/drm/i915/display/intel_panel.c         |  140 +--
 drivers/gpu/drm/i915/display/intel_panel.h         |   10 +-
 drivers/gpu/drm/i915/display/intel_tc.c            |   95 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c             |   11 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c        |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_domain.c         |    7 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.c         |    4 +-
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   20 +-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   95 +-
 .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  595 ++++++++++
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    1 -
 drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   64 +-
 drivers/gpu/drm/i915/gt/intel_context_sseu.c       |    3 +-
 drivers/gpu/drm/i915/gt/intel_context_types.h      |   10 +-
 drivers/gpu/drm/i915/gt/intel_engine.h             |    3 -
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   82 +-
 drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   10 +-
 drivers/gpu/drm/i915/gt/intel_engine_types.h       |   41 +-
 drivers/gpu/drm/i915/gt/intel_ggtt.c               |   15 -
 drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    3 +-
 drivers/gpu/drm/i915/gt/intel_gt.c                 |   63 +-
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  102 ++
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h     |   27 +
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   10 +-
 drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   20 +-
 drivers/gpu/drm/i915/gt/intel_gt_types.h           |    9 +-
 drivers/gpu/drm/i915/gt/intel_lrc.c                |  703 ++++++++----
 drivers/gpu/drm/i915/gt/intel_lrc.h                |    1 +
 drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    6 +-
 drivers/gpu/drm/i915/gt/intel_renderstate.c        |    4 +-
 drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   16 +-
 drivers/gpu/drm/i915/gt/intel_rps.c                |  350 ++++--
 drivers/gpu/drm/i915/gt/intel_rps.h                |   60 ++
 drivers/gpu/drm/i915/gt/intel_rps_types.h          |   14 +-
 drivers/gpu/drm/i915/gt/intel_timeline.c           |   19 +-
 drivers/gpu/drm/i915/gt/intel_timeline.h           |    2 +
 drivers/gpu/drm/i915/gt/selftest_context.c         |    2 +-
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    6 +
 drivers/gpu/drm/i915/gt/selftest_lrc.c             |  534 ++++++++-
 drivers/gpu/drm/i915/gt/selftest_rc6.c             |   25 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c             | 1134 +++++++++++++++++++-
 drivers/gpu/drm/i915/gt/selftest_rps.h             |    6 +
 drivers/gpu/drm/i915/gt/shmem_utils.c              |  173 +++
 drivers/gpu/drm/i915/gt/shmem_utils.h              |   23 +
 drivers/gpu/drm/i915/gt/st_shmem_utils.c           |   63 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |    2 +-
 drivers/gpu/drm/i915/gvt/gtt.c                     |   15 +
 drivers/gpu/drm/i915/gvt/gvt.c                     |    1 -
 drivers/gpu/drm/i915/gvt/gvt.h                     |    5 +
 drivers/gpu/drm/i915/gvt/hypercall.h               |    2 -
 drivers/gpu/drm/i915/gvt/scheduler.c               |  136 ++-
 drivers/gpu/drm/i915/i915_debugfs.c                |   39 +-
 drivers/gpu/drm/i915/i915_drv.c                    |  119 +-
 drivers/gpu/drm/i915/i915_drv.h                    |    4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |   43 +-
 drivers/gpu/drm/i915/i915_gpu_error.h              |    1 -
 drivers/gpu/drm/i915/i915_irq.c                    |    6 +-
 drivers/gpu/drm/i915/i915_pci.c                    |   14 +
 drivers/gpu/drm/i915/i915_perf.c                   |    8 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   32 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   54 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   38 +-
 drivers/gpu/drm/i915/intel_device_info.c           |    1 +
 drivers/gpu/drm/i915/intel_device_info.h           |    2 +
 drivers/gpu/drm/i915/intel_pm.c                    |   88 +-
 drivers/gpu/drm/i915/intel_pm.h                    |    2 +
 drivers/gpu/drm/i915/intel_sideband.c              |    4 +-
 drivers/gpu/drm/i915/intel_uncore.c                |   31 +-
 drivers/gpu/drm/i915/intel_wopcm.c                 |   22 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   32 +-
 .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    1 +
 .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    1 +
 drivers/gpu/drm/i915/selftests/i915_request.c      |  572 +++++++++-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |    2 +-
 drivers/gpu/drm/i915/selftests/librapl.c           |   24 +
 drivers/gpu/drm/i915/selftests/librapl.h           |   13 +
 108 files changed, 6193 insertions(+), 1961 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
 create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.c
 create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.h
 create mode 100644 drivers/gpu/drm/i915/gt/st_shmem_utils.c
 create mode 100644 drivers/gpu/drm/i915/selftests/librapl.c
 create mode 100644 drivers/gpu/drm/i915/selftests/librapl.h

Comments

Joonas Lahtinen May 13, 2020, 5:10 p.m. UTC | #1
Ping for merging this? If there are no issues, I'd prefer to pull in
next gvt-next and tag the final pull sooner than later.

Regards, Joonas

Quoting Joonas Lahtinen (2020-04-30 15:49:04)
> Hi Dave & Daniel,
> 
> Fix for performance regression GitLab #1698: Iris Plus 655 and
> 4K screen. Missing workarounds for Tigerlake, and a fix for
> DP display audio WA. Unbreaking enable_dpcd_backlight, fixes
> to power code for Icelake+.
> 
> Improvements to the soft-RC6 code to improve power efficiency,
> a fix for the timestamp corruption on Tigerlake and plenty of
> smaller fixes for CI found corner cases.
> 
> Lots of refactoring that prep for upcoming changes, so I expect
> the next PR to be quite busy.
> 
> Includes gvt-next-2020-04-22: Removes left non-upstream xen support
> bits which will be kept out of tree instead. And several guest
> context shadow optimizations.
> 
> Regards, Joonas
> 
> PS. Noticed the ack for locking rules, thanks! Will merge it.
> 
> ***
> 
> drm-intel-next-2020-04-30:
> 
> Driver Changes:
> 
> - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
>   Iris Plus 655 and 4K screen (Chris)
> - Add Wa_14011059788 for Tigerlake (Matt A)
> - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> - Use indirect ctx bb to load cmd buffer control value
>   from context image to avoid corruption (Mika)
> - Enable DP Display Audio WA (Uma, Jani)
> - Update forcewake firmware ranges for Icelake (Radhakrishna)
> - Add missing deinitialization cases of load failure for display (Jose)
> - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> - Unbreak enable_dpcd_backlight modparam (Lyude)
> - Move the late flush_submission in retire to the end (Chris)
> - Demote "Reducing compressed framebufer size" message to info (Peter)
> - Push MST link retraining to the hotplug work (Ville)
> - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> - Fix skl+ non-scaled pfit modes (Ville)
> - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> - Sanitize GT first before poisoning HWSP (Chris)
> - Fix up clock RPS frequency readout (Chris)
> - Avoid reusing the same logical CCID (Chris)
> - Avoid dereferencing a dead context (Chris)
> - Always enable busy-stats for execlists (Chris)
> - Apply the aggressive downclocking to parking (Chris)
> - Restore aggressive post-boost downclocking (Chris)
> 
> - Scrub execlists state on resume (Chris)
> - Add debugfs attributes for LPSP (Ansuman)
> - Improvements to kernel selftests (Chris, Mika)
> - Add tiled blits selftest (Zbigniew)
> - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> - Add pre/post plane updates for SAGV (Stanislav)
> - Add ICL PG3 PW ID for EHL (Anshuman)
> - Fix Sphinx build duplicate label warning (Jani)
> - Error log non-zero audio power refcount after unbind (Jani)
> - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> - Use single set of AUX powerwell ops for gen11+ (Matt R)
> - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> - Convert request-before-CS assertion to debug (Chris)
> - Carefully order virtual_submission_tasklet (Chris)
> - Check carefully for an idle engine in wait-for-idle (Chris)
> - Only close vma we open (Chris)
> - Trace RPS events (Chris)
> - Use the RPM config register to determine clk frequencies (Chris)
> - Drop rq->ring->vma peeking from error capture (Chris)
> - Check preempt-timeout target before submit_ports (Chris)
> - Check HWSP cacheline is valid before acquiring (Chris)
> - Use proper fault mask in interrupt postinstall too (Matt R)
> - Keep a no-frills swappable copy of the default context state (Chris)
> 
> - Add atomic helpers for bandwidth (Stanislav)
> - Refactor setting dma info to a common helper from device info (Michael)
> - Refactor DDI transcoder code for clairty (Ville)
> - Extend PG3 power well ID to ICL (Anshuman)
> - Refactor PFIT code for readability and future extensibility (Ville)
> - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> - Move out code to return the digital_port of the aux ch (Jose)
> - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> - Remove superfluous inlines and dead code (Jani)
> - Re-disable -Wframe-address from top-level Makefile (Nick)
> - Static checker and spelling fixes (Colin, Nathan)
> - Split long lines (Ville)
> 
> The following changes since commit b06ef327e26367b9286a2079b31cde8d2161c0d8:
> 
>   drm/i915: Update DRIVER_DATE to 20200417 (2020-04-17 09:35:00 +0300)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-04-30
> 
> for you to fetch changes up to 230982d8d8df7f9d9aa216840ea2db1df6ad5d37:
> 
>   drm/i915: Update DRIVER_DATE to 20200430 (2020-04-30 11:13:21 +0300)
> 
> ----------------------------------------------------------------
> Driver Changes:
> 
> - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
>   Iris Plus 655 and 4K screen (Chris)
> - Add Wa_14011059788 for Tigerlake (Matt A)
> - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> - Use indirect ctx bb to load cmd buffer control value
>   from context image to avoid corruption (Mika)
> - Enable DP Display Audio WA (Uma, Jani)
> - Update forcewake firmware ranges for Icelake (Radhakrishna)
> - Add missing deinitialization cases of load failure for display (Jose)
> - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> - Unbreak enable_dpcd_backlight modparam (Lyude)
> - Move the late flush_submission in retire to the end (Chris)
> - Demote "Reducing compressed framebufer size" message to info (Peter)
> - Push MST link retraining to the hotplug work (Ville)
> - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> - Fix skl+ non-scaled pfit modes (Ville)
> - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> - Sanitize GT first before poisoning HWSP (Chris)
> - Fix up clock RPS frequency readout (Chris)
> - Avoid reusing the same logical CCID (Chris)
> - Avoid dereferencing a dead context (Chris)
> - Always enable busy-stats for execlists (Chris)
> - Apply the aggressive downclocking to parking (Chris)
> - Restore aggressive post-boost downclocking (Chris)
> 
> - Scrub execlists state on resume (Chris)
> - Add debugfs attributes for LPSP (Ansuman)
> - Improvements to kernel selftests (Chris, Mika)
> - Add tiled blits selftest (Zbigniew)
> - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> - Add pre/post plane updates for SAGV (Stanislav)
> - Add ICL PG3 PW ID for EHL (Anshuman)
> - Fix Sphinx build duplicate label warning (Jani)
> - Error log non-zero audio power refcount after unbind (Jani)
> - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> - Use single set of AUX powerwell ops for gen11+ (Matt R)
> - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> - Convert request-before-CS assertion to debug (Chris)
> - Carefully order virtual_submission_tasklet (Chris)
> - Check carefully for an idle engine in wait-for-idle (Chris)
> - Only close vma we open (Chris)
> - Trace RPS events (Chris)
> - Use the RPM config register to determine clk frequencies (Chris)
> - Drop rq->ring->vma peeking from error capture (Chris)
> - Check preempt-timeout target before submit_ports (Chris)
> - Check HWSP cacheline is valid before acquiring (Chris)
> - Use proper fault mask in interrupt postinstall too (Matt R)
> - Keep a no-frills swappable copy of the default context state (Chris)
> 
> - Add atomic helpers for bandwidth (Stanislav)
> - Refactor setting dma info to a common helper from device info (Michael)
> - Refactor DDI transcoder code for clairty (Ville)
> - Extend PG3 power well ID to ICL (Anshuman)
> - Refactor PFIT code for readability and future extensibility (Ville)
> - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> - Move out code to return the digital_port of the aux ch (Jose)
> - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> - Remove superfluous inlines and dead code (Jani)
> - Re-disable -Wframe-address from top-level Makefile (Nick)
> - Static checker and spelling fixes (Colin, Nathan)
> - Split long lines (Ville)
> 
> ----------------------------------------------------------------
> Anshuman Gupta (5):
>       drm/i915: Power well id for ICL PG3
>       drm/i915: Add i915_lpsp_capability debugfs
>       drm/i915: Add connector dbgfs for all connectors
>       drm/i915: Add i915_lpsp_status debugfs attribute
>       drm/i915: Add ICL PG3 PW ID for EHL
> 
> Chris Wilson (46):
>       drm/i915/gt: Scrub execlists state on resume
>       drm/i915/selftests: Delay spinner before waiting for an interrupt
>       drm/i915/selftests: Take the engine wakeref around __rps_up_interrupt
>       drm/i915/selftests: Move gpu energy measurement into its own little lib
>       drm/i915/selftests: Check power consumption at min/max frequencies
>       drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane
>       drm/i915/gt: Move the late flush_submission in retire to the end
>       drm/i915/selftests: Verify frequency scaling with RPS
>       drm/i915/selftests: Skip energy consumption tests if not controlling freq
>       drm/i915/selftests: Check RPS controls
>       drm/i915/selftests: Split RPS frequency measurement
>       drm/i915/selftests: Show the pcode frequency table on error
>       drm/i915/selftests: Exercise dynamic reclocking with RPS
>       drm/i915/selftests: Show the pstate limits on any failure to reset min
>       drm/i915/selftests: Show the full scaling curve on failure
>       drm/i915/selftests: Disable C-states when measuring RPS frequency response
>       drm/i915/gt: Poison residual state [HWSP] across resume.
>       drm/i915/selftests: Unroll the CS frequency loop
>       drm/i915/selftests: Disable heartbeat around RPS interrupt testing
>       drm/i915/selftests: Try to detect rollback during batchbuffer preemption
>       drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
>       drm/i915/execlists: Drop request-before-CS assertion
>       drm/i915/gt: Carefully order virtual_submission_tasklet
>       drm/i915/gt: Check carefully for an idle engine in wait-for-idle
>       drm/i915/selftests: Add request throughput measurement to perf
>       drm/i915: Only close vma we open
>       drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT
>       drm/i915/gt: Trace RPS events
>       drm/i915/gt: Use the RPM config register to determine clk frequencies
>       drm/i915: Drop rq->ring->vma peeking from error capture
>       drm/i915/execlists: Check preempt-timeout target before submit_ports
>       drm/i915/gt: Check cacheline is valid before acquiring
>       drm/i915/gt: Sanitize GT first
>       drm/i915/gt: Fix up clock frequency
>       drm/i915/selftests: Tweak the tolerance for clock ticks to 12.5%
>       drm/i915/execlists: Avoid reusing the same logical CCID
>       drm/i915/execlists: Track inflight CCID
>       drm/i915/execlists: Verify we don't submit two identical CCIDs
>       drm/i915: Avoid dereferencing a dead context
>       drm/i915/gt: Keep a no-frills swappable copy of the default context state
>       drm/i915/gt: Always enable busy-stats for execlists
>       drm/i915/gt: Move rps.enabled/active to flags
>       drm/i915/gt: Track use of RPS interrupts in flags
>       drm/i915/gt: Switch to manual evaluation of RPS
>       drm/i915/gt: Apply the aggressive downclocking to parking
>       drm/i915/gt: Restore aggressive post-boost downclocking
> 
> Christoph Hellwig (1):
>       i915/gvt: remove unused xen bits
> 
> Colin Ian King (2):
>       drm/i915: remove redundant assignment to variable test_result
>       drm/i915/gt: fix spelling mistake "evalution" -> "evaluation"
> 
> Dan Carpenter (1):
>       drm/i915/selftests: fix error handling in __live_lrc_indirect_ctx_bb()
> 
> Imre Deak (1):
>       drm/i915/icl: Fix timeout handling during TypeC AUX power well enabling
> 
> Jani Nikula (5):
>       drm/i915: fix Sphinx build duplicate label warning
>       drm/i915/audio: error log non-zero audio power refcount after unbind
>       drm/i915/hdmi: remove unused intel_hdmi_hdcp2_protocol()
>       drm/i915: drop a bunch of superfluous inlines
>       drm/i915/audio: fix compressed_bpp check
> 
> Joonas Lahtinen (2):
>       Merge tag 'gvt-next-2020-04-22' of https://github.com/intel/gvt-linux into drm-intel-next-queued
>       drm/i915: Update DRIVER_DATE to 20200430
> 
> José Roberto de Souza (10):
>       drm/i915: Add missing deinitialization cases of load failure
>       drm/i915/display: Move out code to return the digital_port of the aux ch
>       drm/i915/display: Add intel_legacy_aux_to_power_domain()
>       drm/i915/display: Split hsw_power_well_enable() into two
>       drm/i915/tc/icl: Implement TC cold sequences
>       drm/i915/tc: Skip ref held check for TC legacy aux power wells
>       drm/i915/tc/tgl: Implement TC cold sequences
>       drm/i915/tc: Catch TC users accessing FIA registers without enable aux
>       drm/i915/tc: Do not warn when aux power well of static TC ports timeout
>       drm/i915/display: Load DP_TP_CTL/STATUS offset before use it
> 
> Lyude Paul (1):
>       drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam
> 
> Matt Atwood (1):
>       drm/i915/tgl: Wa_14011059788
> 
> Matt Roper (2):
>       drm/i915: Use single set of AUX powerwell ops for gen11+
>       drm/i915: Use proper fault mask in interrupt postinstall too
> 
> Michael J. Ruhl (1):
>       drm/i915: Refactor setting dma info to a common helper
> 
> Mika Kuoppala (6):
>       drm/i915/selftests: Add context batchbuffers registers to live_lrc_fixed
>       drm/i915: Make define for lrc state offset
>       drm/i915: Add engine scratch register to live_lrc_fixed
>       drm/i915: Add per ctx batchbuffer wa for timestamp
>       drm/i915: Add live selftests for indirect ctx batchbuffers
>       drm/i915: Use indirect ctx bb to mend CMD_BUF_CCTL
> 
> Nathan Chancellor (1):
>       drm/i915/gt: Avoid uninitialized use of rpcurupei in frequency_show
> 
> Nick Desaulniers (1):
>       drm/i915: re-disable -Wframe-address
> 
> Pankaj Bharadiya (9):
>       drm/i915/display/icl_dsi: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/atomic_plane: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/ddi: Prefer drm_WARN* over WARN*
>       drm/i915/display/display: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/frontbuffer: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/global_state: Prefer drm_WARN* over WARN*
>       drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON
>       drm/i915/display/vlv_dsi: Prefer drm_WARN_ON over WARN_ON
> 
> Peter Jones (1):
>       Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE()
> 
> Radhakrishna Sripada (1):
>       drm/i915/icl: Update forcewake firmware ranges
> 
> Stanislav Lisovskiy (3):
>       drm/i915: Add intel_atomic_get_bw_*_state helpers
>       drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv
>       drm/i915: Add pre/post plane updates for SAGV
> 
> Uma Shankar (1):
>       drm/i915/display: Enable DP Display Audio WA
> 
> Ville Syrjälä (16):
>       drm/i915: Pass encoder to intel_ddi_enable_pipe_clock()
>       drm/i915: Move the TRANS_DDI_FUNC_CTL enable to a later point
>       drm/i915: Push TRANS_DDI_FUNC_CTL into the encoder->enable() hook
>       drm/i915: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get()
>       drm/i915: Flatten intel_dp_check_mst_status() a bit
>       drm/i915: Push MST link retraining to the hotplug work
>       drm/i915: Fix skl+ non-scaled pfit modes
>       drm/i915: Flatten a bunch of the pfit functions
>       drm/i915: Use drm_rect to store the pfit window pos/size
>       drm/i915: s/pipe_config/crtc_state/ in pfit functions
>       drm/i915: Pass connector state to pfit calculations
>       drm/i915: Have pfit calculations return an error code
>       drm/i915: Introduce .set_link_train() vfunc
>       drm/i915: Introduce .set_signal_levels() vfunc
>       drm/i915: Introduce .set_idle_link_train() vfunc
>       drm/i915: Split some long lines
> 
> Xiyu Yang (1):
>       drm/i915/selftests: Fix i915_address_space refcnt leak
> 
> Yan Zhao (3):
>       drm/i915/gvt: access shadow ctx via its virtual address directly
>       drm/i915/gvt: combine access to consecutive guest context pages
>       drm/i915/gvt: skip populate shadow context if guest context not changed
> 
> Zbigniew Kempczy\u0144ski (1):
>       drm/i915/selftests: Add tiled blits selftest
> 
>  drivers/char/agp/intel-gtt.c                       |   17 +-
>  drivers/gpu/drm/i915/Makefile                      |    6 +-
>  drivers/gpu/drm/i915/display/icl_dsi.c             |   21 +-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c  |    4 +-
>  drivers/gpu/drm/i915/display/intel_audio.c         |  145 +++
>  drivers/gpu/drm/i915/display/intel_bw.c            |   24 +-
>  drivers/gpu/drm/i915/display/intel_bw.h            |    9 +
>  drivers/gpu/drm/i915/display/intel_connector.c     |    3 +
>  drivers/gpu/drm/i915/display/intel_crt.c           |    4 +-
>  drivers/gpu/drm/i915/display/intel_ddi.c           |  244 +++--
>  drivers/gpu/drm/i915/display/intel_ddi.h           |    6 +-
>  drivers/gpu/drm/i915/display/intel_display.c       |  374 ++++---
>  drivers/gpu/drm/i915/display/intel_display.h       |    3 +-
>  .../gpu/drm/i915/display/intel_display_debugfs.c   |  100 ++
>  drivers/gpu/drm/i915/display/intel_display_power.c |  534 ++++-----
>  drivers/gpu/drm/i915/display/intel_display_power.h |    5 +-
>  drivers/gpu/drm/i915/display/intel_display_types.h |    6 +-
>  drivers/gpu/drm/i915/display/intel_dp.c            |  608 ++++++-----
>  .../gpu/drm/i915/display/intel_dp_aux_backlight.c  |    1 +
>  drivers/gpu/drm/i915/display/intel_dp_mst.c        |    4 +-
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    8 +-
>  drivers/gpu/drm/i915/display/intel_dsb.c           |    6 +-
>  drivers/gpu/drm/i915/display/intel_dsi_vbt.c       |    2 +-
>  drivers/gpu/drm/i915/display/intel_fbc.c           |    5 +-
>  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |    6 +-
>  drivers/gpu/drm/i915/display/intel_global_state.c  |    4 +-
>  drivers/gpu/drm/i915/display/intel_gmbus.c         |    3 +-
>  drivers/gpu/drm/i915/display/intel_hdcp.c          |   23 +-
>  drivers/gpu/drm/i915/display/intel_hdmi.c          |   56 +-
>  drivers/gpu/drm/i915/display/intel_lvds.c          |   16 +-
>  drivers/gpu/drm/i915/display/intel_overlay.c       |    6 +-
>  drivers/gpu/drm/i915/display/intel_panel.c         |  140 +--
>  drivers/gpu/drm/i915/display/intel_panel.h         |   10 +-
>  drivers/gpu/drm/i915/display/intel_tc.c            |   95 +-
>  drivers/gpu/drm/i915/display/vlv_dsi.c             |   11 +-
>  drivers/gpu/drm/i915/gem/i915_gem_context.c        |    4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_domain.c         |    7 +-
>  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    2 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c         |    4 +-
>  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   20 +-
>  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   95 +-
>  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  595 ++++++++++
>  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    1 -
>  drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   64 +-
>  drivers/gpu/drm/i915/gt/intel_context_sseu.c       |    3 +-
>  drivers/gpu/drm/i915/gt/intel_context_types.h      |   10 +-
>  drivers/gpu/drm/i915/gt/intel_engine.h             |    3 -
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   82 +-
>  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   10 +-
>  drivers/gpu/drm/i915/gt/intel_engine_types.h       |   41 +-
>  drivers/gpu/drm/i915/gt/intel_ggtt.c               |   15 -
>  drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    3 +-
>  drivers/gpu/drm/i915/gt/intel_gt.c                 |   63 +-
>  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  102 ++
>  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h     |   27 +
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   10 +-
>  drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   20 +-
>  drivers/gpu/drm/i915/gt/intel_gt_types.h           |    9 +-
>  drivers/gpu/drm/i915/gt/intel_lrc.c                |  703 ++++++++----
>  drivers/gpu/drm/i915/gt/intel_lrc.h                |    1 +
>  drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    6 +-
>  drivers/gpu/drm/i915/gt/intel_renderstate.c        |    4 +-
>  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   16 +-
>  drivers/gpu/drm/i915/gt/intel_rps.c                |  350 ++++--
>  drivers/gpu/drm/i915/gt/intel_rps.h                |   60 ++
>  drivers/gpu/drm/i915/gt/intel_rps_types.h          |   14 +-
>  drivers/gpu/drm/i915/gt/intel_timeline.c           |   19 +-
>  drivers/gpu/drm/i915/gt/intel_timeline.h           |    2 +
>  drivers/gpu/drm/i915/gt/selftest_context.c         |    2 +-
>  drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    6 +
>  drivers/gpu/drm/i915/gt/selftest_lrc.c             |  534 ++++++++-
>  drivers/gpu/drm/i915/gt/selftest_rc6.c             |   25 +-
>  drivers/gpu/drm/i915/gt/selftest_rps.c             | 1134 +++++++++++++++++++-
>  drivers/gpu/drm/i915/gt/selftest_rps.h             |    6 +
>  drivers/gpu/drm/i915/gt/shmem_utils.c              |  173 +++
>  drivers/gpu/drm/i915/gt/shmem_utils.h              |   23 +
>  drivers/gpu/drm/i915/gt/st_shmem_utils.c           |   63 ++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |    2 +-
>  drivers/gpu/drm/i915/gvt/gtt.c                     |   15 +
>  drivers/gpu/drm/i915/gvt/gvt.c                     |    1 -
>  drivers/gpu/drm/i915/gvt/gvt.h                     |    5 +
>  drivers/gpu/drm/i915/gvt/hypercall.h               |    2 -
>  drivers/gpu/drm/i915/gvt/scheduler.c               |  136 ++-
>  drivers/gpu/drm/i915/i915_debugfs.c                |   39 +-
>  drivers/gpu/drm/i915/i915_drv.c                    |  119 +-
>  drivers/gpu/drm/i915/i915_drv.h                    |    4 +-
>  drivers/gpu/drm/i915/i915_gpu_error.c              |   43 +-
>  drivers/gpu/drm/i915/i915_gpu_error.h              |    1 -
>  drivers/gpu/drm/i915/i915_irq.c                    |    6 +-
>  drivers/gpu/drm/i915/i915_pci.c                    |   14 +
>  drivers/gpu/drm/i915/i915_perf.c                   |    8 +-
>  drivers/gpu/drm/i915/i915_pmu.c                    |   32 +-
>  drivers/gpu/drm/i915/i915_reg.h                    |   54 +-
>  drivers/gpu/drm/i915/i915_vma.c                    |   38 +-
>  drivers/gpu/drm/i915/intel_device_info.c           |    1 +
>  drivers/gpu/drm/i915/intel_device_info.h           |    2 +
>  drivers/gpu/drm/i915/intel_pm.c                    |   88 +-
>  drivers/gpu/drm/i915/intel_pm.h                    |    2 +
>  drivers/gpu/drm/i915/intel_sideband.c              |    4 +-
>  drivers/gpu/drm/i915/intel_uncore.c                |   31 +-
>  drivers/gpu/drm/i915/intel_wopcm.c                 |   22 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   32 +-
>  .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    1 +
>  .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    1 +
>  drivers/gpu/drm/i915/selftests/i915_request.c      |  572 +++++++++-
>  drivers/gpu/drm/i915/selftests/i915_vma.c          |    2 +-
>  drivers/gpu/drm/i915/selftests/librapl.c           |   24 +
>  drivers/gpu/drm/i915/selftests/librapl.h           |   13 +
>  108 files changed, 6193 insertions(+), 1961 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
>  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.c
>  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.h
>  create mode 100644 drivers/gpu/drm/i915/gt/st_shmem_utils.c
>  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.c
>  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.h
Dave Airlie May 14, 2020, 1:28 a.m. UTC | #2
On Thu, 14 May 2020 at 03:10, Joonas Lahtinen
<joonas.lahtinen@linux.intel.com> wrote:
>
> Ping for merging this? If there are no issues, I'd prefer to pull in
> next gvt-next and tag the final pull sooner than later.

Can you check that I'm correct and this isn;'t in patchwork. I've
checked both the dri-devel and intel-gfx patchworks for it.

Dave.
>
> Regards, Joonas
>
> Quoting Joonas Lahtinen (2020-04-30 15:49:04)
> > Hi Dave & Daniel,
> >
> > Fix for performance regression GitLab #1698: Iris Plus 655 and
> > 4K screen. Missing workarounds for Tigerlake, and a fix for
> > DP display audio WA. Unbreaking enable_dpcd_backlight, fixes
> > to power code for Icelake+.
> >
> > Improvements to the soft-RC6 code to improve power efficiency,
> > a fix for the timestamp corruption on Tigerlake and plenty of
> > smaller fixes for CI found corner cases.
> >
> > Lots of refactoring that prep for upcoming changes, so I expect
> > the next PR to be quite busy.
> >
> > Includes gvt-next-2020-04-22: Removes left non-upstream xen support
> > bits which will be kept out of tree instead. And several guest
> > context shadow optimizations.
> >
> > Regards, Joonas
> >
> > PS. Noticed the ack for locking rules, thanks! Will merge it.
> >
> > ***
> >
> > drm-intel-next-2020-04-30:
> >
> > Driver Changes:
> >
> > - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
> >   Iris Plus 655 and 4K screen (Chris)
> > - Add Wa_14011059788 for Tigerlake (Matt A)
> > - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> > - Use indirect ctx bb to load cmd buffer control value
> >   from context image to avoid corruption (Mika)
> > - Enable DP Display Audio WA (Uma, Jani)
> > - Update forcewake firmware ranges for Icelake (Radhakrishna)
> > - Add missing deinitialization cases of load failure for display (Jose)
> > - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> > - Unbreak enable_dpcd_backlight modparam (Lyude)
> > - Move the late flush_submission in retire to the end (Chris)
> > - Demote "Reducing compressed framebufer size" message to info (Peter)
> > - Push MST link retraining to the hotplug work (Ville)
> > - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> > - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> > - Fix skl+ non-scaled pfit modes (Ville)
> > - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> > - Sanitize GT first before poisoning HWSP (Chris)
> > - Fix up clock RPS frequency readout (Chris)
> > - Avoid reusing the same logical CCID (Chris)
> > - Avoid dereferencing a dead context (Chris)
> > - Always enable busy-stats for execlists (Chris)
> > - Apply the aggressive downclocking to parking (Chris)
> > - Restore aggressive post-boost downclocking (Chris)
> >
> > - Scrub execlists state on resume (Chris)
> > - Add debugfs attributes for LPSP (Ansuman)
> > - Improvements to kernel selftests (Chris, Mika)
> > - Add tiled blits selftest (Zbigniew)
> > - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> > - Add pre/post plane updates for SAGV (Stanislav)
> > - Add ICL PG3 PW ID for EHL (Anshuman)
> > - Fix Sphinx build duplicate label warning (Jani)
> > - Error log non-zero audio power refcount after unbind (Jani)
> > - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> > - Use single set of AUX powerwell ops for gen11+ (Matt R)
> > - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> > - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> > - Convert request-before-CS assertion to debug (Chris)
> > - Carefully order virtual_submission_tasklet (Chris)
> > - Check carefully for an idle engine in wait-for-idle (Chris)
> > - Only close vma we open (Chris)
> > - Trace RPS events (Chris)
> > - Use the RPM config register to determine clk frequencies (Chris)
> > - Drop rq->ring->vma peeking from error capture (Chris)
> > - Check preempt-timeout target before submit_ports (Chris)
> > - Check HWSP cacheline is valid before acquiring (Chris)
> > - Use proper fault mask in interrupt postinstall too (Matt R)
> > - Keep a no-frills swappable copy of the default context state (Chris)
> >
> > - Add atomic helpers for bandwidth (Stanislav)
> > - Refactor setting dma info to a common helper from device info (Michael)
> > - Refactor DDI transcoder code for clairty (Ville)
> > - Extend PG3 power well ID to ICL (Anshuman)
> > - Refactor PFIT code for readability and future extensibility (Ville)
> > - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> > - Move out code to return the digital_port of the aux ch (Jose)
> > - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> > - Remove superfluous inlines and dead code (Jani)
> > - Re-disable -Wframe-address from top-level Makefile (Nick)
> > - Static checker and spelling fixes (Colin, Nathan)
> > - Split long lines (Ville)
> >
> > The following changes since commit b06ef327e26367b9286a2079b31cde8d2161c0d8:
> >
> >   drm/i915: Update DRIVER_DATE to 20200417 (2020-04-17 09:35:00 +0300)
> >
> > are available in the Git repository at:
> >
> >   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-04-30
> >
> > for you to fetch changes up to 230982d8d8df7f9d9aa216840ea2db1df6ad5d37:
> >
> >   drm/i915: Update DRIVER_DATE to 20200430 (2020-04-30 11:13:21 +0300)
> >
> > ----------------------------------------------------------------
> > Driver Changes:
> >
> > - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
> >   Iris Plus 655 and 4K screen (Chris)
> > - Add Wa_14011059788 for Tigerlake (Matt A)
> > - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> > - Use indirect ctx bb to load cmd buffer control value
> >   from context image to avoid corruption (Mika)
> > - Enable DP Display Audio WA (Uma, Jani)
> > - Update forcewake firmware ranges for Icelake (Radhakrishna)
> > - Add missing deinitialization cases of load failure for display (Jose)
> > - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> > - Unbreak enable_dpcd_backlight modparam (Lyude)
> > - Move the late flush_submission in retire to the end (Chris)
> > - Demote "Reducing compressed framebufer size" message to info (Peter)
> > - Push MST link retraining to the hotplug work (Ville)
> > - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> > - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> > - Fix skl+ non-scaled pfit modes (Ville)
> > - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> > - Sanitize GT first before poisoning HWSP (Chris)
> > - Fix up clock RPS frequency readout (Chris)
> > - Avoid reusing the same logical CCID (Chris)
> > - Avoid dereferencing a dead context (Chris)
> > - Always enable busy-stats for execlists (Chris)
> > - Apply the aggressive downclocking to parking (Chris)
> > - Restore aggressive post-boost downclocking (Chris)
> >
> > - Scrub execlists state on resume (Chris)
> > - Add debugfs attributes for LPSP (Ansuman)
> > - Improvements to kernel selftests (Chris, Mika)
> > - Add tiled blits selftest (Zbigniew)
> > - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> > - Add pre/post plane updates for SAGV (Stanislav)
> > - Add ICL PG3 PW ID for EHL (Anshuman)
> > - Fix Sphinx build duplicate label warning (Jani)
> > - Error log non-zero audio power refcount after unbind (Jani)
> > - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> > - Use single set of AUX powerwell ops for gen11+ (Matt R)
> > - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> > - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> > - Convert request-before-CS assertion to debug (Chris)
> > - Carefully order virtual_submission_tasklet (Chris)
> > - Check carefully for an idle engine in wait-for-idle (Chris)
> > - Only close vma we open (Chris)
> > - Trace RPS events (Chris)
> > - Use the RPM config register to determine clk frequencies (Chris)
> > - Drop rq->ring->vma peeking from error capture (Chris)
> > - Check preempt-timeout target before submit_ports (Chris)
> > - Check HWSP cacheline is valid before acquiring (Chris)
> > - Use proper fault mask in interrupt postinstall too (Matt R)
> > - Keep a no-frills swappable copy of the default context state (Chris)
> >
> > - Add atomic helpers for bandwidth (Stanislav)
> > - Refactor setting dma info to a common helper from device info (Michael)
> > - Refactor DDI transcoder code for clairty (Ville)
> > - Extend PG3 power well ID to ICL (Anshuman)
> > - Refactor PFIT code for readability and future extensibility (Ville)
> > - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> > - Move out code to return the digital_port of the aux ch (Jose)
> > - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> > - Remove superfluous inlines and dead code (Jani)
> > - Re-disable -Wframe-address from top-level Makefile (Nick)
> > - Static checker and spelling fixes (Colin, Nathan)
> > - Split long lines (Ville)
> >
> > ----------------------------------------------------------------
> > Anshuman Gupta (5):
> >       drm/i915: Power well id for ICL PG3
> >       drm/i915: Add i915_lpsp_capability debugfs
> >       drm/i915: Add connector dbgfs for all connectors
> >       drm/i915: Add i915_lpsp_status debugfs attribute
> >       drm/i915: Add ICL PG3 PW ID for EHL
> >
> > Chris Wilson (46):
> >       drm/i915/gt: Scrub execlists state on resume
> >       drm/i915/selftests: Delay spinner before waiting for an interrupt
> >       drm/i915/selftests: Take the engine wakeref around __rps_up_interrupt
> >       drm/i915/selftests: Move gpu energy measurement into its own little lib
> >       drm/i915/selftests: Check power consumption at min/max frequencies
> >       drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane
> >       drm/i915/gt: Move the late flush_submission in retire to the end
> >       drm/i915/selftests: Verify frequency scaling with RPS
> >       drm/i915/selftests: Skip energy consumption tests if not controlling freq
> >       drm/i915/selftests: Check RPS controls
> >       drm/i915/selftests: Split RPS frequency measurement
> >       drm/i915/selftests: Show the pcode frequency table on error
> >       drm/i915/selftests: Exercise dynamic reclocking with RPS
> >       drm/i915/selftests: Show the pstate limits on any failure to reset min
> >       drm/i915/selftests: Show the full scaling curve on failure
> >       drm/i915/selftests: Disable C-states when measuring RPS frequency response
> >       drm/i915/gt: Poison residual state [HWSP] across resume.
> >       drm/i915/selftests: Unroll the CS frequency loop
> >       drm/i915/selftests: Disable heartbeat around RPS interrupt testing
> >       drm/i915/selftests: Try to detect rollback during batchbuffer preemption
> >       drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
> >       drm/i915/execlists: Drop request-before-CS assertion
> >       drm/i915/gt: Carefully order virtual_submission_tasklet
> >       drm/i915/gt: Check carefully for an idle engine in wait-for-idle
> >       drm/i915/selftests: Add request throughput measurement to perf
> >       drm/i915: Only close vma we open
> >       drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT
> >       drm/i915/gt: Trace RPS events
> >       drm/i915/gt: Use the RPM config register to determine clk frequencies
> >       drm/i915: Drop rq->ring->vma peeking from error capture
> >       drm/i915/execlists: Check preempt-timeout target before submit_ports
> >       drm/i915/gt: Check cacheline is valid before acquiring
> >       drm/i915/gt: Sanitize GT first
> >       drm/i915/gt: Fix up clock frequency
> >       drm/i915/selftests: Tweak the tolerance for clock ticks to 12.5%
> >       drm/i915/execlists: Avoid reusing the same logical CCID
> >       drm/i915/execlists: Track inflight CCID
> >       drm/i915/execlists: Verify we don't submit two identical CCIDs
> >       drm/i915: Avoid dereferencing a dead context
> >       drm/i915/gt: Keep a no-frills swappable copy of the default context state
> >       drm/i915/gt: Always enable busy-stats for execlists
> >       drm/i915/gt: Move rps.enabled/active to flags
> >       drm/i915/gt: Track use of RPS interrupts in flags
> >       drm/i915/gt: Switch to manual evaluation of RPS
> >       drm/i915/gt: Apply the aggressive downclocking to parking
> >       drm/i915/gt: Restore aggressive post-boost downclocking
> >
> > Christoph Hellwig (1):
> >       i915/gvt: remove unused xen bits
> >
> > Colin Ian King (2):
> >       drm/i915: remove redundant assignment to variable test_result
> >       drm/i915/gt: fix spelling mistake "evalution" -> "evaluation"
> >
> > Dan Carpenter (1):
> >       drm/i915/selftests: fix error handling in __live_lrc_indirect_ctx_bb()
> >
> > Imre Deak (1):
> >       drm/i915/icl: Fix timeout handling during TypeC AUX power well enabling
> >
> > Jani Nikula (5):
> >       drm/i915: fix Sphinx build duplicate label warning
> >       drm/i915/audio: error log non-zero audio power refcount after unbind
> >       drm/i915/hdmi: remove unused intel_hdmi_hdcp2_protocol()
> >       drm/i915: drop a bunch of superfluous inlines
> >       drm/i915/audio: fix compressed_bpp check
> >
> > Joonas Lahtinen (2):
> >       Merge tag 'gvt-next-2020-04-22' of https://github.com/intel/gvt-linux into drm-intel-next-queued
> >       drm/i915: Update DRIVER_DATE to 20200430
> >
> > José Roberto de Souza (10):
> >       drm/i915: Add missing deinitialization cases of load failure
> >       drm/i915/display: Move out code to return the digital_port of the aux ch
> >       drm/i915/display: Add intel_legacy_aux_to_power_domain()
> >       drm/i915/display: Split hsw_power_well_enable() into two
> >       drm/i915/tc/icl: Implement TC cold sequences
> >       drm/i915/tc: Skip ref held check for TC legacy aux power wells
> >       drm/i915/tc/tgl: Implement TC cold sequences
> >       drm/i915/tc: Catch TC users accessing FIA registers without enable aux
> >       drm/i915/tc: Do not warn when aux power well of static TC ports timeout
> >       drm/i915/display: Load DP_TP_CTL/STATUS offset before use it
> >
> > Lyude Paul (1):
> >       drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam
> >
> > Matt Atwood (1):
> >       drm/i915/tgl: Wa_14011059788
> >
> > Matt Roper (2):
> >       drm/i915: Use single set of AUX powerwell ops for gen11+
> >       drm/i915: Use proper fault mask in interrupt postinstall too
> >
> > Michael J. Ruhl (1):
> >       drm/i915: Refactor setting dma info to a common helper
> >
> > Mika Kuoppala (6):
> >       drm/i915/selftests: Add context batchbuffers registers to live_lrc_fixed
> >       drm/i915: Make define for lrc state offset
> >       drm/i915: Add engine scratch register to live_lrc_fixed
> >       drm/i915: Add per ctx batchbuffer wa for timestamp
> >       drm/i915: Add live selftests for indirect ctx batchbuffers
> >       drm/i915: Use indirect ctx bb to mend CMD_BUF_CCTL
> >
> > Nathan Chancellor (1):
> >       drm/i915/gt: Avoid uninitialized use of rpcurupei in frequency_show
> >
> > Nick Desaulniers (1):
> >       drm/i915: re-disable -Wframe-address
> >
> > Pankaj Bharadiya (9):
> >       drm/i915/display/icl_dsi: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/atomic_plane: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/ddi: Prefer drm_WARN* over WARN*
> >       drm/i915/display/display: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/frontbuffer: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/global_state: Prefer drm_WARN* over WARN*
> >       drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON
> >       drm/i915/display/vlv_dsi: Prefer drm_WARN_ON over WARN_ON
> >
> > Peter Jones (1):
> >       Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE()
> >
> > Radhakrishna Sripada (1):
> >       drm/i915/icl: Update forcewake firmware ranges
> >
> > Stanislav Lisovskiy (3):
> >       drm/i915: Add intel_atomic_get_bw_*_state helpers
> >       drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv
> >       drm/i915: Add pre/post plane updates for SAGV
> >
> > Uma Shankar (1):
> >       drm/i915/display: Enable DP Display Audio WA
> >
> > Ville Syrjälä (16):
> >       drm/i915: Pass encoder to intel_ddi_enable_pipe_clock()
> >       drm/i915: Move the TRANS_DDI_FUNC_CTL enable to a later point
> >       drm/i915: Push TRANS_DDI_FUNC_CTL into the encoder->enable() hook
> >       drm/i915: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get()
> >       drm/i915: Flatten intel_dp_check_mst_status() a bit
> >       drm/i915: Push MST link retraining to the hotplug work
> >       drm/i915: Fix skl+ non-scaled pfit modes
> >       drm/i915: Flatten a bunch of the pfit functions
> >       drm/i915: Use drm_rect to store the pfit window pos/size
> >       drm/i915: s/pipe_config/crtc_state/ in pfit functions
> >       drm/i915: Pass connector state to pfit calculations
> >       drm/i915: Have pfit calculations return an error code
> >       drm/i915: Introduce .set_link_train() vfunc
> >       drm/i915: Introduce .set_signal_levels() vfunc
> >       drm/i915: Introduce .set_idle_link_train() vfunc
> >       drm/i915: Split some long lines
> >
> > Xiyu Yang (1):
> >       drm/i915/selftests: Fix i915_address_space refcnt leak
> >
> > Yan Zhao (3):
> >       drm/i915/gvt: access shadow ctx via its virtual address directly
> >       drm/i915/gvt: combine access to consecutive guest context pages
> >       drm/i915/gvt: skip populate shadow context if guest context not changed
> >
> > Zbigniew Kempczy\u0144ski (1):
> >       drm/i915/selftests: Add tiled blits selftest
> >
> >  drivers/char/agp/intel-gtt.c                       |   17 +-
> >  drivers/gpu/drm/i915/Makefile                      |    6 +-
> >  drivers/gpu/drm/i915/display/icl_dsi.c             |   21 +-
> >  drivers/gpu/drm/i915/display/intel_atomic_plane.c  |    4 +-
> >  drivers/gpu/drm/i915/display/intel_audio.c         |  145 +++
> >  drivers/gpu/drm/i915/display/intel_bw.c            |   24 +-
> >  drivers/gpu/drm/i915/display/intel_bw.h            |    9 +
> >  drivers/gpu/drm/i915/display/intel_connector.c     |    3 +
> >  drivers/gpu/drm/i915/display/intel_crt.c           |    4 +-
> >  drivers/gpu/drm/i915/display/intel_ddi.c           |  244 +++--
> >  drivers/gpu/drm/i915/display/intel_ddi.h           |    6 +-
> >  drivers/gpu/drm/i915/display/intel_display.c       |  374 ++++---
> >  drivers/gpu/drm/i915/display/intel_display.h       |    3 +-
> >  .../gpu/drm/i915/display/intel_display_debugfs.c   |  100 ++
> >  drivers/gpu/drm/i915/display/intel_display_power.c |  534 ++++-----
> >  drivers/gpu/drm/i915/display/intel_display_power.h |    5 +-
> >  drivers/gpu/drm/i915/display/intel_display_types.h |    6 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c            |  608 ++++++-----
> >  .../gpu/drm/i915/display/intel_dp_aux_backlight.c  |    1 +
> >  drivers/gpu/drm/i915/display/intel_dp_mst.c        |    4 +-
> >  drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    8 +-
> >  drivers/gpu/drm/i915/display/intel_dsb.c           |    6 +-
> >  drivers/gpu/drm/i915/display/intel_dsi_vbt.c       |    2 +-
> >  drivers/gpu/drm/i915/display/intel_fbc.c           |    5 +-
> >  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |    6 +-
> >  drivers/gpu/drm/i915/display/intel_global_state.c  |    4 +-
> >  drivers/gpu/drm/i915/display/intel_gmbus.c         |    3 +-
> >  drivers/gpu/drm/i915/display/intel_hdcp.c          |   23 +-
> >  drivers/gpu/drm/i915/display/intel_hdmi.c          |   56 +-
> >  drivers/gpu/drm/i915/display/intel_lvds.c          |   16 +-
> >  drivers/gpu/drm/i915/display/intel_overlay.c       |    6 +-
> >  drivers/gpu/drm/i915/display/intel_panel.c         |  140 +--
> >  drivers/gpu/drm/i915/display/intel_panel.h         |   10 +-
> >  drivers/gpu/drm/i915/display/intel_tc.c            |   95 +-
> >  drivers/gpu/drm/i915/display/vlv_dsi.c             |   11 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_context.c        |    4 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_domain.c         |    7 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    2 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_object.c         |    4 +-
> >  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   20 +-
> >  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   95 +-
> >  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  595 ++++++++++
> >  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    1 -
> >  drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   64 +-
> >  drivers/gpu/drm/i915/gt/intel_context_sseu.c       |    3 +-
> >  drivers/gpu/drm/i915/gt/intel_context_types.h      |   10 +-
> >  drivers/gpu/drm/i915/gt/intel_engine.h             |    3 -
> >  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   82 +-
> >  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   10 +-
> >  drivers/gpu/drm/i915/gt/intel_engine_types.h       |   41 +-
> >  drivers/gpu/drm/i915/gt/intel_ggtt.c               |   15 -
> >  drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    3 +-
> >  drivers/gpu/drm/i915/gt/intel_gt.c                 |   63 +-
> >  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  102 ++
> >  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h     |   27 +
> >  drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   10 +-
> >  drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   20 +-
> >  drivers/gpu/drm/i915/gt/intel_gt_types.h           |    9 +-
> >  drivers/gpu/drm/i915/gt/intel_lrc.c                |  703 ++++++++----
> >  drivers/gpu/drm/i915/gt/intel_lrc.h                |    1 +
> >  drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    6 +-
> >  drivers/gpu/drm/i915/gt/intel_renderstate.c        |    4 +-
> >  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   16 +-
> >  drivers/gpu/drm/i915/gt/intel_rps.c                |  350 ++++--
> >  drivers/gpu/drm/i915/gt/intel_rps.h                |   60 ++
> >  drivers/gpu/drm/i915/gt/intel_rps_types.h          |   14 +-
> >  drivers/gpu/drm/i915/gt/intel_timeline.c           |   19 +-
> >  drivers/gpu/drm/i915/gt/intel_timeline.h           |    2 +
> >  drivers/gpu/drm/i915/gt/selftest_context.c         |    2 +-
> >  drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    6 +
> >  drivers/gpu/drm/i915/gt/selftest_lrc.c             |  534 ++++++++-
> >  drivers/gpu/drm/i915/gt/selftest_rc6.c             |   25 +-
> >  drivers/gpu/drm/i915/gt/selftest_rps.c             | 1134 +++++++++++++++++++-
> >  drivers/gpu/drm/i915/gt/selftest_rps.h             |    6 +
> >  drivers/gpu/drm/i915/gt/shmem_utils.c              |  173 +++
> >  drivers/gpu/drm/i915/gt/shmem_utils.h              |   23 +
> >  drivers/gpu/drm/i915/gt/st_shmem_utils.c           |   63 ++
> >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |    2 +-
> >  drivers/gpu/drm/i915/gvt/gtt.c                     |   15 +
> >  drivers/gpu/drm/i915/gvt/gvt.c                     |    1 -
> >  drivers/gpu/drm/i915/gvt/gvt.h                     |    5 +
> >  drivers/gpu/drm/i915/gvt/hypercall.h               |    2 -
> >  drivers/gpu/drm/i915/gvt/scheduler.c               |  136 ++-
> >  drivers/gpu/drm/i915/i915_debugfs.c                |   39 +-
> >  drivers/gpu/drm/i915/i915_drv.c                    |  119 +-
> >  drivers/gpu/drm/i915/i915_drv.h                    |    4 +-
> >  drivers/gpu/drm/i915/i915_gpu_error.c              |   43 +-
> >  drivers/gpu/drm/i915/i915_gpu_error.h              |    1 -
> >  drivers/gpu/drm/i915/i915_irq.c                    |    6 +-
> >  drivers/gpu/drm/i915/i915_pci.c                    |   14 +
> >  drivers/gpu/drm/i915/i915_perf.c                   |    8 +-
> >  drivers/gpu/drm/i915/i915_pmu.c                    |   32 +-
> >  drivers/gpu/drm/i915/i915_reg.h                    |   54 +-
> >  drivers/gpu/drm/i915/i915_vma.c                    |   38 +-
> >  drivers/gpu/drm/i915/intel_device_info.c           |    1 +
> >  drivers/gpu/drm/i915/intel_device_info.h           |    2 +
> >  drivers/gpu/drm/i915/intel_pm.c                    |   88 +-
> >  drivers/gpu/drm/i915/intel_pm.h                    |    2 +
> >  drivers/gpu/drm/i915/intel_sideband.c              |    4 +-
> >  drivers/gpu/drm/i915/intel_uncore.c                |   31 +-
> >  drivers/gpu/drm/i915/intel_wopcm.c                 |   22 +-
> >  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   32 +-
> >  .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    1 +
> >  .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    1 +
> >  drivers/gpu/drm/i915/selftests/i915_request.c      |  572 +++++++++-
> >  drivers/gpu/drm/i915/selftests/i915_vma.c          |    2 +-
> >  drivers/gpu/drm/i915/selftests/librapl.c           |   24 +
> >  drivers/gpu/drm/i915/selftests/librapl.h           |   13 +
> >  108 files changed, 6193 insertions(+), 1961 deletions(-)
> >  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
> >  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
> >  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.c
> >  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.h
> >  create mode 100644 drivers/gpu/drm/i915/gt/st_shmem_utils.c
> >  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.c
> >  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.h
Joonas Lahtinen May 14, 2020, 2:55 p.m. UTC | #3
Quoting Dave Airlie (2020-05-14 04:28:17)
> On Thu, 14 May 2020 at 03:10, Joonas Lahtinen
> <joonas.lahtinen@linux.intel.com> wrote:
> >
> > Ping for merging this? If there are no issues, I'd prefer to pull in
> > next gvt-next and tag the final pull sooner than later.
> 
> Can you check that I'm correct and this isn;'t in patchwork. I've
> checked both the dri-devel and intel-gfx patchworks for it.

We don't have drm-intel-next going to CI separately as it's a point in
time from drm-intel-next-queued. dinq testing seems to be daily today,
but indeed, I do get a for that day 404:

https://intel-gfx-ci.01.org/tree/drm-intel-next-queued/dinq-20200430/combined-alt.html

I could not locate drm-tip results for that DRIVER_DATE update either.

Tomi and Arek, can you take a look?

All drm-intel-next-fixes tags will still get a separate run, so should
be easier to find.

Regards, Joonas

> Dave.
> >
> > Regards, Joonas
> >
> > Quoting Joonas Lahtinen (2020-04-30 15:49:04)
> > > Hi Dave & Daniel,
> > >
> > > Fix for performance regression GitLab #1698: Iris Plus 655 and
> > > 4K screen. Missing workarounds for Tigerlake, and a fix for
> > > DP display audio WA. Unbreaking enable_dpcd_backlight, fixes
> > > to power code for Icelake+.
> > >
> > > Improvements to the soft-RC6 code to improve power efficiency,
> > > a fix for the timestamp corruption on Tigerlake and plenty of
> > > smaller fixes for CI found corner cases.
> > >
> > > Lots of refactoring that prep for upcoming changes, so I expect
> > > the next PR to be quite busy.
> > >
> > > Includes gvt-next-2020-04-22: Removes left non-upstream xen support
> > > bits which will be kept out of tree instead. And several guest
> > > context shadow optimizations.
> > >
> > > Regards, Joonas
> > >
> > > PS. Noticed the ack for locking rules, thanks! Will merge it.
> > >
> > > ***
> > >
> > > drm-intel-next-2020-04-30:
> > >
> > > Driver Changes:
> > >
> > > - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
> > >   Iris Plus 655 and 4K screen (Chris)
> > > - Add Wa_14011059788 for Tigerlake (Matt A)
> > > - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> > > - Use indirect ctx bb to load cmd buffer control value
> > >   from context image to avoid corruption (Mika)
> > > - Enable DP Display Audio WA (Uma, Jani)
> > > - Update forcewake firmware ranges for Icelake (Radhakrishna)
> > > - Add missing deinitialization cases of load failure for display (Jose)
> > > - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> > > - Unbreak enable_dpcd_backlight modparam (Lyude)
> > > - Move the late flush_submission in retire to the end (Chris)
> > > - Demote "Reducing compressed framebufer size" message to info (Peter)
> > > - Push MST link retraining to the hotplug work (Ville)
> > > - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> > > - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> > > - Fix skl+ non-scaled pfit modes (Ville)
> > > - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> > > - Sanitize GT first before poisoning HWSP (Chris)
> > > - Fix up clock RPS frequency readout (Chris)
> > > - Avoid reusing the same logical CCID (Chris)
> > > - Avoid dereferencing a dead context (Chris)
> > > - Always enable busy-stats for execlists (Chris)
> > > - Apply the aggressive downclocking to parking (Chris)
> > > - Restore aggressive post-boost downclocking (Chris)
> > >
> > > - Scrub execlists state on resume (Chris)
> > > - Add debugfs attributes for LPSP (Ansuman)
> > > - Improvements to kernel selftests (Chris, Mika)
> > > - Add tiled blits selftest (Zbigniew)
> > > - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> > > - Add pre/post plane updates for SAGV (Stanislav)
> > > - Add ICL PG3 PW ID for EHL (Anshuman)
> > > - Fix Sphinx build duplicate label warning (Jani)
> > > - Error log non-zero audio power refcount after unbind (Jani)
> > > - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> > > - Use single set of AUX powerwell ops for gen11+ (Matt R)
> > > - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> > > - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> > > - Convert request-before-CS assertion to debug (Chris)
> > > - Carefully order virtual_submission_tasklet (Chris)
> > > - Check carefully for an idle engine in wait-for-idle (Chris)
> > > - Only close vma we open (Chris)
> > > - Trace RPS events (Chris)
> > > - Use the RPM config register to determine clk frequencies (Chris)
> > > - Drop rq->ring->vma peeking from error capture (Chris)
> > > - Check preempt-timeout target before submit_ports (Chris)
> > > - Check HWSP cacheline is valid before acquiring (Chris)
> > > - Use proper fault mask in interrupt postinstall too (Matt R)
> > > - Keep a no-frills swappable copy of the default context state (Chris)
> > >
> > > - Add atomic helpers for bandwidth (Stanislav)
> > > - Refactor setting dma info to a common helper from device info (Michael)
> > > - Refactor DDI transcoder code for clairty (Ville)
> > > - Extend PG3 power well ID to ICL (Anshuman)
> > > - Refactor PFIT code for readability and future extensibility (Ville)
> > > - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> > > - Move out code to return the digital_port of the aux ch (Jose)
> > > - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> > > - Remove superfluous inlines and dead code (Jani)
> > > - Re-disable -Wframe-address from top-level Makefile (Nick)
> > > - Static checker and spelling fixes (Colin, Nathan)
> > > - Split long lines (Ville)
> > >
> > > The following changes since commit b06ef327e26367b9286a2079b31cde8d2161c0d8:
> > >
> > >   drm/i915: Update DRIVER_DATE to 20200417 (2020-04-17 09:35:00 +0300)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-04-30
> > >
> > > for you to fetch changes up to 230982d8d8df7f9d9aa216840ea2db1df6ad5d37:
> > >
> > >   drm/i915: Update DRIVER_DATE to 20200430 (2020-04-30 11:13:21 +0300)
> > >
> > > ----------------------------------------------------------------
> > > Driver Changes:
> > >
> > > - Fix GitLab #1698: Performance regression with Linux 5.7-rc1 on
> > >   Iris Plus 655 and 4K screen (Chris)
> > > - Add Wa_14011059788 for Tigerlake (Matt A)
> > > - Add per ctx batchbuffer wa for timestamp for Gen12 (Mika)
> > > - Use indirect ctx bb to load cmd buffer control value
> > >   from context image to avoid corruption (Mika)
> > > - Enable DP Display Audio WA (Uma, Jani)
> > > - Update forcewake firmware ranges for Icelake (Radhakrishna)
> > > - Add missing deinitialization cases of load failure for display (Jose)
> > > - Implement TC cold sequences for Icelake and Tigerlake (Jose)
> > > - Unbreak enable_dpcd_backlight modparam (Lyude)
> > > - Move the late flush_submission in retire to the end (Chris)
> > > - Demote "Reducing compressed framebufer size" message to info (Peter)
> > > - Push MST link retraining to the hotplug work (Ville)
> > > - Hold obj->vma.lock over for_each_ggtt_vma() (Chris)
> > > - Fix timeout handling during TypeC AUX power well enabling for ICL (Imre)
> > > - Fix skl+ non-scaled pfit modes (Ville)
> > > - Prefer soft-rc6 over RPS DOWN_TIMEOUT (Chris)
> > > - Sanitize GT first before poisoning HWSP (Chris)
> > > - Fix up clock RPS frequency readout (Chris)
> > > - Avoid reusing the same logical CCID (Chris)
> > > - Avoid dereferencing a dead context (Chris)
> > > - Always enable busy-stats for execlists (Chris)
> > > - Apply the aggressive downclocking to parking (Chris)
> > > - Restore aggressive post-boost downclocking (Chris)
> > >
> > > - Scrub execlists state on resume (Chris)
> > > - Add debugfs attributes for LPSP (Ansuman)
> > > - Improvements to kernel selftests (Chris, Mika)
> > > - Add tiled blits selftest (Zbigniew)
> > > - Fix error handling in __live_lrc_indirect_ctx_bb() (Dan)
> > > - Add pre/post plane updates for SAGV (Stanislav)
> > > - Add ICL PG3 PW ID for EHL (Anshuman)
> > > - Fix Sphinx build duplicate label warning (Jani)
> > > - Error log non-zero audio power refcount after unbind (Jani)
> > > - Remove object_is_locked assertion from unpin_from_display_plane (Chris)
> > > - Use single set of AUX powerwell ops for gen11+ (Matt R)
> > > - Prefer drm_WARN_ON over WARN_ON (Pankaj)
> > > - Poison residual state [HWSP] across resume (Chris, Tvrtko)
> > > - Convert request-before-CS assertion to debug (Chris)
> > > - Carefully order virtual_submission_tasklet (Chris)
> > > - Check carefully for an idle engine in wait-for-idle (Chris)
> > > - Only close vma we open (Chris)
> > > - Trace RPS events (Chris)
> > > - Use the RPM config register to determine clk frequencies (Chris)
> > > - Drop rq->ring->vma peeking from error capture (Chris)
> > > - Check preempt-timeout target before submit_ports (Chris)
> > > - Check HWSP cacheline is valid before acquiring (Chris)
> > > - Use proper fault mask in interrupt postinstall too (Matt R)
> > > - Keep a no-frills swappable copy of the default context state (Chris)
> > >
> > > - Add atomic helpers for bandwidth (Stanislav)
> > > - Refactor setting dma info to a common helper from device info (Michael)
> > > - Refactor DDI transcoder code for clairty (Ville)
> > > - Extend PG3 power well ID to ICL (Anshuman)
> > > - Refactor PFIT code for readability and future extensibility (Ville)
> > > - Clarify code split between intel_ddi.c and intel_dp.c (Ville)
> > > - Move out code to return the digital_port of the aux ch (Jose)
> > > - Move rps.enabled/active  and use of RPS interrupts to flags (Chris)
> > > - Remove superfluous inlines and dead code (Jani)
> > > - Re-disable -Wframe-address from top-level Makefile (Nick)
> > > - Static checker and spelling fixes (Colin, Nathan)
> > > - Split long lines (Ville)
> > >
> > > ----------------------------------------------------------------
> > > Anshuman Gupta (5):
> > >       drm/i915: Power well id for ICL PG3
> > >       drm/i915: Add i915_lpsp_capability debugfs
> > >       drm/i915: Add connector dbgfs for all connectors
> > >       drm/i915: Add i915_lpsp_status debugfs attribute
> > >       drm/i915: Add ICL PG3 PW ID for EHL
> > >
> > > Chris Wilson (46):
> > >       drm/i915/gt: Scrub execlists state on resume
> > >       drm/i915/selftests: Delay spinner before waiting for an interrupt
> > >       drm/i915/selftests: Take the engine wakeref around __rps_up_interrupt
> > >       drm/i915/selftests: Move gpu energy measurement into its own little lib
> > >       drm/i915/selftests: Check power consumption at min/max frequencies
> > >       drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane
> > >       drm/i915/gt: Move the late flush_submission in retire to the end
> > >       drm/i915/selftests: Verify frequency scaling with RPS
> > >       drm/i915/selftests: Skip energy consumption tests if not controlling freq
> > >       drm/i915/selftests: Check RPS controls
> > >       drm/i915/selftests: Split RPS frequency measurement
> > >       drm/i915/selftests: Show the pcode frequency table on error
> > >       drm/i915/selftests: Exercise dynamic reclocking with RPS
> > >       drm/i915/selftests: Show the pstate limits on any failure to reset min
> > >       drm/i915/selftests: Show the full scaling curve on failure
> > >       drm/i915/selftests: Disable C-states when measuring RPS frequency response
> > >       drm/i915/gt: Poison residual state [HWSP] across resume.
> > >       drm/i915/selftests: Unroll the CS frequency loop
> > >       drm/i915/selftests: Disable heartbeat around RPS interrupt testing
> > >       drm/i915/selftests: Try to detect rollback during batchbuffer preemption
> > >       drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
> > >       drm/i915/execlists: Drop request-before-CS assertion
> > >       drm/i915/gt: Carefully order virtual_submission_tasklet
> > >       drm/i915/gt: Check carefully for an idle engine in wait-for-idle
> > >       drm/i915/selftests: Add request throughput measurement to perf
> > >       drm/i915: Only close vma we open
> > >       drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT
> > >       drm/i915/gt: Trace RPS events
> > >       drm/i915/gt: Use the RPM config register to determine clk frequencies
> > >       drm/i915: Drop rq->ring->vma peeking from error capture
> > >       drm/i915/execlists: Check preempt-timeout target before submit_ports
> > >       drm/i915/gt: Check cacheline is valid before acquiring
> > >       drm/i915/gt: Sanitize GT first
> > >       drm/i915/gt: Fix up clock frequency
> > >       drm/i915/selftests: Tweak the tolerance for clock ticks to 12.5%
> > >       drm/i915/execlists: Avoid reusing the same logical CCID
> > >       drm/i915/execlists: Track inflight CCID
> > >       drm/i915/execlists: Verify we don't submit two identical CCIDs
> > >       drm/i915: Avoid dereferencing a dead context
> > >       drm/i915/gt: Keep a no-frills swappable copy of the default context state
> > >       drm/i915/gt: Always enable busy-stats for execlists
> > >       drm/i915/gt: Move rps.enabled/active to flags
> > >       drm/i915/gt: Track use of RPS interrupts in flags
> > >       drm/i915/gt: Switch to manual evaluation of RPS
> > >       drm/i915/gt: Apply the aggressive downclocking to parking
> > >       drm/i915/gt: Restore aggressive post-boost downclocking
> > >
> > > Christoph Hellwig (1):
> > >       i915/gvt: remove unused xen bits
> > >
> > > Colin Ian King (2):
> > >       drm/i915: remove redundant assignment to variable test_result
> > >       drm/i915/gt: fix spelling mistake "evalution" -> "evaluation"
> > >
> > > Dan Carpenter (1):
> > >       drm/i915/selftests: fix error handling in __live_lrc_indirect_ctx_bb()
> > >
> > > Imre Deak (1):
> > >       drm/i915/icl: Fix timeout handling during TypeC AUX power well enabling
> > >
> > > Jani Nikula (5):
> > >       drm/i915: fix Sphinx build duplicate label warning
> > >       drm/i915/audio: error log non-zero audio power refcount after unbind
> > >       drm/i915/hdmi: remove unused intel_hdmi_hdcp2_protocol()
> > >       drm/i915: drop a bunch of superfluous inlines
> > >       drm/i915/audio: fix compressed_bpp check
> > >
> > > Joonas Lahtinen (2):
> > >       Merge tag 'gvt-next-2020-04-22' of https://github.com/intel/gvt-linux into drm-intel-next-queued
> > >       drm/i915: Update DRIVER_DATE to 20200430
> > >
> > > José Roberto de Souza (10):
> > >       drm/i915: Add missing deinitialization cases of load failure
> > >       drm/i915/display: Move out code to return the digital_port of the aux ch
> > >       drm/i915/display: Add intel_legacy_aux_to_power_domain()
> > >       drm/i915/display: Split hsw_power_well_enable() into two
> > >       drm/i915/tc/icl: Implement TC cold sequences
> > >       drm/i915/tc: Skip ref held check for TC legacy aux power wells
> > >       drm/i915/tc/tgl: Implement TC cold sequences
> > >       drm/i915/tc: Catch TC users accessing FIA registers without enable aux
> > >       drm/i915/tc: Do not warn when aux power well of static TC ports timeout
> > >       drm/i915/display: Load DP_TP_CTL/STATUS offset before use it
> > >
> > > Lyude Paul (1):
> > >       drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam
> > >
> > > Matt Atwood (1):
> > >       drm/i915/tgl: Wa_14011059788
> > >
> > > Matt Roper (2):
> > >       drm/i915: Use single set of AUX powerwell ops for gen11+
> > >       drm/i915: Use proper fault mask in interrupt postinstall too
> > >
> > > Michael J. Ruhl (1):
> > >       drm/i915: Refactor setting dma info to a common helper
> > >
> > > Mika Kuoppala (6):
> > >       drm/i915/selftests: Add context batchbuffers registers to live_lrc_fixed
> > >       drm/i915: Make define for lrc state offset
> > >       drm/i915: Add engine scratch register to live_lrc_fixed
> > >       drm/i915: Add per ctx batchbuffer wa for timestamp
> > >       drm/i915: Add live selftests for indirect ctx batchbuffers
> > >       drm/i915: Use indirect ctx bb to mend CMD_BUF_CCTL
> > >
> > > Nathan Chancellor (1):
> > >       drm/i915/gt: Avoid uninitialized use of rpcurupei in frequency_show
> > >
> > > Nick Desaulniers (1):
> > >       drm/i915: re-disable -Wframe-address
> > >
> > > Pankaj Bharadiya (9):
> > >       drm/i915/display/icl_dsi: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/atomic_plane: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/ddi: Prefer drm_WARN* over WARN*
> > >       drm/i915/display/display: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/frontbuffer: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/global_state: Prefer drm_WARN* over WARN*
> > >       drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON
> > >       drm/i915/display/vlv_dsi: Prefer drm_WARN_ON over WARN_ON
> > >
> > > Peter Jones (1):
> > >       Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE()
> > >
> > > Radhakrishna Sripada (1):
> > >       drm/i915/icl: Update forcewake firmware ranges
> > >
> > > Stanislav Lisovskiy (3):
> > >       drm/i915: Add intel_atomic_get_bw_*_state helpers
> > >       drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv
> > >       drm/i915: Add pre/post plane updates for SAGV
> > >
> > > Uma Shankar (1):
> > >       drm/i915/display: Enable DP Display Audio WA
> > >
> > > Ville Syrjälä (16):
> > >       drm/i915: Pass encoder to intel_ddi_enable_pipe_clock()
> > >       drm/i915: Move the TRANS_DDI_FUNC_CTL enable to a later point
> > >       drm/i915: Push TRANS_DDI_FUNC_CTL into the encoder->enable() hook
> > >       drm/i915: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get()
> > >       drm/i915: Flatten intel_dp_check_mst_status() a bit
> > >       drm/i915: Push MST link retraining to the hotplug work
> > >       drm/i915: Fix skl+ non-scaled pfit modes
> > >       drm/i915: Flatten a bunch of the pfit functions
> > >       drm/i915: Use drm_rect to store the pfit window pos/size
> > >       drm/i915: s/pipe_config/crtc_state/ in pfit functions
> > >       drm/i915: Pass connector state to pfit calculations
> > >       drm/i915: Have pfit calculations return an error code
> > >       drm/i915: Introduce .set_link_train() vfunc
> > >       drm/i915: Introduce .set_signal_levels() vfunc
> > >       drm/i915: Introduce .set_idle_link_train() vfunc
> > >       drm/i915: Split some long lines
> > >
> > > Xiyu Yang (1):
> > >       drm/i915/selftests: Fix i915_address_space refcnt leak
> > >
> > > Yan Zhao (3):
> > >       drm/i915/gvt: access shadow ctx via its virtual address directly
> > >       drm/i915/gvt: combine access to consecutive guest context pages
> > >       drm/i915/gvt: skip populate shadow context if guest context not changed
> > >
> > > Zbigniew Kempczy\u0144ski (1):
> > >       drm/i915/selftests: Add tiled blits selftest
> > >
> > >  drivers/char/agp/intel-gtt.c                       |   17 +-
> > >  drivers/gpu/drm/i915/Makefile                      |    6 +-
> > >  drivers/gpu/drm/i915/display/icl_dsi.c             |   21 +-
> > >  drivers/gpu/drm/i915/display/intel_atomic_plane.c  |    4 +-
> > >  drivers/gpu/drm/i915/display/intel_audio.c         |  145 +++
> > >  drivers/gpu/drm/i915/display/intel_bw.c            |   24 +-
> > >  drivers/gpu/drm/i915/display/intel_bw.h            |    9 +
> > >  drivers/gpu/drm/i915/display/intel_connector.c     |    3 +
> > >  drivers/gpu/drm/i915/display/intel_crt.c           |    4 +-
> > >  drivers/gpu/drm/i915/display/intel_ddi.c           |  244 +++--
> > >  drivers/gpu/drm/i915/display/intel_ddi.h           |    6 +-
> > >  drivers/gpu/drm/i915/display/intel_display.c       |  374 ++++---
> > >  drivers/gpu/drm/i915/display/intel_display.h       |    3 +-
> > >  .../gpu/drm/i915/display/intel_display_debugfs.c   |  100 ++
> > >  drivers/gpu/drm/i915/display/intel_display_power.c |  534 ++++-----
> > >  drivers/gpu/drm/i915/display/intel_display_power.h |    5 +-
> > >  drivers/gpu/drm/i915/display/intel_display_types.h |    6 +-
> > >  drivers/gpu/drm/i915/display/intel_dp.c            |  608 ++++++-----
> > >  .../gpu/drm/i915/display/intel_dp_aux_backlight.c  |    1 +
> > >  drivers/gpu/drm/i915/display/intel_dp_mst.c        |    4 +-
> > >  drivers/gpu/drm/i915/display/intel_dpll_mgr.c      |    8 +-
> > >  drivers/gpu/drm/i915/display/intel_dsb.c           |    6 +-
> > >  drivers/gpu/drm/i915/display/intel_dsi_vbt.c       |    2 +-
> > >  drivers/gpu/drm/i915/display/intel_fbc.c           |    5 +-
> > >  drivers/gpu/drm/i915/display/intel_frontbuffer.c   |    6 +-
> > >  drivers/gpu/drm/i915/display/intel_global_state.c  |    4 +-
> > >  drivers/gpu/drm/i915/display/intel_gmbus.c         |    3 +-
> > >  drivers/gpu/drm/i915/display/intel_hdcp.c          |   23 +-
> > >  drivers/gpu/drm/i915/display/intel_hdmi.c          |   56 +-
> > >  drivers/gpu/drm/i915/display/intel_lvds.c          |   16 +-
> > >  drivers/gpu/drm/i915/display/intel_overlay.c       |    6 +-
> > >  drivers/gpu/drm/i915/display/intel_panel.c         |  140 +--
> > >  drivers/gpu/drm/i915/display/intel_panel.h         |   10 +-
> > >  drivers/gpu/drm/i915/display/intel_tc.c            |   95 +-
> > >  drivers/gpu/drm/i915/display/vlv_dsi.c             |   11 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_context.c        |    4 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_domain.c         |    7 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    2 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_object.c         |    4 +-
> > >  drivers/gpu/drm/i915/gem/i915_gem_tiling.c         |   20 +-
> > >  drivers/gpu/drm/i915/gem/selftests/huge_pages.c    |   95 +-
> > >  .../drm/i915/gem/selftests/i915_gem_client_blt.c   |  595 ++++++++++
> > >  .../gpu/drm/i915/gem/selftests/i915_gem_context.c  |    1 -
> > >  drivers/gpu/drm/i915/gt/debugfs_gt_pm.c            |   64 +-
> > >  drivers/gpu/drm/i915/gt/intel_context_sseu.c       |    3 +-
> > >  drivers/gpu/drm/i915/gt/intel_context_types.h      |   10 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine.h             |    3 -
> > >  drivers/gpu/drm/i915/gt/intel_engine_cs.c          |   82 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine_pm.c          |   10 +-
> > >  drivers/gpu/drm/i915/gt/intel_engine_types.h       |   41 +-
> > >  drivers/gpu/drm/i915/gt/intel_ggtt.c               |   15 -
> > >  drivers/gpu/drm/i915/gt/intel_gpu_commands.h       |    3 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt.c                 |   63 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c     |  102 ++
> > >  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h     |   27 +
> > >  drivers/gpu/drm/i915/gt/intel_gt_pm.c              |   10 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt_requests.c        |   20 +-
> > >  drivers/gpu/drm/i915/gt/intel_gt_types.h           |    9 +-
> > >  drivers/gpu/drm/i915/gt/intel_lrc.c                |  703 ++++++++----
> > >  drivers/gpu/drm/i915/gt/intel_lrc.h                |    1 +
> > >  drivers/gpu/drm/i915/gt/intel_lrc_reg.h            |    6 +-
> > >  drivers/gpu/drm/i915/gt/intel_renderstate.c        |    4 +-
> > >  drivers/gpu/drm/i915/gt/intel_ring_submission.c    |   16 +-
> > >  drivers/gpu/drm/i915/gt/intel_rps.c                |  350 ++++--
> > >  drivers/gpu/drm/i915/gt/intel_rps.h                |   60 ++
> > >  drivers/gpu/drm/i915/gt/intel_rps_types.h          |   14 +-
> > >  drivers/gpu/drm/i915/gt/intel_timeline.c           |   19 +-
> > >  drivers/gpu/drm/i915/gt/intel_timeline.h           |    2 +
> > >  drivers/gpu/drm/i915/gt/selftest_context.c         |    2 +-
> > >  drivers/gpu/drm/i915/gt/selftest_gt_pm.c           |    6 +
> > >  drivers/gpu/drm/i915/gt/selftest_lrc.c             |  534 ++++++++-
> > >  drivers/gpu/drm/i915/gt/selftest_rc6.c             |   25 +-
> > >  drivers/gpu/drm/i915/gt/selftest_rps.c             | 1134 +++++++++++++++++++-
> > >  drivers/gpu/drm/i915/gt/selftest_rps.h             |    6 +
> > >  drivers/gpu/drm/i915/gt/shmem_utils.c              |  173 +++
> > >  drivers/gpu/drm/i915/gt/shmem_utils.h              |   23 +
> > >  drivers/gpu/drm/i915/gt/st_shmem_utils.c           |   63 ++
> > >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |    2 +-
> > >  drivers/gpu/drm/i915/gvt/gtt.c                     |   15 +
> > >  drivers/gpu/drm/i915/gvt/gvt.c                     |    1 -
> > >  drivers/gpu/drm/i915/gvt/gvt.h                     |    5 +
> > >  drivers/gpu/drm/i915/gvt/hypercall.h               |    2 -
> > >  drivers/gpu/drm/i915/gvt/scheduler.c               |  136 ++-
> > >  drivers/gpu/drm/i915/i915_debugfs.c                |   39 +-
> > >  drivers/gpu/drm/i915/i915_drv.c                    |  119 +-
> > >  drivers/gpu/drm/i915/i915_drv.h                    |    4 +-
> > >  drivers/gpu/drm/i915/i915_gpu_error.c              |   43 +-
> > >  drivers/gpu/drm/i915/i915_gpu_error.h              |    1 -
> > >  drivers/gpu/drm/i915/i915_irq.c                    |    6 +-
> > >  drivers/gpu/drm/i915/i915_pci.c                    |   14 +
> > >  drivers/gpu/drm/i915/i915_perf.c                   |    8 +-
> > >  drivers/gpu/drm/i915/i915_pmu.c                    |   32 +-
> > >  drivers/gpu/drm/i915/i915_reg.h                    |   54 +-
> > >  drivers/gpu/drm/i915/i915_vma.c                    |   38 +-
> > >  drivers/gpu/drm/i915/intel_device_info.c           |    1 +
> > >  drivers/gpu/drm/i915/intel_device_info.h           |    2 +
> > >  drivers/gpu/drm/i915/intel_pm.c                    |   88 +-
> > >  drivers/gpu/drm/i915/intel_pm.h                    |    2 +
> > >  drivers/gpu/drm/i915/intel_sideband.c              |    4 +-
> > >  drivers/gpu/drm/i915/intel_uncore.c                |   31 +-
> > >  drivers/gpu/drm/i915/intel_wopcm.c                 |   22 +-
> > >  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   32 +-
> > >  .../gpu/drm/i915/selftests/i915_mock_selftests.h   |    1 +
> > >  .../gpu/drm/i915/selftests/i915_perf_selftests.h   |    1 +
> > >  drivers/gpu/drm/i915/selftests/i915_request.c      |  572 +++++++++-
> > >  drivers/gpu/drm/i915/selftests/i915_vma.c          |    2 +-
> > >  drivers/gpu/drm/i915/selftests/librapl.c           |   24 +
> > >  drivers/gpu/drm/i915/selftests/librapl.h           |   13 +
> > >  108 files changed, 6193 insertions(+), 1961 deletions(-)
> > >  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
> > >  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
> > >  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.c
> > >  create mode 100644 drivers/gpu/drm/i915/gt/shmem_utils.h
> > >  create mode 100644 drivers/gpu/drm/i915/gt/st_shmem_utils.c
> > >  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.c
> > >  create mode 100644 drivers/gpu/drm/i915/selftests/librapl.h