[PULL] drm-intel-next

Daniel Vetter
2016-11-10T14:57:45Z

Hi Dave,

drm-intel-next-2016-11-08:
- gpu idling rework for s/r (Imre)
- vlv mappable scanout fix
- speed up probing in resume (Lyude)
- dp audio workarounds for gen9 (Dhinakaran)
- more conversion to using dev_priv internally (Ville)
- more gen9+ wm fixes and cleanups (Maarten)
- shrinker cleanup&fixes (Chris)
- reorg plane init code (Ville)
- implement support for multiple timelines (prep work for scheduler)
from Chris and all
- untangle dev->struct_mutex locking as prep for multiple timelines
(Chris)
- refactor bxt phy code and collect it all in intel_dpio_phy.c (Ander)
- another gvt with bugfixes all over from Zhenyu
- piles of lspcon fixes from Imre
- 90/270 rotation fixes (Ville)
- guc log buffer support (Akash+Sagar)
- fbc fixes from Paulo
- untangle rpm vs. tiling-fences/mmaps (Chris)
- fix atomic commit to wait on the right fences (Daniel Stone)

Aside: I expect one more drm-intel feature pull for 4.10, then it's all
in.

Cheers, Daniel

The following changes since commit fb422950c6cd726fd36eb72a7cf84583440a18a2:

Merge branch 'linux-4.9' of git://github.com/skeggsb/linux into drm-next (2016-10-28 14:24:56 +1000)

are available in the git repository at:

git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2016-11-08

for you to fetch changes up to 58e197d631d44f9f4817b8198b43132a40de1164:

drm/i915: Update DRIVER_DATE to 20161108 (2016-11-08 07:51:35 +0100)

----------------------------------------------------------------
- gpu idling rework for s/r (Imre)
- vlv mappable scanout fix
- speed up probing in resume (Lyude)
- dp audio workarounds for gen9 (Dhinakaran)
- more conversion to using dev_priv internally (Ville)
- more gen9+ wm fixes and cleanups (Maarten)
- shrinker cleanup&fixes (Chris)
- reorg plane init code (Ville)
- implement support for multiple timelines (prep work for scheduler)
from Chris and all
- untangle dev->struct_mutex locking as prep for multiple timelines
(Chris)
- refactor bxt phy code and collect it all in intel_dpio_phy.c (Ander)
- another gvt with bugfixes all over from Zhenyu
- piles of lspcon fixes from Imre
- 90/270 rotation fixes (Ville)
- guc log buffer support (Akash+Sagar)
- fbc fixes from Paulo
- untangle rpm vs. tiling-fences/mmaps (Chris)
- fix atomic commit to wait on the right fences (Daniel Stone)

----------------------------------------------------------------
Akash Goel (12):
drm/i915: New structure to contain GuC logging related fields
drm/i915: Add low level set of routines for programming PM IER/IIR/IMR register set
drm/i915: Add a relay backed debugfs interface for capturing GuC logs
drm/i915: New lock to serialize the Host2GuC actions
drm/i915: Add stats for GuC log buffer flush interrupts
drm/i915: Optimization to reduce the sampling time of GuC log buffer
drm/i915: Increase GuC log buffer size to reduce flush interrupts
drm/i915: Augment i915 error state to include the dump of GuC log buffer
drm/i915: Use SSE4.1 movntdqa based memcpy for sampling GuC log buffer
drm/i915: Early creation of relay channel for capturing boot time logs
drm/i915: Mark the GuC log buffer flush interrupts handling WQ as freezable
drm/i915/guc: WA to address the Ringbuffer coherency issue

Ander Conselvan de Oliveira (10):
drm/i915: Rename struct i915_power_well field data to id
drm/i915: Explicitly map broxton DPIO power wells to phys
drm/i915: Pass lane count to bxt_ddi_phy_calc_lane_optmin_mask()
drm/i915: Move broxton phy code to intel_dpio_phy.c
drm/i915: Move DPIO phy documentation section to intel_dpio_phy.c
drm/i915: Move broxton vswing sequence to intel_dpio_phy.c
drm/i915: Create a struct to hold information about the broxton phys
drm/i915: Add location of the Rcomp resistor to bxt_ddi_phy_info
drm/i915: Address broxton phy registers based on phy and channel number
drm/i915/bxt: Don't set OCL2_LDOFUSE_PWR_DIS bit in phy init sequence

Anusha Srivatsa (1):
drm/i915/DMC/KBL: Load DMC on KBL using the no_stepping_info array

Arkadiusz Hiler (2):
drm/i915/gvt: Implement WaForceWakeRenderDuringMmioTLBInvalidate
drm/i915: fix comment on I915_{READ, WRITE}_FW

Bing Niu (1):
drm/i915/gvt: throw error basing on execlist submit result

Chris Wilson (59):
drm/i915: Move user fault tracking to a separate list
drm/i915: Use RPM as the barrier for controlling user mmap access
drm/i915: Remove superfluous locking around userfault_list
drm/i915: Remove RPM sequence checking
drm/i915: Move fence cancellation to runtime suspend
drm/i915: Include the kernel uptime in the error state
drm/i915: Remove insert-page shortcut from execbuf relocate_iomap()
drm/i915: Support asynchronous waits on struct fence from i915_gem_request
drm/i915: Allow i915_sw_fence_await_sw_fence() to allocate
drm/i915: Remove superfluous wait_for_error() from throttle-ioctl
drm/i915: Rearrange i915_wait_request() accounting with callers
drm/i915: Remove unused i915_gem_active_wait() in favour of _unlocked()
drm/i915: Defer active reference until required
drm/i915: Introduce an internal allocator for disposable private objects
drm/i915: Reuse the active golden render state batch
drm/i915: Markup GEM API with lockdep asserts
drm/i915: Use a radixtree for random access to the object's backing storage
drm/i915: Use radixtree to jump start intel_partial_pages()
drm/i915: Refactor object page API
drm/i915: Pass around sg_table to get_pages/put_pages backend
drm/i915: Move object backing storage manipulation to its own locking
drm/i915/dmabuf: Acquire the backing storage outside of struct_mutex
drm/i915: Implement pread without struct-mutex
drm/i915: Implement pwrite without struct-mutex
drm/i915: Acquire the backing storage outside of struct_mutex in set-domain
drm/i915: Move object release to a freelist + worker
drm/i915: Use lockless object free
drm/i915: Move GEM activity tracking into a common struct reservation_object
drm/i915: Restore nonblocking awaits for modesetting
drm/i915: Combine seqno + tracking into a global timeline struct
drm/i915: Queue the idling context switch after all other timelines
drm/i915: Wait first for submission, before waiting for request completion
drm/i915: Introduce a global_seqno for each request
drm/i915: Rename ->emit_request to ->emit_breadcrumb
drm/i915: Record space required for breadcrumb emission
drm/i915: Defer breadcrumb emission
drm/i915: Move the global sync optimisation to the timeline
drm/i915: Create a unique name for the context
drm/i915: Convert breadcrumbs spinlock to be irqsafe
drm/i915: Reserve space in the global seqno during request allocation
drm/i915: Defer setting of global seqno on request to submission
drm/i915: Enable multiple timelines
drm/i915: Mark up obj->mm.lock for shrinker
drm/i915: Use the full hammer when shutting down the rcu tasks
drm/i915: Discard objects from mm global_list after being shrunk
drm/i915: Move the recently scanned objects to the tail after shrinking
drm/i915: Avoid accessing request->timeline outside of its lifetime
drm/i915: Track pages pinned due to swizzling quirk
drm/i915: Store the vma in an rbtree under the object
drm/i915: Improve lockdep tracking for obj->mm.lock
drm/i915: Export a function to flush the context upon pinning
drm/i915: Show the execlist queue in debugfs/i915_engine_info
drm/i915/guc: Cache the client mapping
drm/i915: Fix test on inputs for vma_compare()
drm/i915: Fix pages pin counting around swizzle quirk
drm/i915: Remove the vma from the object list upon close
drm/i915: Round tile chunks up for constructing partial VMAs
drm/i915: Limit Valleyview and earlier to only using mappable scanout
drm/i915: Mark CPU cache as dirty when used for rendering

Daniel Stone (1):
drm: i915: Wait for fences on new fb, not old

