Hi Dave, As promised, here's the final pull request for 4.17. For your convenicence, here is a breakdown of what all the 4.17 drm-intel-next pulls have included so far. Below you can find the usual breakdown of what is included in this pull request only. i915 feature summary for upcoming kernel 4.17: * Cannonlake support is sufficient to remove alpha_support protection * AUX-F port support added * Icelake base enabling until internal milestone of forcewake support * Query uAPI interface (used for GPU topology information currently) * Mesa: https://patchwork.freedesktop.org/series/38795/ * Compressed framebuffer support for sprites * kmem cache shrinking when GPU is idle * Avoid boosting GPU when waited item is being processed already * Avoid retraining LSPCON link unnecessarily * Decrease request signaling latency * Deprecation of I915_SET_COLORKEY_NONE * Kerneldoc and compiler warning cleanup for upcoming CI enforcements Jani will pick-up drm-intel-next for 4.18 while I continue to supply the fixes for 4.17. Regards, Joonas --- drm-intel-next-2018-03-08: UAPI Changes: - Query uAPI interface (used for GPU topology information currently) * Mesa: https://patchwork.freedesktop.org/series/38795/ Driver Changes: - Increase PSR2 size for CNL (DK) - Avoid retraining LSPCON link unnecessarily (Ville) - Decrease request signaling latency (Chris) - GuC error capture fix (Daniele) gvt-next-2018-03-08 - big refactor for shadow ppgtt (Changbin) - KBL context save/restore via LRI cmd (Weinan) - misc smatch fixes (Zhenyu) - Properly unmap dma for guest page (Changbin) - other misc fixes (Xiong, etc.) drm-intel-next-2018-03-05: Driver Changes: - Disable FBC on unsupported Gen9/10 configs to avoid flicker (Imre) - Mark firmware as failed on authentication failure (Michal) - Code to prepare to support more engines for Icelake - Icelake interrupt handling code - Avoid a race between request submission and marking GPU wedged (Chris) - OA race condition fix (Lionel) - Usual code restructuring (Chris, Maarten, Sagar, Ville) The following changes since commit f073d78eeb8efd85718e611c15f9a78647751dea: Merge tag 'drm-intel-next-2018-02-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-03-01 14:07:22 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2018-03-08 for you to fetch changes up to cf07a60f03f06d6298f4e70b3865bd5faac21c3b: drm/i915: Update DRIVER_DATE to 20180308 (2018-03-08 14:49:39 +0200) ---------------------------------------------------------------- Andrew Morton (1): drm/i915/guc: work around gcc-4.4.4 union initializer issue Changbin Du (18): drm/i915/gvt: Rework shadow graphic memory management code drm/i915/gvt: Refine the intel_vgpu_mm reference management drm/i915/gvt: Refine ggtt and ppgtt root entry ops drm/i915/gvt: Refine ggtt_set_shadow_entry drm/i915/gvt: Add verbose gtt shadow logs drm/i915/gvt: Rename ggtt related functions to be more specific drm/i915/gvt: Factor out intel_vgpu_{get, put}_ppgtt_mm interface drm/i915/gvt: Use standard pte bit definition drm/i915/gvt: Refine pte shadowing process drm/i915/gvt: Rework shadow page management code drm/i915/gvt: Rename shadow_page to short name spt drm/i915/gvt: Rename mpt api {set, unset}_wp_page to {enable, disable}_page_track drm/i915/gvt: Don't extend page_track to mpt layer drm/i915/gvt: Provide generic page_track infrastructure for write-protected page drm/i915/gvt: Manage shadow pages with radix tree drm/i915/gvt: Define PTE addr mask with GENMASK_ULL drm/i915/gvt: Fix guest vGPU hang caused by very high dma setup overhead drm/i915/kvmgt: Add kvmgt debugfs entry nr_cache_entries under vgpu Chris Wilson (17): drm/i915: Rename drm_i915_gem_request to i915_request drm/i915/execlists: Remove the ring advancement under preemption drm/i915/execlists: Add a GEM_TRACE to show when the context is completed drm/i915/execlists: Move the GEM_BUG_ON context matches CSB later drm/i915/preemption: Allow preemption between submission ports drm/i915: Repeat the GEM_BUG_ON message in the ftrace log drm/i915: Don't deref request->ctx inside unlocked print_request() drm/i915: Replace open-coded wait-for loop drm/i915: Suspend submission tasklets around wedging drm/i915/execlists: Move irq state manipulation inside irq disabled region drm/i915/execlists: Split spinlock from its irq disabling side-effect drm/i915: Unwind vma pinning for intel_pin_and_fence_fb_obj error path drm/i915/breadcrumbs: Reduce signaler rbtree to a sorted list drm/i915/breadcrumbs: Assert all missed breadcrumbs were signaled drm/i915: Stop kicking the signaling thread on seqno wraparound drm/i915: Flush waiters on seqno wraparound drm/i915: Assert that the request is indeed complete when signaled from irq Daniel Vetter (1): drm/todo: i915 could use device_link_add Daniele Ceraolo Spurio (5): drm/i915/error: remove unused gen8_engine_sync_index drm/i915/error: standardize function style in error capture drm/i915/error: capture uc_state after gen_state drm/i915/icl: new context descriptor support drm/i915/icl: Gen11 forcewake support Dhinakaran Pandiyan (9): drm/doc: Fix documentation for _vblank_restore(). drm/i915/psr: New power domain for AUX IO. drm/i915/frontbuffer: Mark frontbuffer flush and invalidate with might_sleep() drm/i915/psr: Extract PSR DPCD initialization and move it to intel_psr.c drm/i915/psr: Check for the specific AUX_FRAME_SYNC cap bit. drm/i915/dp: Remove redundant sleep after AUX transaction length check. drm/i915/dp: Move comment about hw timeout to the right place. drm/i915/psr: Check for power state control capability. drm/i915/psr: Update PSR2 resolution check for Cannonlake Imre Deak (1): drm/i915/gen9, gen10: Disable FBC on planes with a misaligned Y-offset Jani Nikula (1): drm/i915/dp: move link rate arrays where they're used Johnson Lin (1): drm/i915: Fix Limited Range Color Handling Joonas Lahtinen (5): Merge drm-next into drm-intel-next-queued Merge drm-next into drm-intel-next-queued (this time for real) drm/i915: Update DRIVER_DATE to 20180305 Merge tag 'gvt-next-2018-03-08' of https://github.com/intel/gvt-linux into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20180308 Lionel Landwerlin (8): drm/i915/hsw: add missing disabled EUs registers reads drm/i915/perf: fix perf stream opening lock drm/i915: store all subslice masks drm/i915/debugfs: reuse max slice/subslices already stored in sseu drm/i915/debugfs: add rcs topology entry drm/i915: add rcs topology to error state drm/i915: add query uAPI drm/i915: expose rcs topology through query uAPI Maarten Lankhorst (2): drm/i915: Check for I915_MODE_FLAG_INHERITED before drm_atomic_helper_check_modeset drm/i915: Handle changing enable_fbc parameter at runtime better. Mahesh Kumar (1): drm/i915/icl: remove port A/E lane sharing limitation. Manasi Navare (2): drm/i915/dp: Fix the order of platforms for setting DP source rates drm/i915/dp: Add HBR3 rate (8.1 Gbps) to dp_rates array Michal Wajdeczko (2): drm/i915/uc: Introduce intel_uc_suspend|resume drm/i915/huc: Mark firmware as failed on auth failure Michał Winiarski (1): drm/i915/guc: Fill preempt context once at init time Michel Thierry (2): drm/i915: Update missing parts after the rename to i915_request drm/i915/icl: Add Indirect Context Offset for Gen11 Mika Kuoppala (1): drm/i915/icl: Interrupt handling Mustamin B Mustaffa (1): drm/i915: Enable VBT based BL control for DP Oscar Mateo (1): drm/i915/icl: Correctly initialize the Gen11 engines Paulo Zanoni (1): drm/i915/icl: Add the ICL PCI IDs Rodrigo Vivi (6): drm/i915/psr2: Fix max resolution supported. drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met. drm/i915/cnl: Add WaRsDisableCoarsePowerGating drm/i915/cnl: document WaVFUnitClockGatingDisable drm/i915/cnp: Document WaSouthDisplayDisablePWMCGEGating drm/i915/cnl: Add Wa_2201832410 Sagar Arun Kamble (1): drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric Thomas Daniel (1): drm/i915/icl: Enhanced execution list support Tvrtko Ursulin (6): drm/i915: Make global seqno known in i915_gem_request_execute tracepoint drm/i915/icl: Show interrupt registers in debugfs drm/i915: Move page sizes out of the 8-bit sandwich drm/i915/icl: Prepare for more rings drm/i915: Wedged engine mask makes more sense in hex drm/i915/icl: Ringbuffer interrupt handling Ville Syrjälä (22): drm/i915: Fail if we can't get a fence for gen2/3 tiled scanout drm/i915: Only pin the fence for primary planes (and gen2/3) drm/i915: Clean up fbc vs. plane checks drm/i915: Require fence only for FBC capable planes drm/i915: Extract intel_plane_{pin,unpin}_fb() drm/i915: Add a FIXME about FBC vs. fence. 90/270 degree rotation drm/i915: Use the correct power domain for aux ch drm/i915: Add enum aux_ch and clean up the aux init to use it drm/i915: Nuke aux regs from intel_dp drm/i915: Collect aux ch vfunc setup into intel_dp_aux_init() drm/i915: Remove the pointless 1:1 matrix copy drm/i915: Rename pipe CSC to use ilk_ prefix drm/i915: Don't mangle the CTM on pre-HSW drm/i915: Consult aux_ch instead of port in ->get_aux_clock_divider() drm/i915: s/intel_dp_aux_ch/intel_dp_aux_xfer/ drm/i915: Keep the AKSV details in intel_dp_hdcp_write_an_aksv() drm/i915: Deduplicate the code to fill the aux message header drm/i915: Convert intel_hpd_irq_event() into an encoder hotplug hook drm/i915: Reinitialize sink scrambling/TMDS clock ratio on HPD drm/i915: Move SST DP link retraining into the ->post_hotplug() hook drm/i915: Nuke intel_dp->channel_eq_status drm/i915: Track whether the DP link is trained or not Weinan Li (4): drm/i915/gvt: add define GEN9_MOCS_SIZE drm/i915/gvt: add interface to check if context is inhibit drm/i915/gvt: init mmio by lri command in vgpu inhibit context drm/i915: add schedule out notification of preempted but completed request Xiong Zhang (2): drm/i915/gvt: Release gvt->lock at the failure of finding page track drm/i915/gvt: Return error at the failure of finding page_track Zhenyu Wang (7): drm/i915/gvt: Fix one gvt_vgpu_error() use in dmabuf.c drm/i915/gvt: remove gvt max port definition drm/i915/gvt: Fix vGPU sched timeslice calculation warning drm/i915/gvt: Fix check error of vgpu create failure message drm/i915/gvt: Fix check error on fence mmio handler drm/i915/gvt: Fix one indent error drm/i915/gvt: Fix check error on hws_pga_write() fail message Documentation/gpu/todo.rst | 7 + drivers/gpu/drm/drm_vblank.c | 22 +- drivers/gpu/drm/i915/Makefile | 6 +- drivers/gpu/drm/i915/gvt/Makefile | 2 +- drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +- drivers/gpu/drm/i915/gvt/gtt.c | 1457 +++++++++----------- drivers/gpu/drm/i915/gvt/gtt.h | 189 +-- drivers/gpu/drm/i915/gvt/gvt.c | 2 +- drivers/gpu/drm/i915/gvt/gvt.h | 21 +- drivers/gpu/drm/i915/gvt/handlers.c | 38 +- drivers/gpu/drm/i915/gvt/hypercall.h | 9 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 313 +++-- drivers/gpu/drm/i915/gvt/mmio.c | 9 +- drivers/gpu/drm/i915/gvt/mmio_context.c | 210 ++- drivers/gpu/drm/i915/gvt/mmio_context.h | 5 + drivers/gpu/drm/i915/gvt/mpt.h | 67 +- drivers/gpu/drm/i915/gvt/page_track.c | 184 +++ drivers/gpu/drm/i915/gvt/page_track.h | 56 + drivers/gpu/drm/i915/gvt/sched_policy.c | 5 +- drivers/gpu/drm/i915/gvt/scheduler.c | 60 +- drivers/gpu/drm/i915/gvt/scheduler.h | 2 +- drivers/gpu/drm/i915/gvt/trace.h | 10 +- drivers/gpu/drm/i915/gvt/vgpu.c | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 214 ++- drivers/gpu/drm/i915/i915_drv.c | 16 +- drivers/gpu/drm/i915/i915_drv.h | 41 +- drivers/gpu/drm/i915/i915_gem.c | 119 +- drivers/gpu/drm/i915/i915_gem.h | 7 +- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 2 +- drivers/gpu/drm/i915/i915_gem_context.c | 29 +- drivers/gpu/drm/i915/i915_gem_context.h | 4 +- drivers/gpu/drm/i915/i915_gem_evict.c | 4 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 60 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 38 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 +- drivers/gpu/drm/i915/i915_gem_object.h | 2 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +- drivers/gpu/drm/i915/i915_gem_render_state.h | 4 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 4 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 4 +- drivers/gpu/drm/i915/i915_gpu_error.c | 124 +- drivers/gpu/drm/i915/i915_irq.c | 244 +++- drivers/gpu/drm/i915/i915_pci.c | 4 +- drivers/gpu/drm/i915/i915_perf.c | 68 +- drivers/gpu/drm/i915/i915_query.c | 125 ++ drivers/gpu/drm/i915/i915_query.h | 15 + drivers/gpu/drm/i915/i915_reg.h | 39 +- .../i915/{i915_gem_request.c => i915_request.c} | 390 +++--- .../i915/{i915_gem_request.h => i915_request.h} | 222 +-- drivers/gpu/drm/i915/i915_trace.h | 128 +- drivers/gpu/drm/i915/i915_vma.c | 3 +- drivers/gpu/drm/i915/i915_vma.h | 2 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 292 ++-- drivers/gpu/drm/i915/intel_color.c | 97 +- drivers/gpu/drm/i915/intel_crt.c | 4 +- drivers/gpu/drm/i915/intel_ddi.c | 233 +++- drivers/gpu/drm/i915/intel_device_info.c | 284 +++- drivers/gpu/drm/i915/intel_device_info.h | 73 +- drivers/gpu/drm/i915/intel_display.c | 189 ++- drivers/gpu/drm/i915/intel_display.h | 12 + drivers/gpu/drm/i915/intel_dp.c | 747 +++++----- drivers/gpu/drm/i915/intel_dp_link_training.c | 8 +- drivers/gpu/drm/i915/intel_drv.h | 22 +- drivers/gpu/drm/i915/intel_engine_cs.c | 79 +- drivers/gpu/drm/i915/intel_fbc.c | 105 +- drivers/gpu/drm/i915/intel_fbdev.c | 2 +- drivers/gpu/drm/i915/intel_frontbuffer.c | 2 + drivers/gpu/drm/i915/intel_guc.c | 44 +- drivers/gpu/drm/i915/intel_guc.h | 4 +- drivers/gpu/drm/i915/intel_guc_fw.c | 10 +- drivers/gpu/drm/i915/intel_guc_log.c | 6 +- drivers/gpu/drm/i915/intel_guc_submission.c | 140 +- drivers/gpu/drm/i915/intel_hdmi.c | 1 + drivers/gpu/drm/i915/intel_hotplug.c | 25 +- drivers/gpu/drm/i915/intel_huc.c | 182 +-- drivers/gpu/drm/i915/intel_huc.h | 2 +- drivers/gpu/drm/i915/intel_huc_fw.c | 166 +++ drivers/gpu/drm/i915/intel_huc_fw.h | 15 + drivers/gpu/drm/i915/intel_lrc.c | 455 +++--- drivers/gpu/drm/i915/intel_lrc.h | 3 + drivers/gpu/drm/i915/intel_lrc_reg.h | 1 + drivers/gpu/drm/i915/intel_mocs.c | 28 +- drivers/gpu/drm/i915/intel_mocs.h | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 82 +- drivers/gpu/drm/i915/intel_pm.c | 21 +- drivers/gpu/drm/i915/intel_psr.c | 181 ++- drivers/gpu/drm/i915/intel_ringbuffer.c | 196 ++- drivers/gpu/drm/i915/intel_ringbuffer.h | 114 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 3 + drivers/gpu/drm/i915/intel_sdvo.c | 12 +- drivers/gpu/drm/i915/intel_uc.c | 47 +- drivers/gpu/drm/i915/intel_uc.h | 2 + drivers/gpu/drm/i915/intel_uncore.c | 157 ++- drivers/gpu/drm/i915/intel_uncore.h | 23 +- drivers/gpu/drm/i915/selftests/huge_pages.c | 6 +- .../gpu/drm/i915/selftests/i915_gem_coherency.c | 8 +- drivers/gpu/drm/i915/selftests/i915_gem_context.c | 8 +- drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 6 +- drivers/gpu/drm/i915/selftests/i915_gem_object.c | 6 +- .../gpu/drm/i915/selftests/i915_live_selftests.h | 2 +- .../gpu/drm/i915/selftests/i915_mock_selftests.h | 2 +- .../{i915_gem_request.c => i915_request.c} | 125 +- drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 119 +- drivers/gpu/drm/i915/selftests/intel_uncore.c | 31 +- drivers/gpu/drm/i915/selftests/mock_engine.c | 10 +- drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +- drivers/gpu/drm/i915/selftests/mock_request.c | 10 +- drivers/gpu/drm/i915/selftests/mock_request.h | 8 +- include/drm/i915_pciids.h | 12 + include/uapi/drm/i915_drm.h | 108 +- 110 files changed, 5510 insertions(+), 3620 deletions(-) create mode 100644 drivers/gpu/drm/i915/gvt/page_track.c create mode 100644 drivers/gpu/drm/i915/gvt/page_track.h create mode 100644 drivers/gpu/drm/i915/i915_query.c create mode 100644 drivers/gpu/drm/i915/i915_query.h rename drivers/gpu/drm/i915/{i915_gem_request.c => i915_request.c} (78%) rename drivers/gpu/drm/i915/{i915_gem_request.h => i915_request.h} (79%) create mode 100644 drivers/gpu/drm/i915/intel_huc_fw.c create mode 100644 drivers/gpu/drm/i915/intel_huc_fw.h rename drivers/gpu/drm/i915/selftests/{i915_gem_request.c => i915_request.c} (87%) _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx