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