[PULL] drm-intel-next

Daniel Vetter
2016-11-29T10:16:03Z

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@lists.freedesktop.org