[PULL] drm-intel-next

Message ID 20161110145701.fghfopelbxotbdex@phenom.ffwll.local
State New
Headers show


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


Daniel Vetter Nov. 10, 2016, 2:57 p.m. UTC
Hi Dave,

- 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
- 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

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
- 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