[Intel-gfx] [PULL] drm-intel-next for 4.19

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Jul 10 23:43:49 UTC 2018


Hi Dave,

This is probably the last big pull targeting 4.19.
I will probably send another small one by the end of this week and
if possible another smaller one by next one.

Here goes drm-intel-next-2018-07-09:

Higlights here goes to many PSR fixes and improvements; to the Ice lake work with
power well support and begin of DSI support addition. Also there were many improvements
on execlists and interrupts for minimal latency on command submission; and many fixes
on selftests, mostly caught by our CI.

General driver:
- Clean-up on aux irq (Lucas)
- Mark expected switch fall-through for dealing with static analysis tools (Gustavo)

Gem:
- Different fixes for GuC (Chris, Anusha, Michal)
- Avoid self-relocation BIAS if no relocation (Chris)
- Improve debugging cases in on EINVAL return and vma allocation (Chris)
- Fixes and improvements on context destroying and freeing (Chris)
- Wait for engines to idle before retiring (Chris)
- Many improvements on execlists and interrupts for minimal latency on command submission (Chris)
- Many fixes in selftests, specially on cases highlighted on CI (Chris)
- Other fixes and improvements around GGTT (Chris)
- Prevent background reaping of active objects (Chris)

Display:
- Parallel modeset cleanup to fix driver reset (Chris)
- Get AUX power domain for DP main link (Imre)
- Clean-up on PSR unused func pointers (Rodrigo)
- Many PSR/PSR2 fixes and improvements (DK, Jose, Tarun)
- Add a PSR1 live status (Vathsala)
- Replace old drm_*_{un/reference} with put,get functions (Thomas)
- FBC fixes (Maarten)
- Abstract and document the usage of picking macros (Jani)
- Remove unnecessary check for unsupported modifiers for NV12. (DK)
- Interrupt fixes for display (Ville)
- Clean up on sdvo code (Ville)
- Clean up on current DSI code (Jani)
- Remove support for legacy debugfs crc interface (Maarten)
- Simplify get_encoder_power_domains (Imre)

Icelake:
- MG PLL fixes (Imre)
- Add hw workaround for alpha blending (Vandita)
- Add power well support (Imre)
- Add Interrupt Support (Anusha)
- Start to add support for DSI on Ice Lake (Madhav)

Thanks,
Rodrigo.

The following changes since commit e1cacec9d50d7299893eeab2d895189f3db625da:

  drm/i915: Update DRIVER_DATE to 20180620 (2018-06-20 14:10:48 -0700)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2018-07-09

for you to fetch changes up to 82edc7e8b8c06151bdc653935bc13b83e2f0fcfa:

  drm/i915: Update DRIVER_DATE to 20180709 (2018-07-09 15:39:27 -0700)

----------------------------------------------------------------
Higlights here goes to many PSR fixes and improvements; to the Ice lake work with
power well support and begin of DSI support addition. Also there were many improvements
on execlists and interrupts for minimal latency on command submission; and many fixes
on selftests, mostly caught by our CI.

General driver:
- Clean-up on aux irq (Lucas)
- Mark expected switch fall-through for dealing with static analysis tools (Gustavo)

Gem:
- Different fixes for GuC (Chris, Anusha, Michal)
- Avoid self-relocation BIAS if no relocation (Chris)
- Improve debugging cases in on EINVAL return and vma allocation (Chris)
- Fixes and improvements on context destroying and freeing (Chris)
- Wait for engines to idle before retiring (Chris)
- Many improvements on execlists and interrupts for minimal latency on command submission (Chris)
- Many fixes in selftests, specially on cases highlighted on CI (Chris)
- Other fixes and improvements around GGTT (Chris)
- Prevent background reaping of active objects (Chris)

Display:
- Parallel modeset cleanup to fix driver reset (Chris)
- Get AUX power domain for DP main link (Imre)
- Clean-up on PSR unused func pointers (Rodrigo)
- Many PSR/PSR2 fixes and improvements (DK, Jose, Tarun)
- Add a PSR1 live status (Vathsala)
- Replace old drm_*_{un/reference} with put,get functions (Thomas)
- FBC fixes (Maarten)
- Abstract and document the usage of picking macros (Jani)
- Remove unnecessary check for unsupported modifiers for NV12. (DK)
- Interrupt fixes for display (Ville)
- Clean up on sdvo code (Ville)
- Clean up on current DSI code (Jani)
- Remove support for legacy debugfs crc interface (Maarten)
- Simplify get_encoder_power_domains (Imre)

