Hi Dave, as I said, I was aiming for the previous one to already be the last, but here's one more i915 pull for v4.15. There's a backmerge from drm-next as a dependency for the get/put renames and timer setup updates. BR, Jani. drm-intel-next-2017-10-23: This time really the last i915 batch for v4.15: - PSR state tracking in crtc state (Ville) - Fix eviction when the GGTT is idle but full (Chris) - BDW DP aux channel timeout fix (James) - LSPCON detection fixes (Shashank) - Use for_each_pipe to iterate over pipes (Mika Kahola) - Replace *_reference/unreference() or *_ref/unref with _get/put() (Harsha) - Refactoring and preparation for DDI encoder type cleanup (Ville) - Broadwell DDI FDI buf translation fix (Chris) - Read CSB and CSB write pointer from HWSP in GVT-g VM if available (Weinan) - GuC/HuC firmware loader refactoring (Michal) - Make shrinking more effective and not stall so much (Chris) - Cannonlake PLL fixes (Rodrigo) - DP MST connector error propagation fixes (James) - Convert timers to use timer_setup (Kees Cook) - Skylake plane enable/disable unification (Juha-Pekka) - Fix to actually free driver internal objects when requested (Chris) - DDI buf trans refactoring (Ville) - Skip waking the device to service pwrite (Chris) - Improve DSI VBT backlight parsing abstraction (Madhav) - Cannonlake VBT DDC pin mapping fix (Rodrigo) BR, Jani. The following changes since commit 40d86701a625eed9e644281b9af228d6a52d8ed9: drm/plane: drop num_overlay_planes (v3) (2017-10-17 11:32:29 +1000) are available in the git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2017-10-23 for you to fetch changes up to cdc1cdca2d91c477ce33d5c02dc6be0d2b939247: drm/i915: Update DRIVER_DATE to 20171023 (2017-10-23 11:55:13 +0300) ---------------------------------------------------------------- This time really the last i915 batch for v4.15: - PSR state tracking in crtc state (Ville) - Fix eviction when the GGTT is idle but full (Chris) - BDW DP aux channel timeout fix (James) - LSPCON detection fixes (Shashank) - Use for_each_pipe to iterate over pipes (Mika Kahola) - Replace *_reference/unreference() or *_ref/unref with _get/put() (Harsha) - Refactoring and preparation for DDI encoder type cleanup (Ville) - Broadwell DDI FDI buf translation fix (Chris) - Read CSB and CSB write pointer from HWSP in GVT-g VM if available (Weinan) - GuC/HuC firmware loader refactoring (Michal) - Make shrinking more effective and not stall so much (Chris) - Cannonlake PLL fixes (Rodrigo) - DP MST connector error propagation fixes (James) - Convert timers to use timer_setup (Kees Cook) - Skylake plane enable/disable unification (Juha-Pekka) - Fix to actually free driver internal objects when requested (Chris) - DDI buf trans refactoring (Ville) - Skip waking the device to service pwrite (Chris) - Improve DSI VBT backlight parsing abstraction (Madhav) - Cannonlake VBT DDC pin mapping fix (Rodrigo) ---------------------------------------------------------------- Chris Wilson (22): drm/i915: Fix eviction when the GGTT is idle but full drm/i915/selftests: Wrap a timer into a i915_sw_fence drm/i915/selftests: Exercise adding requests to a full GGTT drm/i915: Stop asserting on set-wedged vs nop_submit_request ordering drm/i915: Keep the rings stopped until they have been re-initialized drm/i915: Always stop the rings before a missing GPU reset drm/i915: Use bdw_ddi_translations_fdi for Broadwell drm/i915: Refactor testing obj->mm.pages drm/i915: Rename obj->pin_display to obj->pin_global drm/i915: Drop debugfs/i915_gem_pin_display drm/i915: Remove walk over obj->vma_list for the shrinker drm/i915: Move dev_priv->mm.[un]bound_list to its own lock drm/i915: Wire up shrinkctl->nr_scanned drm/i915: Set our shrinker->batch to 4096 (~16MiB) drm/i915: Only free the oldest stale object before a fresh allocation drm/i915: Trim struct_mutex hold duration for i915_gem_free_objects drm/i915: Skip HW reinitialisation on resume if still wedged drm/i915: Add in-flight request details to intel_engine_dump() drm/i915: Report -EFAULT before pwrite fast path into shmemfs drm/i915/selftests: Silence the compiler for impossible errors drm/i915: Flush the idle-worker for debugfs/i915_drop_caches drm/i915: Skip waking the device to service pwrite Harsha Sharma (2): drm/i915: Replace *_reference/unreference() or *_ref/unref with _get/put() drm/i915: Replace *_reference/unreference() or *_ref/unref with _get/put() James Ausmus (3): drm/i915: Fix DP_AUX_CH_CTL_TIME_OUT naming drm/i915/bdw: Fix DP_AUX_CH_CTL_TIME_OUT setting drm/i915: Handle drm-layer errors in intel_dp_add_mst_connector Jani Nikula (4): Merge drm-upstream/drm-next into drm-intel-next-queued drm/i915: remove g4x lowfreq_avail and has_pipe_cxsr drm/i915/crt: split compute_config hook by platforms drm/i915: Update DRIVER_DATE to 20171023 Juha-Pekka Heikkila (5): drm/i915: move adjusted_x/y from crtc to cache. drm/i915: dspaddr_offset doesn't need to be more than local variable drm/i915: Unify skylake plane update drm/i915: Unify skylake plane disable drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y Kees Cook (1): drm/i915: Convert timers to use timer_setup() Madhav Chauhan (2): drm/i915: Parse DSI backlight/cabc ports. drm/i915: Use existing DSI backlight ports info Michal Wajdeczko (15): drm/i915: Move intel_guc_wopcm_size to intel_guc.c drm/i915/guc: Move GuC boot param initialization out of xfer drm/i915/guc: Small fixups post code move drm/i915/guc: Move doc near related definitions drm/i915/guc: Rename intel_guc_loader.c to intel_guc_fw.c drm/i915/guc: Reorder functions in intel_guc_fw.c drm/i915/uc: Check all firmwares against WOPCM size drm/i915/guc: Pick better place for Guc final status message drm/i915/uc: Improve debug messages in firmware fetch drm/i915/uc: Add message with firmware url drm/i915: Update DMC firmware load error messages drm/i915/uc: Unify firmware loading drm/i915/guc: Update Guc messages on load failure drm/i915/huc: Move fw select function drm/i915/uc: Add pretty printer for uc firmware Mika Kahola (1): drm/i915: Get rid of hardcoded pipes Oscar Mateo (2): drm/i915: No need for RING_MAX_NONPRIV_SLOTS space drm/i915: Use a mask when applying WaProgramL3SqcReg1Default Rodrigo Vivi (5): drm/i915/cnl: WaRsUseTimeoutMode drm/i915/cnl: Fix PLL mapping. drm/i915/cnl: Fix PLL initialization for HDMI. drm/i915: Let's use more enum intel_dpll_id pll_id. drm/i915/cnl: Map VBT DDC Pin to BSpec DDC Pin. Shashank Sharma (3): drm: Add retries for lspcon mode detection drm/i915: Don't give up waiting on INVALID_MODE drm/i915: Add retries for LSPCON detection Tvrtko Ursulin (1): drm/i915: Fixup userptr mmu notifier registration error handling Ville Syrjälä (21): drm/i915: Start tracking PSR state in crtc state drm/i915: Dump 'output_types' in crtc state dump drm/i915: Extract intel_ddi_clk_disable() drm/i915: Extract intel_disable_ddi_buf() drm/i915: Inline the required bits of intel_ddi_post_disable() into intel_ddi_fdi_post_disable() drm/i915: Split intel_ddi_post_disable() into DP vs. HDMI variants drm/i915: Remove useless eDP check from intel_ddi_pre_enable_dp() drm/i915: Split intel_disable_ddi() into DP vs. HDMI variants drm/i915: Plumb crtc_state etc. directly to intel_ddi_pre_enable_{dp,hdmi}() drm/i915: Split intel_enable_ddi() into DP and HDMI variants drm/i915: Remove mostly duplicated video DIP handling from PSR code drm/i915: Relocate intel_ddi_get_buf_trans_*() functions drm/i915: Extract intel_ddi_get_buf_trans_hdmi() drm/i915: Pass the encoder type explicitly to skl_set_iboost() drm/i915: Pass the level to intel_prepare_hdmi_ddi_buffers() drm/i915: Integrate BXT into intel_ddi_dp_voltage_max() drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly drm/i915: Kill off the BXT buf_trans default_index drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling drm/i915: Unify error handling for missing DDI buf trans tables drm/i915: Drop the redundant hdmi prefix/suffix from a lot of variables Weinan Li (1): drm/i915: enable to read CSB and CSB write pointer from HWSP in GVT-g VM drivers/gpu/drm/drm_dp_dual_mode_helper.c | 16 +- drivers/gpu/drm/i915/Makefile | 5 +- drivers/gpu/drm/i915/gvt/scheduler.c | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 550 +++---- drivers/gpu/drm/i915/i915_drv.c | 48 +- drivers/gpu/drm/i915/i915_drv.h | 120 +- drivers/gpu/drm/i915/i915_gem.c | 529 ++++-- drivers/gpu/drm/i915/i915_gem_clflush.c | 1 + drivers/gpu/drm/i915/i915_gem_context.c | 99 +- drivers/gpu/drm/i915/i915_gem_dmabuf.c | 18 +- drivers/gpu/drm/i915/i915_gem_evict.c | 77 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 40 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 288 +++- drivers/gpu/drm/i915/i915_gem_gtt.h | 20 +- drivers/gpu/drm/i915/i915_gem_internal.c | 18 +- drivers/gpu/drm/i915/i915_gem_object.h | 42 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +- drivers/gpu/drm/i915/i915_gem_request.c | 20 +- drivers/gpu/drm/i915/i915_gem_request.h | 13 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 119 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 21 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 61 +- drivers/gpu/drm/i915/i915_gemfs.c | 74 + drivers/gpu/drm/i915/i915_gemfs.h | 34 + drivers/gpu/drm/i915/i915_gpu_error.c | 14 +- drivers/gpu/drm/i915/i915_guc_submission.c | 123 +- drivers/gpu/drm/i915/i915_guc_submission.h | 80 + drivers/gpu/drm/i915/i915_irq.c | 138 +- drivers/gpu/drm/i915/i915_params.c | 3 - drivers/gpu/drm/i915/i915_params.h | 1 - drivers/gpu/drm/i915/i915_pci.c | 81 +- drivers/gpu/drm/i915/i915_pvinfo.h | 1 + drivers/gpu/drm/i915/i915_reg.h | 28 +- drivers/gpu/drm/i915/i915_suspend.c | 2 - drivers/gpu/drm/i915/i915_sw_fence.c | 18 +- drivers/gpu/drm/i915/i915_sysfs.c | 76 +- drivers/gpu/drm/i915/i915_trace.h | 116 +- drivers/gpu/drm/i915/i915_utils.h | 18 + drivers/gpu/drm/i915/i915_vgpu.h | 6 + drivers/gpu/drm/i915/i915_vma.c | 137 +- drivers/gpu/drm/i915/i915_vma.h | 49 +- drivers/gpu/drm/i915/intel_audio.c | 2 +- drivers/gpu/drm/i915/intel_bios.c | 212 ++- drivers/gpu/drm/i915/intel_breadcrumbs.c | 18 +- drivers/gpu/drm/i915/intel_cdclk.c | 40 +- drivers/gpu/drm/i915/intel_color.c | 16 +- drivers/gpu/drm/i915/intel_crt.c | 110 +- drivers/gpu/drm/i915/intel_csr.c | 33 +- drivers/gpu/drm/i915/intel_ddi.c | 880 +++++----- drivers/gpu/drm/i915/intel_display.c | 417 +++-- drivers/gpu/drm/i915/intel_dp.c | 59 +- drivers/gpu/drm/i915/intel_dp_mst.c | 49 +- drivers/gpu/drm/i915/intel_dpio_phy.c | 20 - drivers/gpu/drm/i915/intel_dpll_mgr.c | 2 +- drivers/gpu/drm/i915/intel_drv.h | 42 +- drivers/gpu/drm/i915/intel_dsi.c | 44 +- drivers/gpu/drm/i915/intel_dvo.c | 33 +- drivers/gpu/drm/i915/intel_engine_cs.c | 261 ++- drivers/gpu/drm/i915/intel_fbc.c | 13 +- drivers/gpu/drm/i915/intel_fbdev.c | 4 +- drivers/gpu/drm/i915/intel_guc.c | 369 +++++ drivers/gpu/drm/i915/intel_guc.h | 120 ++ .../i915/{intel_guc_loader.c => intel_guc_fw.c} | 253 +-- drivers/gpu/drm/i915/intel_guc_fw.h | 33 + drivers/gpu/drm/i915/intel_guc_fwif.h | 52 +- drivers/gpu/drm/i915/intel_guc_log.c | 6 +- drivers/gpu/drm/i915/intel_guc_log.h | 59 + drivers/gpu/drm/i915/intel_hdmi.c | 26 +- drivers/gpu/drm/i915/intel_huc.c | 134 +- drivers/gpu/drm/i915/intel_huc.h | 41 + drivers/gpu/drm/i915/intel_lrc.c | 285 +++- drivers/gpu/drm/i915/intel_lrc.h | 1 + drivers/gpu/drm/i915/intel_lspcon.c | 22 +- drivers/gpu/drm/i915/intel_lvds.c | 23 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 15 +- drivers/gpu/drm/i915/intel_pm.c | 715 ++++---- drivers/gpu/drm/i915/intel_psr.c | 119 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 27 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 9 + drivers/gpu/drm/i915/intel_runtime_pm.c | 31 +- drivers/gpu/drm/i915/intel_sideband.c | 6 +- drivers/gpu/drm/i915/intel_sprite.c | 10 +- drivers/gpu/drm/i915/intel_uc.c | 333 +--- drivers/gpu/drm/i915/intel_uc.h | 228 +-- drivers/gpu/drm/i915/intel_uc_fw.c | 318 ++++ drivers/gpu/drm/i915/intel_uc_fw.h | 121 ++ drivers/gpu/drm/i915/intel_uncore.c | 31 +- drivers/gpu/drm/i915/intel_uncore.h | 8 + drivers/gpu/drm/i915/intel_vbt_defs.h | 8 + drivers/gpu/drm/i915/selftests/huge_gem_object.c | 14 +- drivers/gpu/drm/i915/selftests/huge_pages.c | 1734 ++++++++++++++++++++ drivers/gpu/drm/i915/selftests/i915_gem_context.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 162 +- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 15 +- drivers/gpu/drm/i915/selftests/i915_gem_object.c | 8 - drivers/gpu/drm/i915/selftests/i915_gem_request.c | 12 +- .../gpu/drm/i915/selftests/i915_live_selftests.h | 2 + .../gpu/drm/i915/selftests/i915_mock_selftests.h | 1 + drivers/gpu/drm/i915/selftests/i915_sw_fence.c | 42 + drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 26 +- drivers/gpu/drm/i915/selftests/lib_sw_fence.c | 78 + drivers/gpu/drm/i915/selftests/lib_sw_fence.h | 42 + drivers/gpu/drm/i915/selftests/mock_context.c | 6 +- drivers/gpu/drm/i915/selftests/mock_engine.c | 8 +- drivers/gpu/drm/i915/selftests/mock_gem_device.c | 17 +- drivers/gpu/drm/i915/selftests/mock_gtt.c | 11 +- drivers/gpu/drm/i915/selftests/scatterlist.c | 15 + include/linux/shmem_fs.h | 2 + include/uapi/drm/i915_drm.h | 18 +- mm/shmem.c | 30 +- 112 files changed, 7473 insertions(+), 3553 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gemfs.c create mode 100644 drivers/gpu/drm/i915/i915_gemfs.h create mode 100644 drivers/gpu/drm/i915/i915_guc_submission.h create mode 100644 drivers/gpu/drm/i915/intel_guc.c create mode 100644 drivers/gpu/drm/i915/intel_guc.h rename drivers/gpu/drm/i915/{intel_guc_loader.c => intel_guc_fw.c} (58%) create mode 100644 drivers/gpu/drm/i915/intel_guc_fw.h create mode 100644 drivers/gpu/drm/i915/intel_guc_log.h create mode 100644 drivers/gpu/drm/i915/intel_huc.h create mode 100644 drivers/gpu/drm/i915/intel_uc_fw.c create mode 100644 drivers/gpu/drm/i915/intel_uc_fw.h create mode 100644 drivers/gpu/drm/i915/selftests/huge_pages.c create mode 100644 drivers/gpu/drm/i915/selftests/lib_sw_fence.c create mode 100644 drivers/gpu/drm/i915/selftests/lib_sw_fence.h -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx