Hi Dave, Final 4.10 updates: - fine-tune fb flushing and tracking (Chris Wilson) - refactor state check dumper code for more conciseness (Tvrtko) - roll out dev_priv all over the place (Tvrkto) - finally remove __i915__ magic macro (Tvrtko) - more gvt bugfixes (Zhenyu&team) - better opregion CADL handling (Jani) - refactor/clean up wm programming (Maarten) - gpu scheduler + priority boosting for flips as first user (Chris Wilson) - make fbc use more atomic (Paulo) - initial kvm-gvt framework, but not yet complete (Zhenyu&team) As discussed on irc, there's most likely going to be a super-late gvt pull request in the merge window because the kvm maintainer didn't want to do a shared topic branch because reasons. Annoying, but since gvt overall is new in 4.10, and more so kvm-gvt support the risk should be nil. Cheers, Daniel The following changes since commit b7c0e47d98249c2ddf21ea197b651093c6aaee00: Merge tag 'drm-vc4-next-2016-11-16' of https://github.com/anholt/linux into drm-next (2016-11-17 09:43:56 +1000) are available in the git repository at: git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2016-11-21 for you to fetch changes up to e9cbc4bd0140e1d4e0172e2fe8fe07ba278e5980: drm/i915: Update DRIVER_DATE to 20161121 (2016-11-21 09:45:03 +0100) ---------------------------------------------------------------- Final 4.10 updates: - fine-tune fb flushing and tracking (Chris Wilson) - refactor state check dumper code for more conciseness (Tvrtko) - roll out dev_priv all over the place (Tvrkto) - finally remove __i915__ magic macro (Tvrtko) - more gvt bugfixes (Zhenyu&team) - better opregion CADL handling (Jani) - refactor/clean up wm programming (Maarten) - gpu scheduler + priority boosting for flips as first user (Chris Wilson) - make fbc use more atomic (Paulo) - initial kvm-gvt framework, but not yet complete (Zhenyu&team) ---------------------------------------------------------------- Arnd Bergmann (1): drm/i915: avoid harmless empty-body warning Bing Niu (1): drm/i915/gvt: don't rely on guest PPGTT entry to free old shadow data Chris Wilson (26): drm/i915: Remove chipset flush after cache flush drm/i915: Spin until breadcrumb threads are complete drm/i915: Only wait upon the execution timeline when unlocked drm/i915: Stop skipping the final clflush back to system pages drm/i915: Fix test on inputs for vma_compare() drm/i915: Give each sw_fence its own lockclass drm/i915: Create distinct lockclasses for execution vs user timelines drm/i915: Split request submit/execute phase into two drm/i915: Defer transfer onto execution timeline to actual hw submission drm/i915: Remove engine->execlist_lock drm/i915/scheduler: Signal the arrival of a new request drm/i915/scheduler: Record all dependencies upon request construction drm/i915/scheduler: Execute requests in order of priorities drm/i915: Store the execution priority on the context drm/i915/scheduler: Boost priorities for flips drm/i915: Add execution priority boosting for mmioflips drm/i915/execlists: Use a local lock for dfs_link access drm/i915: Demote i915_gem_open() debugging from DRIVER to USER drm/i915: Remove stolen object spam drm/i915: Add a few more sanity checks for stolen handling drm/i915: Move frontbuffer CS write tracking from ggtt vma to object drm/i915: Be more careful to drop the GT wakeref drm/i915: Check that each request phase is completed before retiring drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error drm/i915: Always flush the dirty CPU cache when pinning the scanout drm/i915: Skip final clflush if LLC is coherent Daniel Vetter (6): Merge tag 'gvt-next-2016-11-07' of https://github.com/01org/gvt-linux into drm-intel-next-queued Merge tag 'for-kvmgt' of git://git.kernel.org/pub/scm/virt/kvm/kvm into drm-intel-next-queued Merge tag 'gvt-next-kvmgt-framework' of https://github.com/01org/gvt-linux into drm-intel-next-queued Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued Merge tag 'gvt-next-2016-11-17' of https://github.com/01org/gvt-linux into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20161121 Du, Changbin (3): drm/i915/gvt: emulate vgpu engine reset control behavior drm/i915/gvt: fix crash in vgpu_reset_execlist drm/i915/gvt: fix mem leakage in setup_vgpu_mmio for vgpu reset Jani Nikula (4): drm/i915: rename preliminary_hw_support to alpha_support drm/i915/gvt: drop checks for early Skylake revisions drm/i915: make i915 the source of acpi device ids for _DOD drm/i915/opregion: fill in the CADL from connector list, not DIDL Jike Song (7): kvm/page_track: call notifiers with kvm_page_track_notifier_node kvm/page_track: export symbols for external usage drm/i915/gvt: remove obsolete code for old kvmgt opregion drm/i915/gvt: introduce host_init/host_exit to MPT drm/i915/gvt: allow several MPT methods to be NULL drm/i915/gvt: refactor intel_gvt_io_emulation_ops to be intel_gvt_ops drm/i915/gvt: add KVMGT support Joonas Lahtinen (3): drm/i915: Remove two sloppy inline functions from .h drm/i915: Split out i915_vma.c drm/i915: Update i915_driver_load kerneldoc Maarten Lankhorst (10): drm/i915: Convert intel_hdmi to use atomic state drm/i915: Pass atomic state to intel_audio_codec_enable, v2. drm/edid: Remove drm_select_eld drm/i915: Update atomic modeset state synchronously, v2. drm/i915: Pass atomic state to verify_connector_state drm/i915: Add an atomic evasion step to watermark programming, v4. drm/i915/gen9+: Program watermarks as a separate step during evasion, v3. drm/i915/gen9+: Preserve old allocation from crtc_state. drm/i915/gen9+: Kill off hw_ddb from intel_crtc. drm/i915: Enable support for nonblocking modeset Matthew Auld (3): drm/i915: add i915_address_space_fini drm/i915: don't leak global_timeline drm/i915: i915_pages_create_for_stolen should return err ptr Min He (1): drm/i915: fix the dequeue logic for single_port_submission context Paulo Zanoni (7): drm/i915/gen9: fix the WM memory bandwidth WA for Y tiling cases drm/i915/fbc: move the intel_fbc_can_choose() call out of the loop drm/i915/fbc: replace a loop with drm_atomic_get_existing_crtc_state() drm/i915/fbc: extract intel_fbc_can_enable() drm/i915/fbc: inline intel_fbc_can_choose() drm/i915/fbc: use drm_atomic_get_existing_crtc_state when appropriate drm/i915/fbc: convert intel_fbc.c to use INTEL_GEN() Pei Zhang (2): drm/i915/gvt: fix deadlock in workload_thread drm/i915/gvt: check workload empty before real scan Ping Gao (7): drm/i915/gvt: remove unused variable 'execlist' drm/i915/gvt: add write vreg in MMIO DMA_CTRL handler drm/i915/gvt: correct the emulation in TLB control handler drm/i915/gvt: update misc ctl regs base on stepping info drm/i915/gvt: implement scratch page table tree for shadow PPGTT drm/i915/gvt: emulate right behavior for tlb_control drm/i915/gvt: add more MMIO regs with command access flag Praveen Paneri (1): drm/i915/bxt: Broxton decoupled MMIO Tvrtko Ursulin (32): drm/i915: Trim the object sg table drm/i915: Assorted dev_priv cleanups drm/i915: More assorted dev_priv cleanups drm/i915: Further assorted dev_priv cleanups drm/i915: Pass dev_priv to INTEL_INFO everywhere apart from the gen use drm/i915: Convert i915_drv.c to INTEL_GEN drm/i915: Fix gen9 forcewake range table drm/i915: dev_priv and a small cascade of cleanups in i915_gem.c drm/i915: Use dev_priv in INTEL_INFO in i915_gem_execbuffer.c drm/i915: Use dev_priv in INTEL_INFO in i915_gem_fence_reg.c drm/i915: dev_priv cleanup in i915_gem_gtt.c drm/i915: dev_priv cleanup in i915_gem_stolen.c drm/i915: dev_priv cleanup in i915_gem_tiling.c drm/i915: dev_priv cleanup in i915_gpu_error.c drm/i915: dev_priv cleanup in i915_irq.c drm/i915: dev_priv cleanup in i915_suspend.c drm/i915: Assorted INTEL_INFO(dev) cleanups drm/i915: dev_priv cleanup in intel_dp.c drm/i915: dev_priv cleanup in intel_pm.c drm/i915: dev_priv cleanup in intel_display.c drm/i915: Fix for_each_pipe argument in vlv_display_power_well_init drm/i915: Remove __I915__ magic macro drm/i915: Make scaler updates less chatty drm/i915: Extract intel_link_m_n config printing into a helper drm/i915: Dump FDI config only where applicable drm/i915: Don't log pipe config kernel pointer and duplicated pipe name drm/i915: Compact a few pipe config debug lines drm/i915: Only dump scaler config where supported drm/i915: Only dump possible panel fitter config for the platform drm/i915: Introduce enableddisabled helper drm/i915: Waterproof verification of gen9 forcewake table ranges drm/i915: Only dump dp_m2_n2 configuration when drrs is used Ville Syrjälä (10): drm/i915: Grab the rotation from the passed plane state for VLV sprites drm/i915: Fix error handling for cursor/sprite plane create failure drm/i915: Use intel_fb_gtt_offset() also for gen2/3 primary plane drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT drm/i915: Use & instead if == to check for rotations drm/i915: Clean up rotation DSPCNTR/DVSCNTR/etc. setup drm/i915: Add horizontal mirroring support for CHV pipe B planes drm/i915: Kill dp_encoder_is_mst drm/i915: Simplify DP port limited color range bit platform checks drm/i915: Remove some duplicated plane swapping logic Xiaoguang Chen (3): KVM: x86: add track_flush_slot page track notifier drm/i915/gvt: use kmap instead of kmap_atomic around guest memory access drm/i915/gvt: clear guest opregion Zhenyu Wang (5): drm/i915/gvt: Fix shift for cmd data size drm/i915/gvt: Fix workload status after wait drm/i915/gvt: add intel vgpu types support drm/i915/gvt: Fix static checker warning on intel_gvt_i2c_handle_aux_ch_write() drm/i915/gvt: remove unresolved vfio pin/unpin pages interface dependency arch/x86/include/asm/kvm_page_track.h | 14 +- arch/x86/kvm/mmu.c | 11 +- arch/x86/kvm/page_track.c | 31 +- arch/x86/kvm/x86.c | 2 +- drivers/gpu/drm/drm_edid.c | 26 - drivers/gpu/drm/i915/Kconfig | 26 +- drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/gvt/Makefile | 7 +- drivers/gpu/drm/i915/gvt/cfg_space.c | 12 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 7 +- drivers/gpu/drm/i915/gvt/edid.c | 3 +- drivers/gpu/drm/i915/gvt/edid.h | 2 +- drivers/gpu/drm/i915/gvt/execlist.c | 24 +- drivers/gpu/drm/i915/gvt/execlist.h | 2 +- drivers/gpu/drm/i915/gvt/gtt.c | 202 ++++--- drivers/gpu/drm/i915/gvt/gtt.h | 40 +- drivers/gpu/drm/i915/gvt/gvt.c | 29 +- drivers/gpu/drm/i915/gvt/gvt.h | 63 +- drivers/gpu/drm/i915/gvt/handlers.c | 73 ++- drivers/gpu/drm/i915/gvt/hypercall.h | 14 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 597 +++++++++++++++++++ drivers/gpu/drm/i915/gvt/mmio.c | 6 +- drivers/gpu/drm/i915/gvt/mmio.h | 9 +- drivers/gpu/drm/i915/gvt/mpt.h | 55 +- drivers/gpu/drm/i915/gvt/opregion.c | 34 +- drivers/gpu/drm/i915/gvt/render.c | 2 + drivers/gpu/drm/i915/gvt/sched_policy.c | 2 - drivers/gpu/drm/i915/gvt/scheduler.c | 51 +- drivers/gpu/drm/i915/gvt/vgpu.c | 180 +++++- drivers/gpu/drm/i915/i915_debugfs.c | 18 +- drivers/gpu/drm/i915/i915_drv.c | 32 +- drivers/gpu/drm/i915/i915_drv.h | 543 ++++-------------- drivers/gpu/drm/i915/i915_gem.c | 608 ++++++-------------- drivers/gpu/drm/i915/i915_gem.h | 2 +- drivers/gpu/drm/i915/i915_gem_context.c | 1 + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 13 +- .../{i915_gem_fence.c => i915_gem_fence_reg.c} | 12 +- drivers/gpu/drm/i915/i915_gem_fence_reg.h | 51 ++ drivers/gpu/drm/i915/i915_gem_gtt.c | 579 +++++-------------- drivers/gpu/drm/i915/i915_gem_gtt.h | 235 +------- drivers/gpu/drm/i915/i915_gem_object.h | 338 +++++++++++ drivers/gpu/drm/i915/i915_gem_request.c | 206 +++++-- drivers/gpu/drm/i915/i915_gem_request.h | 74 ++- drivers/gpu/drm/i915/i915_gem_stolen.c | 39 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 12 +- drivers/gpu/drm/i915/i915_gem_timeline.c | 33 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 1 + drivers/gpu/drm/i915/i915_gem_userptr.c | 3 +- drivers/gpu/drm/i915/i915_gpu_error.c | 39 +- drivers/gpu/drm/i915/i915_guc_submission.c | 15 +- drivers/gpu/drm/i915/i915_irq.c | 32 +- drivers/gpu/drm/i915/i915_params.c | 9 +- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/i915_pci.c | 8 +- drivers/gpu/drm/i915/i915_reg.h | 7 + drivers/gpu/drm/i915/i915_suspend.c | 24 +- drivers/gpu/drm/i915/i915_sw_fence.c | 7 +- drivers/gpu/drm/i915/i915_sw_fence.h | 17 +- drivers/gpu/drm/i915/i915_vma.c | 638 +++++++++++++++++++++ drivers/gpu/drm/i915/i915_vma.h | 341 +++++++++++ drivers/gpu/drm/i915/intel_atomic_plane.c | 9 + drivers/gpu/drm/i915/intel_audio.c | 17 +- drivers/gpu/drm/i915/intel_bios.c | 30 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 31 +- drivers/gpu/drm/i915/intel_color.c | 36 +- drivers/gpu/drm/i915/intel_crt.c | 23 +- drivers/gpu/drm/i915/intel_ddi.c | 12 +- drivers/gpu/drm/i915/intel_display.c | 598 ++++++++++--------- drivers/gpu/drm/i915/intel_dp.c | 52 +- drivers/gpu/drm/i915/intel_dp_mst.c | 1 - drivers/gpu/drm/i915/intel_dpll_mgr.c | 5 +- drivers/gpu/drm/i915/intel_drv.h | 28 +- drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 8 +- drivers/gpu/drm/i915/intel_engine_cs.c | 7 +- drivers/gpu/drm/i915/intel_fbc.c | 83 ++- drivers/gpu/drm/i915/intel_fbdev.c | 10 +- drivers/gpu/drm/i915/intel_frontbuffer.h | 5 +- drivers/gpu/drm/i915/intel_guc_loader.c | 10 +- drivers/gpu/drm/i915/intel_hdmi.c | 50 +- drivers/gpu/drm/i915/intel_hotplug.c | 2 +- drivers/gpu/drm/i915/intel_lrc.c | 187 +++++- drivers/gpu/drm/i915/intel_lvds.c | 7 +- drivers/gpu/drm/i915/intel_opregion.c | 139 ++--- drivers/gpu/drm/i915/intel_panel.c | 12 +- drivers/gpu/drm/i915/intel_pm.c | 170 +++--- drivers/gpu/drm/i915/intel_psr.c | 6 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 2 + drivers/gpu/drm/i915/intel_ringbuffer.h | 16 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +- drivers/gpu/drm/i915/intel_sdvo.c | 11 +- drivers/gpu/drm/i915/intel_sprite.c | 59 +- drivers/gpu/drm/i915/intel_tv.c | 5 +- drivers/gpu/drm/i915/intel_uncore.c | 121 +++- drivers/gpu/drm/i915/intel_vbt_defs.h | 3 +- include/drm/drm_edid.h | 1 - include/uapi/drm/i915_drm.h | 5 + 96 files changed, 4442 insertions(+), 2789 deletions(-) create mode 100644 drivers/gpu/drm/i915/gvt/kvmgt.c rename drivers/gpu/drm/i915/{i915_gem_fence.c => i915_gem_fence_reg.c} (98%) create mode 100644 drivers/gpu/drm/i915/i915_gem_fence_reg.h create mode 100644 drivers/gpu/drm/i915/i915_gem_object.h create mode 100644 drivers/gpu/drm/i915/i915_vma.c create mode 100644 drivers/gpu/drm/i915/i915_vma.h -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel