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

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Jul 13 22:22:57 UTC 2018

Hi Dave,

This is probably the last pull request for 4.19 from our side.

Please remind about the gvt-fixes vs gvt-next conflict that I mentioned
yesterday on drm-intel-fixes pull request.

Here goes drm-intel-next-2018-07-12:
On GVT there's the addition of vGPU huge page support for guest,
with one BXT fix and gvt dependency handling.

On Display side there's:
- More PSR clean up and fixes (Rodrigo, DK and Tarun)
- GMBUS improvements for HDCP2.2 compliance (Ram)
- Fix strncpy truncation on intel_tv (Dominique)
- Cleanup modesetting on load-error path (Chris)

On GEM side:
- Gem init hw fix (Michal)
- More selftests fixes (Michal, Chris)
- Execlists optimizations (Chris)
- Introduce i915_address_space.mutex (Chris)
- Stolen memory support for Ice Lake (Paulo)
- Unwind HW init after GVT setup failure (Chris)
- Other fixes for gpu parking, gem_suspend, and handcheck reset (Chris)

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)

- 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)

- 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)

- 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)


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-12

for you to fetch changes up to f7cf1a1829f9ff776fb5504c9c5ffa0e9d2baf79:

  drm/i915: Update DRIVER_DATE to 20180712 (2018-07-12 23:54:26 -0700)

On GVT there's the addition of vGPU huge page support for guest,
with one BXT fix and gvt dependency handling.

On Display side there's:
- More PSR clean up and fixes (Rodrigo, DK and Tarun)
- GMBUS improvements for HDCP2.2 compliance (Ram)
- Fix strncpy truncation on intel_tv (Dominique)
- Cleanup modesetting on load-error path (Chris)

On GEM side:
- Gem init hw fix (Michal)
- More selftests fixes (Michal, Chris)
- Execlists optimizations (Chris)
- Introduce i915_address_space.mutex (Chris)
- Stolen memory support for Ice Lake (Paulo)
- Unwind HW init after GVT setup failure (Chris)
- Other fixes for gpu parking, gem_suspend, and handcheck reset (Chris)

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

Changbin Du (14):
      drm/i915/gvt: Add new 64K entry type
      drm/i915/gvt: Add PTE IPS bit operations
      drm/i915/gvt: Handle MMIO GEN8_GAMW_ECO_DEV_RW_IA for 64K GTT
      drm/i915/gvt: Detect 64K gtt entry by IPS bit of PDE
      drm/i915/gvt: Add software PTE flag to mark special 64K splited entry
      drm/i915/gvt: Add GTT clear_pse operation
      drm/i915/gvt: Split ppgtt_alloc_spt into two parts
      drm/i915/gvt: Make PTE iterator 64K entry aware
      drm/i915/gvt: Add 64K huge gtt support
      drm/i915/kvmgt: Support setting dma map for huge pages
      drm/i915/gvt: Add 2M huge gtt support
      drm/i915/gvt: Handle special sequence on PDE IPS bit
      drm/i915/gvt: Fix error handling in ppgtt_populate_spt_by_guest_entry
      drm/i915: Enable platform support for vGPU huge gtt pages

Chris Wilson (78):
      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
      drm/i915: Remove function details from device error messages
      drm/i915/selftests: Constrain mock_gtt tests to fit within RAM
      drm/i915/selftests: Filter out both physical address swizzles
      drm/i915: Only reset hangcheck at the start of an activity cycle
      drm/i915: Tidy i915_gem_suspend()
      drm/i915: Flush the residual parking on emergency shutdown
      drm/i915: Cleanup modesetting on load-error path
      drm/i915: Unwind HW init after GVT setup failure
      drm/i915: Introduce i915_address_space.mutex
      drm/i915/selftests: Add a safety net to live_workarounds
      drm/i915/execlists: Switch to rb_root_cached
      drm/i915: Silence warning for no vlv powercontext
      drm/i915/guc: Skip cleaning up the doorbells on error-before-allocate

Colin Xu (1):
      drm/i915/gvt: Handle EDP_PSR_IMR and EDP_PSR_IIR for BXT.

Dhinakaran Pandiyan (4):
      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
      drm/i915/psr: Split sink status into a separate debugfs node

Dominique Martinet (1):
      drm/i915/tv: fix strncpy truncation warning

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

Hang Yuan (1):
      drm/i915/gvt: declare gvt as i915's soft dependency

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