Daniel Vetter (4):
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
Merge tag 'gvt-next-2016-10-27' of https://github.com/01org/gvt-linux into drm-intel-next-queued
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
drm/i915: Update DRIVER_DATE to 20161108

Dhinakaran Pandiyan (2):
drm/i915/dp: BDW cdclk fix for DP audio
drm/i915/dp: Extend BDW DP audio workaround to GEN9 platforms

Du, Changbin (3):
drm/i915/gvt: use well wrapped set_mask_bits() instead of defining new one
drm/i915/gvt: get msi cap offset from pdev directly
drm/i915/gvt: fix nested sleeping issue

Imre Deak (12):
drm/dp: Factor out helper to distinguish between branch and sink devices
drm/i915/dp: Remove debug dependency of DPCD SW/HW revision read
drm/i915/dp: Print only sink or branch specific OUI based on dev type
drm/i915/dp: Print full branch/sink descriptor
drm/i915/lspcon: Fail LSPCON probe if the start of DPCD can't be read
drm/i915/dp: Read DP descriptor for eDP and LSPCON too
drm/i915/lspcon: Get DDC adapter via container_of() instead of cached ptr
drm/i915/lspcon: Add workaround for resuming in PCON mode
drm/i915: Avoid early GPU idling due to already pending idle work
drm/i915: Avoid early GPU idling due to race with new request
drm/i915: Make sure engines are idle during GPU idling in LR mode
drm/i915: Add assert for no pending GPU requests during suspend/resume in LR mode

Jani Nikula (3):
drm/i915: remove AGP dependency from DRM_I915 kconfig help text
drm/i915/audio: drop extra crtc clock check from HDMI audio N lookup
MAINTAINERS: drop dri-devel list for i915

Joonas Lahtinen (2):
drm/i915: Unify global_list into global_link
drm/i915: Introduce HAS_64BIT_RELOC

Jérémy Lefaure (2):
drm/i915/gvt: fix bad 32 bit shift in gtt
drm/i915/gvt: fix an error string format

Libin Yang (1):
drm/i915/audio: set proper N/M in modeset

Lyude (3):
drm/i915/vlv: Prevent enabling hpd polling in late suspend
drm/i915: Remove redundant reprobe in i915_drm_resume
drm/i915: Reinit polling before hpd when resuming

Maarten Lankhorst (7):
drm/i915/skl+: Prepare for removing data rate from skl watermark state, v2.
drm/i915/gen9+: Use cstate plane mask instead of crtc->state.
drm/i915/gen9+: Use for_each_intel_plane_on_crtc in skl_print_wm_changes, v2.
drm/i915/skl+: Remove data_rate from watermark struct, v2.
drm/i915/skl+: Remove minimum block allocation from crtc state.
drm/i915/skl+: Clean up minimum allocations, v2.
drm/i915/gen9+: Use the watermarks from crtc_state for everything, v2.

Matt Roper (2):
drm/i915: Rename for_each_plane -> for_each_universal_plane
drm/i915: Use macro in place of open-coded for_each_universal_plane loop

Mika Kuoppala (3):
drm/i915/gtt: Fix pte clear range
drm/i915/gtt: Mark tlbs dirty on clear
drm/i915: Move hangcheck code out from i915_irq.c

Min He (1):
drm/i915/gvt: fix an typo in skl_decode_mi_display_flip

Navare, Manasi D (1):
drm/i915: Change the placement of some static functions in intel_dp.c

Paulo Zanoni (2):
drm/i915/fbc: fix CFB size calculation for gen8+
drm/i915/fbc: fix FBC_COMPRESSION_MASK on BDW+

Ping Gao (3):
drm/i915/gvt: add vreg write for GDRST handler
drm/i915/gvt: correct the reset logic
drm/i915/gvt: add full vGPU reset support

Sagar Arun Kamble (6):
drm/i915: Decouple GuC log setup from verbosity parameter
drm/i915: Add GuC ukernel logging related fields to fw interface file
drm/i915: Support for GuC interrupts
drm/i915: Handle log buffer flush interrupt event from GuC
drm/i915: Support for forceful flush of GuC log buffer
drm/i915: Debugfs support for GuC logging control

