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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel