[PULL] drm-intel-next

Rodrigo Vivi
2018-07-13T22:22:57Z

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)

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-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%)
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org