Icelake:
- MG PLL fixes (Imre)
- Add hw workaround for alpha blending (Vandita)
- Add power well support (Imre)
- Add Interrupt Support (Anusha)
- Start to add support for DSI on Ice Lake (Madhav)

----------------------------------------------------------------
Anusha Srivatsa (2):
      drm/i915/guc: Remove USES_GUC_SUBMISSION for ads programming
      drm/i915/icp: Add Interrupt Support

Chris Wilson (65):
      drm/i915: Disable bh around call to tasklet
      drm/i915: Ignore applying the self-relocation BIAS if no relocations
      drm/i915: Redefine EINVAL for debugging
      drm/i915: Defer modeset cleanup to a secondary task
      drm/i915/execlists: Check for ce->state before destroy
      drm/i915: Context objects can never be active when freed
      drm/i915: Wait for engines to idle before retiring
      drm/i915: Show vma allocator stack when in doubt
      drm/i915: Reduce spinlock hold time during notify_ring() interrupt
      drm/i915: Only trigger missed-seqno checking next to boundary
      drm/i915: Move the irq_counter inside the spinlock
      drm/i915: Only signal from interrupt when requested
      drm/i915: Drop posting reads to flush master interrupts
      drm/i915/execlists: Pull submit after dequeue under timeline lock
      drm/i915/execlists: Pull CSB reset under the timeline.lock
      drm/i915/execlists: Process one CSB update at a time
      drm/i915/execlists: Unify CSB access pointers
      drm/i915/execlists: Reset CSB write pointer after reset
      drm/i915/execlists: Stop storing the CSB read pointer in the mmio register
      drm/i915/execlists: Trust the CSB
      drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)
      drm/i915/selftests: Mark up write into scratch vma
      drm/i915/selftests: Attach the fence to the object when making busy
      drm/i915: Try GGTT mmapping whole object as partial
      drm/i915/selftests: Release the struct_mutex to free the objects
      drm/i915/selftests: Drop struct_mutex around lowlevel pggtt allocation
      drm/i915/gtt: Pull global wc page stash under its own locking
      drm/i915: Remove defunct i915->vm_list
      drm/i915/selftests: Use full release for local ppgtt allocation
      drm/i915/selftests: Replace open-coded i915_address_space_init()
      drm/i915/selftests: Fixup recursive MI_BB_START for gen3
      drm/i915/selftests: Detect unknown swizzling correctly
      drm/i915/selftests: Fail hangcheck testing if the GPU is wedged
      drm/i915: Squelch very verbose error logging
      drm/i915/selftests: Destroy partial tiling vma after use
      drm/i915/selftests: Skip using the GPU if wedged
      drm/i915/selftests: Skip making an object busy if the GPU is wedged
      drm/i915/selftests: Skip all request selftests when wedged
      drm/i915/selftests: Skip workaround tests when wedged
      drm/i915/selftests: Skip live eviction tests when wedged
      drm/i915/selftests: Skip huge pages live tests if wedged
      drm/i915/selftests: Skip over live context testing when wedged
      drm/i915: Record logical context support in driver caps
      drm/i915/selftests: Skip live context execution test without logical contexts
      drm/i915/selftests: Skip live_execlists if the GPU is terminally wedged
      drm/i915: Flush the WCB following a WC write
      drm/i915/gtt: Suppress warnings for dma_map_page
      drm/i915/gtt: Control cache domain of dma_map_page() directly
      drm/i915/selftests: Limit live_gtt allocation test to fit within RAM
      drm/i915/selftests: Replace magic 1<<22 with MI_USE_GGTT/MI_MEM_VIRTUAL
      drm/i915/selftests: Fixup missing MI_MEM_VIRTUAL for live_hangcheck
      drm/i915: Refactor export_fence() after i915_vma_move_to_active()
      drm/i915: Export i915_request_skip()
      drm/i915: Start returning an error from i915_vma_move_to_active()
      drm/i915: Move i915_vma_move_to_active() to i915_vma.c
      drm/i915: Track vma activity per fence.context, not per engine
      drm/i915: Track the last-active inside the i915_vma
      drm/i915/selftests: Provide full mb() around clflush
      drm/i915/selftests: Avoid warning if runtime pm is disabled
      drm/i915: Replace nested subclassing with explicit subclasses
      drm/i915/selftests: Magic numbers for old Y-tiling
      drm/i915: Provide a timeout to i915_gem_wait_for_idle()
      drm/i915: Provide a timeout to i915_gem_wait_for_idle() on setup
      drm/i915/selftests: Replace wait-on-timeout with explicit timeout
      drm/i915/selftests: Prevent background reaping of active objects

Dhinakaran Pandiyan (3):
      drm/i915/psr: Fix race in intel_psr_work()
      drm/i915/psr: Warn for erroneous enabling of both PSR1 and PSR2.
      drm/i915: Remove unnecessary check for unsupported modifiers for NV12

Gustavo A. R. Silva (1):
      drm/i915: Mark expected switch fall-throughs

Imre Deak (5):
      drm/i915/icl: Fix MG PLL setup when refclk is 38.4MHz
      drm/i915/icl: Do read-modify-write as needed during MG PLL programming
      drm/i915/ddi: Get AUX power domain for DP main link too
      drm/i915/icl: Add power well support
      drm/i915/ddi: Simplify get_encoder_power_domains()

Jani Nikula (4):
      drm/i915: abstract and document register picking macros
      drm/i915/dsi: rename the current DSI files based on first platform
      drm/i915/dsi: use vlv and bxt prefixes for the global DSI functions
      drm/i915/dsi: update some of the platform based checks

José Roberto de Souza (5):
      drm/i915/psr: Remove intel_crtc_state parameter from disable_source()
      drm/i915/psr: Begin to handle PSR/PSR2 errors set by sink
      drm/i915/psr: Handle PSR errors
      drm/i915/psr: Avoid PSR exit max time timeout
      drm/i915/psr: Enable CRC check in the static frame on the sink side

Lucas De Marchi (1):
      drm/i915: remove check for aux irq

Maarten Lankhorst (3):
      drm/i915: Block enabling FBC until flips have been completed
      drm/i915: Remove delayed FBC activation.
      drm/i915: Remove support for legacy debugfs crc interface

Madhav Chauhan (7):
      drm/i915/icl: Define register for DSI PLL
      drm/i915/icl: Program DSI Escape clock Divider
      drm/i915/icl: Define DSI mode ctl register
      drm/i915/icl: Enable DSI IO power
      drm/i915/icl: Define PORT_CL_DW_10 register
      drm/i915/icl: Power down unused DSI lanes
      drm/i915/icl: Define AUX lane registers for Port A/B

Michal Wajdeczko (3):
      drm/i915/guc: Use intel_guc_init_misc to hide GuC internals
      drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init
      drm/i915/guc: Print CTL params passed to Guc

Rodrigo Vivi (2):
      drm/i915/psr: Kill useless function pointers.
      drm/i915: Update DRIVER_DATE to 20180709

Tarun Vyas (2):
      drm/i915/psr: Lockless version of psr_wait_for_idle
      drm/i915: Wait for PSR exit before checking for vblank evasion

Thomas Zimmermann (5):
      drm/i915: Replace drm_connector_{un/reference} with put,get functions
      drm/i915: Replace drm_gem_object_{un/reference} with {put,get} functions
      drm/i915: Replace __drm_gem_object_unreference with __drm_gem_object_put
      drm/i915: Replace drm_gem_object_unreference_unlocked with put function
      drm/i915: Replace drm_dev_unref with drm_dev_put

Vandita Kulkarni (1):
      drm/i915: Enable hw workaround to bypass alpha

Vathsala Nagaraju (1):
      drm/i915/psr: Add psr1 live status