Tvrtko Ursulin (5):
drm/i915: Rotated view does not need a fence
drm/i915: Remove two invalid warns
drm/i915: Correct pipe fault reporting string
drm/i915: Allow shrinking of userptr objects once again
drm/i915: Tidy slab cache allocations

Ville Syrjälä (32):
drm/i915: Refresh that status of MST capable connectors in ->detect()
drm/i915: Fix SKL+ 90/270 degree rotated plane coordinate computation
drm/i915: Don't try to initialize sprite planes on pre-ilk
drm/i915: Initialize planes in a reasonable order
drm/i915: Bail if plane/crtc init fails
drm/i915: Reorganize sprite init
drm/i915: Pass dev_priv to plane constructors
drm/i915: Pass dev_priv to skl_init_scalers()
drm/i915: Pass intel_crtc to intel_crtc_active()
drm/i915: Pass intel_crtc to update_wm functions
drm/i915: Use struct intel_crtc in legacy platform wm code
drm/i915: Store struct intel_crtc * in {pipe,plane}_to_crtc_mapping[]
drm/i915: Pass dev_priv to intel_wait_for_vblank()
drm/i915: Pass dev_priv to vlv force pll functions
drm/i915: Pass dev_priv to g4x wm functions
drm/i915: Pass dev_priv to intel_get_crtc_for_pipe()
drm/i915: Always use intel_get_crtc_for_pipe()
drm/i915: Pass dev_priv to intel_crtc_init()
drm/i915: Pass dev_priv to cdclk update funcs
drm/i915: Pass dev_priv to .get_display_clock_speed()
drm/i915: Pass dev_priv to IS_MOBILE()
drm/i915: Pass dev_priv to IS_PINEVIEW()
drm/i915: Pass dev_priv to i915_pineview_get_mem_freq() and i915_ironlake_get_mem_freq()
drm/i915: Pass dev_priv to .get_fifo_size()
drm/i915: Pass dev_priv to HAS_FW_BLC
drm/i915: Pass dev_priv to IS_BROADWATER/IS_CRESTLINE
drm/i915: Pass dev_priv to rest of IS_FOO() macros for the old platforms
drm/i915: Pass dev_priv to single_enabled_crtc()
drm/i915: Pass dev_priv to init_clock_gating
drm/i915: Pass dev_priv to intel_suspend_hw()
drm/i915: Pass dev_priv to ilk_setup_wm_latency() & co.
drm/i915: Pass dev_priv to intel_init_pm()

Xiaoguang Chen (1):
drm/i915/gvt: fix detect_host calling logic

Zhenyu Wang (3):
drm/i915/gvt: Fix failure when ACPI is not enabled
drm/i915: GVT-g driver depends on 64BIT kernel
drm/i915/gvt: Fix broken mocs offset

Documentation/gpu/i915.rst | 2 +-
MAINTAINERS | 1 -
drivers/gpu/drm/i915/Kconfig | 13 +-
drivers/gpu/drm/i915/Makefile | 3 +
drivers/gpu/drm/i915/gvt/cmd_parser.c | 29 +-
drivers/gpu/drm/i915/gvt/gtt.c | 4 +-
drivers/gpu/drm/i915/gvt/gvt.c | 8 +-
drivers/gpu/drm/i915/gvt/gvt.h | 2 +
drivers/gpu/drm/i915/gvt/handlers.c | 26 +-
drivers/gpu/drm/i915/gvt/opregion.c | 6 +-
drivers/gpu/drm/i915/gvt/render.c | 21 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 28 +-
drivers/gpu/drm/i915/gvt/vgpu.c | 4 +-
drivers/gpu/drm/i915/i915_cmd_parser.c | 2 +-
drivers/gpu/drm/i915/i915_debugfs.c | 295 ++-
drivers/gpu/drm/i915/i915_drv.c | 72 +-
drivers/gpu/drm/i915/i915_drv.h | 466 ++--
drivers/gpu/drm/i915/i915_gem.c | 2350 +++++++++++---------
drivers/gpu/drm/i915/i915_gem.h | 2 +
drivers/gpu/drm/i915/i915_gem_batch_pool.c | 39 +-
drivers/gpu/drm/i915/i915_gem_context.c | 91 +-
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 150 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 18 +-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 77 +-
drivers/gpu/drm/i915/i915_gem_fence.c | 31 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 323 +--
drivers/gpu/drm/i915/i915_gem_gtt.h | 12 +-
drivers/gpu/drm/i915/i915_gem_internal.c | 170 ++
drivers/gpu/drm/i915/i915_gem_render_state.c | 186 +-
drivers/gpu/drm/i915/i915_gem_render_state.h | 4 +-
drivers/gpu/drm/i915/i915_gem_request.c | 583 ++---
drivers/gpu/drm/i915/i915_gem_request.h | 124 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 99 +-
drivers/gpu/drm/i915/i915_gem_stolen.c | 51 +-
drivers/gpu/drm/i915/i915_gem_tiling.c | 47 +-
.../{i915_gem_dmabuf.h => i915_gem_timeline.c} | 56 +-
drivers/gpu/drm/i915/i915_gem_timeline.h | 72 +
drivers/gpu/drm/i915/i915_gem_userptr.c | 121 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 101 +-
drivers/gpu/drm/i915/i915_guc_submission.c | 648 +++++-
drivers/gpu/drm/i915/i915_irq.c | 597 ++---
drivers/gpu/drm/i915/i915_pci.c | 5 +-
drivers/gpu/drm/i915/i915_reg.h | 260 +--
drivers/gpu/drm/i915/i915_sw_fence.c | 40 +-
drivers/gpu/drm/i915/i915_sw_fence.h | 8 +
drivers/gpu/drm/i915/i915_trace.h | 8 +-
drivers/gpu/drm/i915/intel_atomic_plane.c | 2 -
drivers/gpu/drm/i915/intel_audio.c | 112 +-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 43 +-
drivers/gpu/drm/i915/intel_crt.c | 2 +-
drivers/gpu/drm/i915/intel_csr.c | 11 +-
drivers/gpu/drm/i915/intel_ddi.c | 362 +--
drivers/gpu/drm/i915/intel_device_info.c | 5 +-
drivers/gpu/drm/i915/intel_display.c | 681 +++---
drivers/gpu/drm/i915/intel_dp.c | 258 +--
drivers/gpu/drm/i915/intel_dpio_phy.c | 559 +++++
drivers/gpu/drm/i915/intel_dpll_mgr.c | 84 +-
drivers/gpu/drm/i915/intel_drv.h | 107 +-
drivers/gpu/drm/i915/intel_dvo.c | 6 +-
drivers/gpu/drm/i915/intel_engine_cs.c | 29 +-
drivers/gpu/drm/i915/intel_fbc.c | 6 +-
drivers/gpu/drm/i915/intel_fifo_underrun.c | 23 +-
drivers/gpu/drm/i915/intel_guc.h | 32 +-
drivers/gpu/drm/i915/intel_guc_fwif.h | 82 +-
drivers/gpu/drm/i915/intel_guc_loader.c | 10 +-
drivers/gpu/drm/i915/intel_hangcheck.c | 450 ++++
drivers/gpu/drm/i915/intel_hdmi.c | 2 +-
drivers/gpu/drm/i915/intel_lrc.c | 162 +-
drivers/gpu/drm/i915/intel_lrc.h | 1 +
drivers/gpu/drm/i915/intel_lspcon.c | 57 +-
drivers/gpu/drm/i915/intel_lvds.c | 6 +-
drivers/gpu/drm/i915/intel_overlay.c | 4 +-
drivers/gpu/drm/i915/intel_pm.c | 587 +++--
drivers/gpu/drm/i915/intel_ringbuffer.c | 273 ++-
drivers/gpu/drm/i915/intel_ringbuffer.h | 91 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 154 +-
drivers/gpu/drm/i915/intel_sdvo.c | 8 +-
drivers/gpu/drm/i915/intel_sprite.c | 91 +-
drivers/gpu/drm/i915/intel_tv.c | 6 +-
79 files changed, 6767 insertions(+), 4794 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_gem_internal.c
rename drivers/gpu/drm/i915/{i915_gem_dmabuf.h => i915_gem_timeline.c} (50%)
create mode 100644 drivers/gpu/drm/i915/i915_gem_timeline.h
create mode 100644 drivers/gpu/drm/i915/intel_hangcheck.c

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org