Michał Winiarski (2):
      drm/i915: Tidy error handling in i915_gem_init_hw
      drm/i915/selftests: Fixup GuC FW negative test

Paulo Zanoni (2):
      x86/gpu: reserve ICL's graphics stolen memory
      drm/i915: use the ICL stolen memory

Ramalingam C (2):
      drm/i915/gmbus: Increase the Bytes per Rd/Wr Op
      drm/i915/gmbus: Enable burst read

Rodrigo Vivi (6):
      drm/i915/psr: Kill useless function pointers.
      drm/i915: Update DRIVER_DATE to 20180709
      Merge tag 'gvt-next-2018-07-11' of https://github.com/intel/gvt-linux into drm-intel-next-queued
      drm/i915/psr: Remove useless function calls.
      drm/i915/psr: Remove few mod parameters option.
      drm/i915: Update DRIVER_DATE to 20180712

Tarun Vyas (3):
      drm/i915/psr: Lockless version of psr_wait_for_idle
      drm/i915: Wait for PSR exit before checking for vblank evasion
      drm/i915: Use crtc_state->has_psr instead of CAN_PSR for pipe update

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

 arch/x86/kernel/early-quirks.c                     |  18 +
 drivers/gpu/drm/i915/Kconfig.debug                 |  12 +
 drivers/gpu/drm/i915/Makefile                      |   7 +-
 drivers/gpu/drm/i915/gvt/gtt.c                     | 423 +++++++++++++---
 drivers/gpu/drm/i915/gvt/gtt.h                     |   9 +
 drivers/gpu/drm/i915/gvt/gvt.c                     |   4 +
 drivers/gpu/drm/i915/gvt/handlers.c                |  39 +-
 drivers/gpu/drm/i915/gvt/hypercall.h               |   2 +-
 drivers/gpu/drm/i915/gvt/kvmgt.c                   | 126 +++--
 drivers/gpu/drm/i915/gvt/mpt.h                     |   7 +-
 drivers/gpu/drm/i915/gvt/scheduler.c               |   6 +-
 drivers/gpu/drm/i915/gvt/vgpu.c                    |   1 +
 drivers/gpu/drm/i915/i915_debugfs.c                | 139 +++---
 drivers/gpu/drm/i915/i915_drv.c                    |  31 +-
 drivers/gpu/drm/i915/i915_drv.h                    |  54 +-
 drivers/gpu/drm/i915/i915_gem.c                    | 190 +++----
 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                | 238 +++++----
 drivers/gpu/drm/i915/i915_gem_gtt.h                |  13 +-
 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           |  23 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |  39 +-
 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_params.c                 |   2 +-
 drivers/gpu/drm/i915/i915_perf.c                   |   4 +-
 drivers/gpu/drm/i915/i915_reg.h                    | 241 ++++++++-
 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               |  72 ++-
 drivers/gpu/drm/i915/intel_display.h               |   4 +
 drivers/gpu/drm/i915/intel_dp.c                    |  31 +-
 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             |  41 +-
 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_guc_submission.c        |  20 +-
 drivers/gpu/drm/i915/intel_gvt.c                   |   3 +
 drivers/gpu/drm/i915/intel_huc.c                   |   8 +
 drivers/gpu/drm/i915/intel_huc.h                   |   6 +
 drivers/gpu/drm/i915/intel_i2c.c                   |  70 ++-
 drivers/gpu/drm/i915/intel_lrc.c                   | 548 ++++++++++-----------
 drivers/gpu/drm/i915/intel_pipe_crc.c              | 445 -----------------
 drivers/gpu/drm/i915/intel_pm.c                    |   8 +-
 drivers/gpu/drm/i915/intel_psr.c                   | 238 +++++----
 drivers/gpu/drm/i915/intel_ringbuffer.c            |   9 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h            |  45 +-
 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_tv.c                    |   3 +-
 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      |  66 ++-
 drivers/gpu/drm/i915/selftests/i915_gem_object.c   |  56 ++-
 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/igt_wedge_me.h      |  58 +++
 drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c |   2 +-
 drivers/gpu/drm/i915/selftests/intel_guc.c         |  10 +-
 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 |  20 +-
 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 +---
 include/drm/i915_drm.h                             |   4 +-
 94 files changed, 3588 insertions(+), 2102 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/icl_dsi.c
 create mode 100644 drivers/gpu/drm/i915/selftests/igt_wedge_me.h
 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