Ville Syrjälä (4):
      drm/i915: Fix hotplug irq ack on i965/g4x
      drm/i915: Fix pre-ILK error interrupt ack
      drm/i915: Unmask and enable master error interrupt on gen2/3
      drm/i915: Remove pointless if-else from sdvo code

 drivers/gpu/drm/i915/Kconfig.debug                 |  12 +
 drivers/gpu/drm/i915/Makefile                      |   7 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   6 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  90 ++--
 drivers/gpu/drm/i915/i915_drv.c                    |   6 +
 drivers/gpu/drm/i915/i915_drv.h                    |  49 +-
 drivers/gpu/drm/i915/i915_gem.c                    | 128 ++---
 drivers/gpu/drm/i915/i915_gem.h                    |   5 +
 drivers/gpu/drm/i915/i915_gem_context.c            |   8 +-
 drivers/gpu/drm/i915/i915_gem_evict.c              |   3 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |  95 +---
 drivers/gpu/drm/i915/i915_gem_gtt.c                | 228 +++++----
 drivers/gpu/drm/i915/i915_gem_gtt.h                |  11 +-
 drivers/gpu/drm/i915/i915_gem_object.h             |  13 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c       |   2 +-
 drivers/gpu/drm/i915/i915_gem_shrinker.c           |  11 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |   1 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  14 +-
 drivers/gpu/drm/i915/i915_gpu_error.h              |   2 +-
 drivers/gpu/drm/i915/i915_irq.c                    | 418 +++++++++++++----
 drivers/gpu/drm/i915/i915_perf.c                   |   4 +-
 drivers/gpu/drm/i915/i915_reg.h                    | 238 +++++++++-
 drivers/gpu/drm/i915/i915_request.c                |  35 +-
 drivers/gpu/drm/i915/i915_request.h                |   3 +
 drivers/gpu/drm/i915/i915_timeline.h               |   2 +
 drivers/gpu/drm/i915/i915_vma.c                    | 258 +++++++++--
 drivers/gpu/drm/i915/i915_vma.h                    |  43 +-
 drivers/gpu/drm/i915/icl_dsi.c                     | 127 +++++
 drivers/gpu/drm/i915/intel_breadcrumbs.c           |  11 +-
 drivers/gpu/drm/i915/intel_cdclk.c                 |   5 +
 drivers/gpu/drm/i915/intel_ddi.c                   |  54 ++-
 drivers/gpu/drm/i915/intel_device_info.c           |   2 +
 drivers/gpu/drm/i915/intel_device_info.h           |   1 +
 drivers/gpu/drm/i915/intel_display.c               |  70 ++-
 drivers/gpu/drm/i915/intel_display.h               |   4 +
 drivers/gpu/drm/i915/intel_dp.c                    |  24 +-
 drivers/gpu/drm/i915/intel_dp_mst.c                |   2 +-
 drivers/gpu/drm/i915/intel_dpll_mgr.c              | 109 ++++-
 drivers/gpu/drm/i915/intel_dpll_mgr.h              |   2 +
 drivers/gpu/drm/i915/intel_drv.h                   |  13 +-
 drivers/gpu/drm/i915/intel_dsi.h                   |  34 +-
 drivers/gpu/drm/i915/intel_dsi_vbt.c               |   2 +-
 drivers/gpu/drm/i915/intel_engine_cs.c             |  34 +-
 drivers/gpu/drm/i915/intel_fbc.c                   | 129 +-----
 drivers/gpu/drm/i915/intel_guc.c                   |  53 ++-
 drivers/gpu/drm/i915/intel_guc.h                   |   5 +-
 drivers/gpu/drm/i915/intel_huc.c                   |   8 +
 drivers/gpu/drm/i915/intel_huc.h                   |   6 +
 drivers/gpu/drm/i915/intel_lrc.c                   | 515 +++++++++++----------
 drivers/gpu/drm/i915/intel_pipe_crc.c              | 445 ------------------
 drivers/gpu/drm/i915/intel_psr.c                   | 223 +++++----
 drivers/gpu/drm/i915/intel_ringbuffer.c            |   7 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h            |  40 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c            | 331 ++++++++++++-
 drivers/gpu/drm/i915/intel_sdvo.c                  |  11 +-
 drivers/gpu/drm/i915/intel_sprite.c                |  20 +-
 drivers/gpu/drm/i915/intel_uc.c                    |  34 +-
 drivers/gpu/drm/i915/selftests/huge_pages.c        |  24 +-
 .../gpu/drm/i915/selftests/i915_gem_coherency.c    |  43 +-
 drivers/gpu/drm/i915/selftests/i915_gem_context.c  |  38 +-
 drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c   |   2 +-
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |   5 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  63 ++-
 drivers/gpu/drm/i915/selftests/i915_gem_object.c   |  57 ++-
 drivers/gpu/drm/i915/selftests/i915_request.c      |  23 +-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |   2 +-
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |  55 +--
 drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c |   2 +-
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c   |  20 +-
 drivers/gpu/drm/i915/selftests/intel_lrc.c         |  14 +-
 drivers/gpu/drm/i915/selftests/intel_workarounds.c |  12 +-
 drivers/gpu/drm/i915/selftests/mock_engine.c       |   2 +
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   3 +-
 drivers/gpu/drm/i915/selftests/mock_gtt.c          |  11 +-
 drivers/gpu/drm/i915/{intel_dsi.c => vlv_dsi.c}    | 109 +++--
 .../drm/i915/{intel_dsi_pll.c => vlv_dsi_pll.c}    |  98 +---
 76 files changed, 2728 insertions(+), 1868 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/icl_dsi.c
 rename drivers/gpu/drm/i915/{intel_dsi.c => vlv_dsi.c} (97%)
 rename drivers/gpu/drm/i915/{intel_dsi_pll.c => vlv_dsi_pll.c} (84%)


More information about the Intel-gfx mailing list