Hi Dave, drm-intel-next-2017-06-19: Final pile of features for 4.13 New uabi: - batch bo in first slot, for faster execbuf assembly in userspace (Chris Wilson) - (sub)slice getparam, needed for mesa perf support (Robert Bragg) First pile of patches for cnl/cfl support, maintained by Rodrigo but with lots of contributions from others. Still incomplete since public review still ongoing. Features/refactoring: - Make execbuf faster (Chris Wilson), a pile of series to make execbuf buffer handling have fewer passes, use less list walking, postpone more work to async workers and shuffle buffers less, all to make the common case much faster (in some cases at least). - cold boot support for glk dsi (Madhav Chauhan) - Clean up pipe A quirk and related old platform hacks (Ville) - perf sampling support for kbl/glk (Lionel) - perf cleanups (Robert Bragg) - wire atomic state to backlight code, to avoid pipe lookup hacks (Maarten) - reduce request waiting latency/overhead to remove the spinning and associated cpu cycle wasting (Chris) - fix 90/270 rotation wm computation (Ville) - new ddb allocation algo for skl (Kumar Mahesh) - fix regression due to system suspend optimiazatino (Imre) - the usual pile of small cleanups and refactors all over GVT updates contained in this tag: - optimization for per-VM mmio save/restore (Changbin) - optimization for mmio hash table (Changbin) - scheduler optimization with event (Ping) - vGPU reset refinement (Fred) - other misc refactor and cleanups, etc. Note there's to small conflicts with -fixes cherry-picks, but you can resolve those easily with -X theirs when pulling. There's no conflicts outside of drm/i915, as it should be. Cheers, Daniel The following changes since commit 2a1720376adda5ecf8e636fbfb05339c7dad1c55: Backmerge tag 'v4.12-rc3' into drm-next (2017-05-30 15:54:15 +1000) are available in the git repository at: git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2017-06-19 for you to fetch changes up to 9ddb8e1743cdde5ce01234cb1c563f601086b5e3: drm/i915: Update DRIVER_DATE to 20170619 (2017-06-19 09:31:38 +0200) ---------------------------------------------------------------- Final pile of features for 4.13 New uabi: - batch bo in first slot, for faster execbuf assembly in userspace (Chris Wilson) - (sub)slice getparam, needed for mesa perf support (Robert Bragg) First pile of patches for cnl/cfl support, maintained by Rodrigo but with lots of contributions from others. Still incomplete since public review still ongoing. Features/refactoring: - Make execbuf faster (Chris Wilson), a pile of series to make execbuf buffer handling have fewer passes, use less list walking, postpone more work to async workers and shuffle buffers less, all to make the common case much faster (in some cases at least). - cold boot support for glk dsi (Madhav Chauhan) - Clean up pipe A quirk and related old platform hacks (Ville) - perf sampling support for kbl/glk (Lionel) - perf cleanups (Robert Bragg) - wire atomic state to backlight code, to avoid pipe lookup hacks (Maarten) - reduce request waiting latency/overhead to remove the spinning and associated cpu cycle wasting (Chris) - fix 90/270 rotation wm computation (Ville) - new ddb allocation algo for skl (Kumar Mahesh) - fix regression due to system suspend optimiazatino (Imre) - the usual pile of small cleanups and refactors all over GVT updates contained in this tag: - optimization for per-VM mmio save/restore (Changbin) - optimization for mmio hash table (Changbin) - scheduler optimization with event (Ping) - vGPU reset refinement (Fred) - other misc refactor and cleanups, etc. ---------------------------------------------------------------- Ander Conselvan de Oliveira (1): drm/i915/glk: Remove the alpha_support flag Anusha Srivatsa (6): drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus. drm/i915/cfl: Add Coffee Lake PCI IDs for H Sku. drm/i915/cfl: Add Coffee Lake PCI IDs for U Sku. drm/i915/guc: Load GuC on Coffee Lake drm/i915/huc: Load HuC on Coffee Lake drm/i915/DMC/CNL: Load DMC on CNL Changbin Du (10): drm/i915/gvt: rewrite the trace gvt:gvt_command using trace style approach drm/i915/gvt: refactor function intel_vgpu_submit_execlist drm/i915/gvt: implement per-vm mmio switching optimization drm/i915/gvt: clean up the unused last_ctx_submit_time of struct intel_vgpu drm/i915/gvt: Optimize MMIO register handling for some large MMIO blocks drm/i915/gvt: Cleanup struct intel_gvt_mmio_info drm/i915/gvt: Make mmio_attribute as type u8 to save 1.5MB memory drm/i915/gvt: Make the MMIO attribute wrappers be inline drm/i915/gvt: Add helper for tuning MMIO hash table drm/i915/gvt: Tuning the size of MMIO hash lookup table to 2048 Chris Wilson (36): drm/i915: Add kerneldoc to describe i915_gem_object.vma_list drm/i915: Remove toplevel struct_mutex locking from debugfs/i915_drop_caches drm/i915: Short-circuit i915_gem_wait_for_idle() if already idle drm/i915: Hold a wakeref for probing the ring registers drm/i915: Guard against i915_ggtt_disable_guc() being invoked unconditionally drm/i915/guc: Assert that we switch between known ggtt->invalidate functions drm/i915: Check the ring is empty when declaring the engines are idle drm/i915: Fix logical inversion for gen4 quirking drm/i915: Allow kswapd to pause the device whilst reaping drm/i915: Move the unclaimed mmio detection into the powerwell for KMS drm/i915: Check signaled state after enabling signaling drm/i915: Report back whether the irq was armed when adding the waiter drm/i915: Skip adding the request to the signal tree is complete drm/i915: Remove the spin-request during execbuf await_request drm/i915: Encourage our shrinker more when our shmemfs allocations fails drm/i915: Remove __GFP_NORETRY from our buffer allocator drm/i915: Only restrict noreclaim in the early shrink passes drm/i915: Spin for struct_mutex inside shrinker drm/i915: Reinstate reservation_object zapping for batch_pool objects drm/i915: Amalgamate execbuffer parameter structures drm/i915: Use vma->exec_entry as our double-entry placeholder drm/i915: Split vma exec_link/evict_link drm/i915: Make i915_vma_destroy() static drm/i915: Mark CPU cache as dirty on every transition for CPU writes drm/i915: Store i915_gem_object_is_coherent() as a bit next to cache-dirty drm/i915: Fix retrieval of hangcheck stats drm/i915: Store a direct lookup from object handle to vma drm/i915: Pass vma to relocate entry drm/i915: Disable EXEC_OBJECT_ASYNC when doing relocations drm/i915: Eliminate lots of iterations over the execobjects array drm/i915: Store a persistent reference for an object in the execbuffer cache drm/i915: First try the previous execbuffer location drm/i915: Wait upon userptr get-user-pages within execbuffer drm/i915: Allow execbuffer to use the first object as the batch drm/i915: Async GPU relocation processing drm/i915: Stash a pointer to the obj's resv in the vma Chuanxiao Dong (5): drm/i915/gvt: Add gvt options sanitize function drm/i915/gvt: Return -EIO if host enable_execlists not enabled when loading GVT-g drm/i915/gvt: Return -EIO if host GuC submission is enabled when loading GVT-g drm/i915/gvt: Add runtime_pm get/put to proctect MMIO accessing drm/i915/gvt: add gtt_invalidate API to flush the GTT TLB Clint Taylor (1): drm/i915/cnl: Enable loadgen_select bit for vswing sequence Colin Ian King (1): drm/i915/cnl: make function cnl_ddi_dp_set_dpll_hw_state static Daniel Vetter (1): drm/i915: Update DRIVER_DATE to 20170619 Dhinakaran Pandiyan (3): drm/i915/cnp: Add PCI ID for Cannonpoint LP PCH drm/i915: Don't enable backlight at setup time. drm/i915: Store 9 bits of PCI Device ID for platforms with a LP PCH Imre Deak (2): drm/i915: Prevent the system suspend complete optimization drm/i915/ddi: Avoid long delays during system suspend / eDP disabling James Irwin (1): drm/i915/cnl: Cannonlake has 4 planes (3 sprites) per pipe Jani Nikula (2): drm/i915/dvo: fix debug logging on unknown DID Merge tag 'gvt-next-2017-06-08' of https://github.com/01org/gvt-linux into drm-intel-next-queued Kahola, Mika (2): drm/i915: Configure DPLL's for Cannonlake drm/i915/cnl: Enable wrpll computation for CNL Kai Chen (2): drm/i915: Disable decoupled MMIO drm/i915: Remove decoupled MMIO code Kumar, Mahesh (1): drm/i915/skl: New ddb allocation algorithm Lionel Landwerlin (4): drm/i915/perf: rework mux configurations queries drm/i915: add KBL GT2/GT3 check macros drm/i915/perf: add KBL support drm/i915/perf: add GLK support Maarten Lankhorst (15): drm/i915: Use atomic scaling_mode instead of panel.fitting_mode drm/i915: Use per-connector scaling mode property drm/i915: Add plumbing for digital connector state, v3. drm/i915: Convert DSI connector properties to atomic. drm/i915: Convert LVDS connector properties to atomic. drm/i915: Make intel_dp->has_audio reflect hw state only drm/i915: Convert intel_dp properties to atomic, v2. drm/i915: Convert intel_hdmi connector properties to atomic drm/i915: Handle force_audio correctly in intel_sdvo drm/i915: Convert intel_sdvo connector properties to atomic. drm/i915: Always recompute watermarks when distrust_bios_wm is set, v2. drm/i915/glk: Fix dotclock calculation in skl_check_pipe_max_pixel_rate drm/i915: Pass crtc_state and connector state to backlight enable/disable functions drm/i915: Pass connector state to intel_panel_set_backlight_acpi drm/i915: Pass atomic state to backlight enable/disable/set callbacks. Madhav Chauhan (2): drm/i915/glk: Split GLK DSI device ready functionality drm/i915/glk: Add cold boot sequence for GLK DSI Mahesh Kumar (1): drm/i915/skl+: consider max supported plane pixel rate while scaling Michel Thierry (3): drm/i915/guc: Fix doorbell id selection drm/i915/gen10: Set value of Indirect Context Offset for gen10 drm/i915/guc: Clear enable_guc_loading in case of init failure Nagaraju, Vathsala (1): drm/i915/psr: disable psr2 for resolution greater than 32X20 Nick Desaulniers (1): drm/i915/gvt: remove redundant -Wall Paulo Zanoni (1): drm/i915/cnl: add IS_CNL_REVID macro Ping Gao (2): drm/i915/gvt: Support event based scheduling drm/i915/gvt: Trigger scheduling after context complete Robert Bragg (7): drm/i915: expose _SLICE_MASK GETPARM drm/i915: expose _SUBSLICE_MASK GETPARM drm/i915/perf: Add 'render basic' Gen8+ OA unit configs drm/i915/perf: Add OA unit support for Gen 8+ drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT drm/i915/perf: per-gen timebase for checking sample freq drm/i915/perf: remove perf.hook_lock Rodrigo Vivi (32): drm/i915/cnp: Introduce Cannonpoint PCH. drm/i915/cnp: Get/set proper Raw clock frequency on CNP. drm/i915/cnp: Backlight support for CNP. drm/i915/cnp: add CNP gmbus support drm/i915/cnp: Panel Power sequence changes for CNP PCH. drm/i915/cnl: Introduce Cannonlake platform defition. drm/i915/cnl: Cannonlake uses CNP PCH. drm/i915/cnl: Add Cannonlake PCI IDs for U-skus. drm/i915/cnl: Add Cannonlake PCI IDs for Y-skus. drm/i915/cnl: Configure EU slice power gating. drm/i915/cnl: Cannonlake has same MOCS table than Skylake. drm/i915/cnl: Also need power well sanitize. drm/i915: Remove unnecessary PORT3 definition. drm/i915: Unify GT* and GT3 definitions drm/i915/cfl: Introduce Coffee Lake platform definition. drm/i915/cfl: Coffee Lake uses CNP PCH. drm/i915/cfl: Introduce Display workarounds for Coffee Lake. drm/i915/cfl: Coffee Lake reuses Kabylake DMC. drm/i915/cnl: Allow dynamic cdclk changes on CNL drm/i915/cnl: DDI - PLL mapping drm/i915/cnl: Initialize PLLs drm/i915: Add MMIO helper for 6 ports with different offsets. drm/i915/cnl: Add registers related to voltage swing sequences. drm/i915/cnl: Add DDI Buffer translation tables for Cannonlake. drm/i915/cnl: Implement voltage swing sequence. drm/i915: Use HAS_CSR instead of gen number on DMC load. drm/i915/cnl: Fix Cannonlake scaler mode programing. drm/i915/cnl: Enable fifo underrun for Cannonlake. drm/i915/cnl: LSPCON support is gen9+ drm/i915/cfl: Basic DDI plumbing for Coffee Lake. Revert "drm/i915/skl: New ddb allocation algorithm" drm/i915/cfl: Introduce Coffee Lake workarounds. Ville Syrjälä (20): drm/i915: Remove dead code from runtime resume handler drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail drm/i915: Implement fbc_status "Compressing" info for all platforms drm/i915: s/fbc_fc/fbc_false_color/ drm/i915: Restore has_fbc=1 for ILK-M drm/i915: Fix scaling check for 90/270 degree plane rotation drm/i915: Fix SKL+ watermarks for 90/270 rotation drm/i915: Fix 90/270 rotated coordinates for FBC drm/i915/cnl: Add power wells for CNL drm/i915/cnl: Implement .get_display_clock_speed() for CNL drm/i915/cnl: Implement .set_cdclk() for CNL drm/i915/cnl: Implement CNL display init/unit sequence drm/i915: Fix deadlock witha the pipe A quirk during resume drm/i915: Plumb the correct acquire ctx into intel_crtc_disable_noatomic() drm/i915: Use a loop for the "three times for luck" DPLL procedure drm/i915: Add i830 "pipes power well" drm/i915: Drop pipe A quirk for Toshiba Protege R205-S209 drm/i915: Drop pipe A quirk for Thinkapd T60 drm/i915: Remove pipe A quirk remnants drm/i915: Actually attach the tv_format property to the SDVO connector Weinan Li (2): drm/i915: return the correct usable aperture size under gvt environment drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g Xiong Zhang (2): drm/i915/gvt: Change flood gvt dmesg into trace drm/i915/gvt: Delete gvt_dbg_cmd() in cmd_parser_exec() Zhenyu Wang (1): drm/i915: Fix GVT-g PVINFO version compatibility check fred gao (3): drm/i915/gvt: Legacy HSW related MMIO handler clean up drm/i915/gvt: Fix GDRST vreg state after reset drm/i915/gvt: Refine virtual reset function drivers/gpu/drm/i915/Makefile | 11 +- drivers/gpu/drm/i915/dvo_ch7xxx.c | 10 +- drivers/gpu/drm/i915/gvt/Makefile | 2 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 56 +- drivers/gpu/drm/i915/gvt/execlist.c | 56 +- drivers/gpu/drm/i915/gvt/firmware.c | 9 +- drivers/gpu/drm/i915/gvt/gtt.c | 15 +- drivers/gpu/drm/i915/gvt/gvt.c | 6 +- drivers/gpu/drm/i915/gvt/gvt.h | 100 +- drivers/gpu/drm/i915/gvt/handlers.c | 303 +- drivers/gpu/drm/i915/gvt/interrupt.c | 20 +- drivers/gpu/drm/i915/gvt/mmio.c | 121 +- drivers/gpu/drm/i915/gvt/mmio.h | 44 +- drivers/gpu/drm/i915/gvt/mpt.h | 3 +- drivers/gpu/drm/i915/gvt/render.c | 48 +- drivers/gpu/drm/i915/gvt/render.h | 4 +- drivers/gpu/drm/i915/gvt/sched_policy.c | 27 +- drivers/gpu/drm/i915/gvt/scheduler.c | 39 +- drivers/gpu/drm/i915/gvt/scheduler.h | 4 + drivers/gpu/drm/i915/gvt/trace.h | 178 +- drivers/gpu/drm/i915/gvt/vgpu.c | 9 +- drivers/gpu/drm/i915/i915_debugfs.c | 68 +- drivers/gpu/drm/i915/i915_drv.c | 55 +- drivers/gpu/drm/i915/i915_drv.h | 106 +- drivers/gpu/drm/i915/i915_gem.c | 168 +- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 19 +- drivers/gpu/drm/i915/i915_gem_clflush.c | 17 +- drivers/gpu/drm/i915/i915_gem_context.c | 86 +- drivers/gpu/drm/i915/i915_gem_context.h | 26 + drivers/gpu/drm/i915/i915_gem_evict.c | 119 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2754 ++++++----- drivers/gpu/drm/i915/i915_gem_gtt.c | 13 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 2 + drivers/gpu/drm/i915/i915_gem_internal.c | 4 +- drivers/gpu/drm/i915/i915_gem_object.h | 22 +- drivers/gpu/drm/i915/i915_gem_request.c | 20 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 28 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 1 + drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 24 +- drivers/gpu/drm/i915/i915_guc_submission.c | 2 +- drivers/gpu/drm/i915/i915_irq.c | 6 +- drivers/gpu/drm/i915/i915_oa_bdw.c | 5376 ++++++++++++++++++++++ drivers/gpu/drm/i915/i915_oa_bdw.h | 40 + drivers/gpu/drm/i915/i915_oa_bxt.c | 2690 +++++++++++ drivers/gpu/drm/i915/i915_oa_bxt.h | 40 + drivers/gpu/drm/i915/i915_oa_chv.c | 2873 ++++++++++++ drivers/gpu/drm/i915/i915_oa_chv.h | 40 + drivers/gpu/drm/i915/i915_oa_glk.c | 2602 +++++++++++ drivers/gpu/drm/i915/i915_oa_glk.h | 40 + drivers/gpu/drm/i915/i915_oa_hsw.c | 263 +- drivers/gpu/drm/i915/i915_oa_hsw.h | 4 +- drivers/gpu/drm/i915/i915_oa_kblgt2.c | 2991 ++++++++++++ drivers/gpu/drm/i915/i915_oa_kblgt2.h | 40 + drivers/gpu/drm/i915/i915_oa_kblgt3.c | 3040 ++++++++++++ drivers/gpu/drm/i915/i915_oa_kblgt3.h | 40 + drivers/gpu/drm/i915/i915_oa_sklgt2.c | 3479 ++++++++++++++ drivers/gpu/drm/i915/i915_oa_sklgt2.h | 40 + drivers/gpu/drm/i915/i915_oa_sklgt3.c | 3039 ++++++++++++ drivers/gpu/drm/i915/i915_oa_sklgt3.h | 40 + drivers/gpu/drm/i915/i915_oa_sklgt4.c | 3093 +++++++++++++ drivers/gpu/drm/i915/i915_oa_sklgt4.h | 40 + drivers/gpu/drm/i915/i915_pci.c | 90 +- drivers/gpu/drm/i915/i915_perf.c | 1126 ++++- drivers/gpu/drm/i915/i915_pvinfo.h | 8 +- drivers/gpu/drm/i915/i915_reg.h | 287 +- drivers/gpu/drm/i915/i915_utils.h | 5 + drivers/gpu/drm/i915/i915_vgpu.c | 54 +- drivers/gpu/drm/i915/i915_vma.c | 28 +- drivers/gpu/drm/i915/i915_vma.h | 20 +- drivers/gpu/drm/i915/intel_atomic.c | 137 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 73 +- drivers/gpu/drm/i915/intel_cdclk.c | 355 +- drivers/gpu/drm/i915/intel_csr.c | 17 +- drivers/gpu/drm/i915/intel_ddi.c | 392 +- drivers/gpu/drm/i915/intel_device_info.c | 11 +- drivers/gpu/drm/i915/intel_display.c | 329 +- drivers/gpu/drm/i915/intel_dp.c | 190 +- drivers/gpu/drm/i915/intel_dp_aux_backlight.c | 17 +- drivers/gpu/drm/i915/intel_dpll_mgr.c | 437 +- drivers/gpu/drm/i915/intel_dpll_mgr.h | 4 + drivers/gpu/drm/i915/intel_drv.h | 59 +- drivers/gpu/drm/i915/intel_dsi.c | 167 +- drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c | 22 +- drivers/gpu/drm/i915/intel_engine_cs.c | 104 +- drivers/gpu/drm/i915/intel_fbc.c | 19 +- drivers/gpu/drm/i915/intel_fifo_underrun.c | 2 +- drivers/gpu/drm/i915/intel_guc_loader.c | 2 +- drivers/gpu/drm/i915/intel_gvt.c | 43 +- drivers/gpu/drm/i915/intel_gvt.h | 5 + drivers/gpu/drm/i915/intel_hdmi.c | 157 +- drivers/gpu/drm/i915/intel_huc.c | 2 +- drivers/gpu/drm/i915/intel_i2c.c | 15 +- drivers/gpu/drm/i915/intel_lrc.c | 7 + drivers/gpu/drm/i915/intel_lvds.c | 73 +- drivers/gpu/drm/i915/intel_mocs.c | 2 +- drivers/gpu/drm/i915/intel_opregion.c | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 1 - drivers/gpu/drm/i915/intel_panel.c | 265 +- drivers/gpu/drm/i915/intel_pm.c | 157 +- drivers/gpu/drm/i915/intel_psr.c | 5 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 316 +- drivers/gpu/drm/i915/intel_sdvo.c | 540 +-- drivers/gpu/drm/i915/intel_sprite.c | 21 + drivers/gpu/drm/i915/intel_uc.c | 7 +- drivers/gpu/drm/i915/intel_uncore.c | 126 - drivers/gpu/drm/i915/selftests/huge_gem_object.c | 4 +- drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 4 +- drivers/gpu/drm/i915/selftests/i915_vma.c | 16 +- drivers/gpu/drm/i915/selftests/mock_context.c | 12 +- include/drm/i915_pciids.h | 40 + include/uapi/drm/i915_drm.h | 44 +- 112 files changed, 36919 insertions(+), 3317 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_oa_bdw.c create mode 100644 drivers/gpu/drm/i915/i915_oa_bdw.h create mode 100644 drivers/gpu/drm/i915/i915_oa_bxt.c create mode 100644 drivers/gpu/drm/i915/i915_oa_bxt.h create mode 100644 drivers/gpu/drm/i915/i915_oa_chv.c create mode 100644 drivers/gpu/drm/i915/i915_oa_chv.h create mode 100644 drivers/gpu/drm/i915/i915_oa_glk.c create mode 100644 drivers/gpu/drm/i915/i915_oa_glk.h create mode 100644 drivers/gpu/drm/i915/i915_oa_kblgt2.c create mode 100644 drivers/gpu/drm/i915/i915_oa_kblgt2.h create mode 100644 drivers/gpu/drm/i915/i915_oa_kblgt3.c create mode 100644 drivers/gpu/drm/i915/i915_oa_kblgt3.h create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt2.c create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt2.h create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt3.c create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt3.h create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt4.c create mode 100644 drivers/gpu/drm/i915/i915_oa_sklgt4.h -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx