[PULL] drm-intel-next

Daniel Vetter
2016-07-14T08:17:26Z

Hi Dave,

drm-intel-next-2016-07-11:
- select igt testing depencies for CONFIG_DRM_I915_DEBUG (Chris)
- track outputs in crtc state and clean up all our ad-hoc connector/encoder
walking in modest code (Ville)
- demidlayer drm_device/drm_i915_private (Chris Wilson)
- thundering herd fix from Chris Wilson, with lots of help from Tvrtko Ursulin
- piles of assorted clean and fallout from the thundering herd fix
- documentation and more tuning for waitboosting (Chris)
- pooled EU support on bxt (Arun Siluvery)
- bxt support is no longer considered prelimary!
- ring/engine vfunc cleanup from Tvrtko
- introduce intel_wait_for_register helper (Chris)
- opregion updates (Jani Nukla)
- tuning and fixes for wait_for macros (Tvrkto&Imre)
- more kabylake pci ids (Rodrigo)
- pps cleanup and fixes for bxt (Imre)
- move sink crc support over to atomic state (Maarten)
- fix up async fbdev init ordering (Chris)
- fbc fixes from Paulo and Chris

Final feature pull request for 4.8.

Cheers, Daniel

The following changes since commit 2a3467063ae3b17264578626dec2377dd48cd1c3:

Merge tag 'mediatek-drm-2016-06-20' of git://git.pengutronix.de/git/pza/linux into drm-next (2016-06-24 13:16:07 +1000)

are available in the git repository at:

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

for you to fetch changes up to 0b2c0582f1570bfc95aa9ac1cd340a215d8e8335:

drm/i915: Update DRIVER_DATE to 20160711 (2016-07-11 09:18:31 +0200)

----------------------------------------------------------------
- select igt testing depencies for CONFIG_DRM_I915_DEBUG (Chris)
- track outputs in crtc state and clean up all our ad-hoc connector/encoder
walking in modest code (Ville)
- demidlayer drm_device/drm_i915_private (Chris Wilson)
- thundering herd fix from Chris Wilson, with lots of help from Tvrtko Ursulin
- piles of assorted clean and fallout from the thundering herd fix
- documentation and more tuning for waitboosting (Chris)
- pooled EU support on bxt (Arun Siluvery)
- bxt support is no longer considered prelimary!
- ring/engine vfunc cleanup from Tvrtko
- introduce intel_wait_for_register helper (Chris)
- opregion updates (Jani Nukla)
- tuning and fixes for wait_for macros (Tvrkto&Imre)
- more kabylake pci ids (Rodrigo)
- pps cleanup and fixes for bxt (Imre)
- move sink crc support over to atomic state (Maarten)
- fix up async fbdev init ordering (Chris)
- fbc fixes from Paulo and Chris

----------------------------------------------------------------
Chris Wilson (149):
drm/i915: Extract checking for backing struct pages to a helper
drm/i915: pwrite/pread do not require obj->base.filp, just pages
drm/i915: use ORIGIN_CPU for frontbuffer invalidation on WC mmaps
drm/i915/fbdev: Perform async fbdev initialisation much later
drm/i915/fbdev: Limit the global async-domain synchronization
drm/i915/fbdev: Flush mode configuration before lastclose
drm/i915/gvt: Mark i915.enable_gvt as false if loading fails
drm/i915: Move panel's backlight setup next to panel init
drm/i915: Move registration actions to connector->late_register
drm/i915: Move backlight registration to connector registration
drm/i915: Move connector registration to driver registration
drm/i915: Register debugfs interface last
drm/i915: Demidlayer driver loading
drm/i915: Demidlayer driver unloading
drm/i915: Remove redundant drm_connector_register_all()
drm/i915: Start exploiting drm_device subclassing
drm/i915: Merge i915_dma.c into i915_drv.c
drm/i915: Remove user controllable DRM_ERROR for i915_getparam()
drm/i915: Remove user controllable DRM_ERROR for intel_get_pipe_from_crtc_id()
drm/i915: Split out the PCI driver interface to i915_pci.c
drm/i915: Move module init/exit to i915_pci.c
drm/i915: Skip idling an idle engine
drm/i915: Move legacy kernel context pinning to intel_ringbuffer.c
drm/i915: Treat kernel context as initialised
drm/i915: Mark all default contexts as uninitialised after context loss
drm/i915: No need to wait for idle on L3 remap
drm/i915: Split idling from forcing context switch
drm/i915: Only switch to default context when evicting from GGTT
drm/i915: Remove request->reset_counter
Revert "drm/i915: Use atomic commits for legacy page_flips"
drm/i915: Use a hybrid scheme for fast register waits
drm/i915: Convert sandybridge_pcode_*() to use intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Perform Sandybridge BSD tail write under the forcewake
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
drm/i915/ringbuffer: Move all generic engine->dispatch_batchbuffer together
drm/i915/ringbuffer: Move all default irq vfuncs init to a separate func
drm/i915/shrinker: Flush active on objects before counting
drm/i915: Delay queuing hangcheck to wait-request
drm/i915: Remove the dedicated hangcheck workqueue
drm/i915: Make queueing the hangcheck work inline
drm/i915: Separate GPU hang waitqueue from advance
drm/i915: Slaughter the thundering i915_wait_request herd
drm/i915: Spin after waking up for an interrupt
drm/i915: Use HWS for seqno tracking everywhere
drm/i915: Stop mapping the scratch page into CPU space
drm/i915: Allocate scratch page from stolen
drm/i915: Refactor scratch object allocation for gen2 w/a buffer
drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk)
drm/i915: Check the CPU cached value in HWS of seqno after waking the waiter
drm/i915: Only apply one barrier after a breadcrumb interrupt is posted
drm/i915: Stop setting wraparound seqno on initialisation
drm/i915: Convert trace-irq to the breadcrumb waiter
drm/i915: Embed signaling node into the GEM request
drm/i915: Move the get/put irq locking into the caller
drm/i915: Simplify enabling user-interrupts with L3-remapping
drm/i915: Remove debug noise on detecting fault-injection of missed interrupts
drm/i915: Fix random indent in i915_drm_resume()
drm/915: Fix long lines and random indent in gen6_set_rps_thresholds()
drm/i915: Fix indentation in i915_gem_framebuffer_info()
drm/i915: Fix inconsistent indenting in i915_error_state_to_str()
drm/i915: Match bitmask size to types in intel_fb_initial_config()
drm/i915: Fix inconsistent indenting in vbt_panel_init()
drm/i915: Fix buffer overflow in dsi_calc_mnp()
drm/i915: Fix inconsistent indentation in intel_pre_enable_lvds()
drm/i915: Remove check for !crtc_state in intel_plane_atomic_calc_changes()
drm/i915: Only start retire worker when idle
drm/i915: Do not keep postponing the idle-work
drm/i915: Remove redundant queue_delayed_work() from throttle ioctl
drm/i915: Restore waitboost credit to the synchronous waiter
drm/i915: Add background commentary to "waitboosting"
drm/i915: Flush the RPS bottom-half when the GPU idles
drm/i915: Remove stop-rings debugfs interface
drm/i915: Record the ringbuffer associated with the request
drm/i915: Allow userspace to request no-error-capture upon GPU hangs
drm/i915: Hold irq uncore.lock when initialising fw_domains
drm/i915: Limit i915_ring_test_irq debugfs to actual rings
drm/i915: Mass convert dev->dev_private to to_i915(dev)
drm/i915: Replace lockless_dereference(bool) with READ_ONCE()
drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch()
drm/i915: Clean up GPU hang message
drm/i915: Skip capturing an error state if we already have one
drm/i915: Split out runtime configuration of device info to its own file
drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk()
drm/i915: Remove impossible tests for dev->dev_private
drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm
drm/i915: Always double check for a missed interrupt for new bottom halves
drm/i915: Wake up the bottom-half if we steal their interrupt
drm/i915: Group the irq breadcrumb variables into the same cacheline
drm/i915: Fill unused GGTT with scratch pages for VT-d
drm/i915: Select X86_MSR for igt
drm/i915: Select DRM_VGEM for igt

Daniel Vetter (2):
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
drm/i915: Update DRIVER_DATE to 20160711

Dave Gordon (5):
drm/i915/guc: index host arrays by i915 engine ID, not guc_id
drm/i915: tweak gen6_for_{each_pde, all_pdes} macros
drm/i915/guc: don't ever forward VBlank to the GuC
drm/i915: convert a few more E->dev_private to to_i915(E)
drm/i915: avoid wait_for_atomic() in non-atomic host2guc_action()

Frank Binns (1):
drm/i915: Fix misleading driver debug message

Imre Deak (14):
drm/i915/ibx, cpt: Don't attempt to register eDP if LVDS was detected
drm/i915: Initialize the PPS HW before its first use
drm/i915: Group all the PPS init steps to one place
drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training
drm/i915: Deduplicate PPS register retrieval
drm/i915: Factor out helper to read out PPS HW state
drm/i915: Sanity check PPS HW state
drm/i915/bxt: Avoid early timeout during PLL enable
drm/i915/lpt: Avoid early timeout during FDI PHY reset
drm/i915/hsw: Avoid early timeout during LCPLL disable/restore
drm/i915: Avoid early timeout during AUX transfers
drm/i915: Fix log type for RC6 debug messages
drm/i915/bxt: Fix sanity check for BIOS RC6 setup
drm/i915/bxt: Remove the preliminary_hw_support flag

Jani Nikula (3):
drm/i915/opregion: add acpi defines from the spec
drm/i915/opregion: abstract acpi display type getter for a connector
drm/i915/opregion: handle missing connector types for acpi display types

Lyude (1):
drm/i915/fbc: Disable on HSW by default for now

Maarten Lankhorst (4):
drm/i915: Use connector->name in drrs debugfs.
drm/i915: Use connector_type instead of intel_encoder->type for DP.
drm/i915: Use atomic state and connector_type in i915_sink_src
drm/i915: Use connector_type for printing in intel_connector_info, v2.

Matt Roper (1):
drm/i915/gen9: Re-allocate DDB only for changed pipes

Michał Winiarski (1):
drm/i915: Set softmin frequency on idle->busy transition

Mika Kahola (1):
drm/i915: Revert DisplayPort fast link training feature

Patrik Jakobsson (1):
drm/i915/dmc: Step away from symbolic links

Paulo Zanoni (2):
drm/i915/fbc: update busy_bits even for GTT and flip flushes
drm/i915/fbc: sanitize i915.enable_fbc during FBC init

Peter Antoine (2):
Revert "drm/i915/kbl: drm/i915: Avoid GuC loading for now on Kabylake."
i915/guc: Add Kabylake GuC Loading

Randy Dunlap (1):
drm/i915: fix build errors when ACPI is not enabled

Rodrigo Vivi (3):
drm/i915: Add more Kabylake PCI IDs.
drm/i915: Removing PCI IDs that are no longer listed as Kabylake.
drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.

Tim Gore (1):
drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

Tvrtko Ursulin (18):
drm/i915/guc: Remove one unnecessary variable
drm/i915: Small compaction of the engine init code
drm/i915/debug: Select PREEMPT_COUNT when enabling debugging
drm/i915: Use atomic waits for short non-atomic ones
drm/i915: Consolidate write_tail vfunc initializer
drm/i915: Consolidate add_request vfunc
drm/i915: Consolidate seqno_barrier vfunc
drm/i915: Consolidate get and put irq vfuncs
drm/i915: Consolidate get/set_seqno
drm/i915: Consolidate init_hw vfunc
drm/i915: Consolidate dispatch_execbuffer vfunc
drm/i915: Consolidate semaphore vfuncs init
drm/i915: Move semaphore object creation into intel_ring_init_semaphores
drm/i915: Compact Gen8 semaphore initialization
drm/i915: Compact gen8_ring_sync
drm/i915: Consolidate legacy semaphore initialization
drm/i915: Trim some if-else braces
drm/i915: Explicitly convert some macros to boolean values

Ville Syrjälä (12):
drm/i915: Refresh cached DP port register value on resume
drm/i915: Don't mark eDP encoders as MST capable
drm/i915: Remove encoder type checks from MST suspend/resume
drm/i915: Add output_types bitmask into the crtc state
drm/i915: Unify intel_pipe_has_type() and intel_pipe_will_have_type()
drm/i915: Replace manual lvds and sdvo/hdmi counting with intel_crtc_has_type()
drm/i915: Kill has_dp_encoder from pipe_config
drm/i915: Replace some open coded intel_crtc_has_dp_encoder()s
drm/i915: s/INTEL_OUTPUT_DISPLAYPORT/INTEL_OUTPUT_DP/
drm/i915: Kill has_dsi_encoder
drm/i915: Simplify hdmi_12bpc_possible()
drm/i915: Check for invalid cloning earlier during modeset

Zhi Wang (1):
drm/i915: Set the access right of kernel param "i915.enable_gvt" to read-only.

arun.siluvery@linux.intel.com (1):
drm/i915/bxt: Export pooled eu info to userspace

drivers/gpu/drm/i915/Kconfig.debug | 3 +
drivers/gpu/drm/i915/Makefile | 6 +-
drivers/gpu/drm/i915/i915_debugfs.c | 400 +++--
drivers/gpu/drm/i915/i915_dma.c | 1692 --------------------
drivers/gpu/drm/i915/i915_drv.c | 2011 +++++++++++++++++-------
drivers/gpu/drm/i915/i915_drv.h | 377 +++--
drivers/gpu/drm/i915/i915_gem.c | 528 ++++---
drivers/gpu/drm/i915/i915_gem_context.c | 83 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 55 +-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +-
drivers/gpu/drm/i915/i915_gem_fence.c | 24 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 86 +-
drivers/gpu/drm/i915/i915_gem_gtt.h | 40 +-
drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 12 +-
drivers/gpu/drm/i915/i915_gem_stolen.c | 6 +-
drivers/gpu/drm/i915/i915_gem_tiling.c | 4 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 124 +-
drivers/gpu/drm/i915/i915_guc_submission.c | 21 +-
drivers/gpu/drm/i915/i915_irq.c | 311 ++--
drivers/gpu/drm/i915/i915_params.c | 2 +-
drivers/gpu/drm/i915/i915_pci.c | 503 ++++++
drivers/gpu/drm/i915/i915_reg.h | 7 +-
drivers/gpu/drm/i915/i915_suspend.c | 8 +-
drivers/gpu/drm/i915/i915_sysfs.c | 29 +-
drivers/gpu/drm/i915/i915_trace.h | 24 +-
drivers/gpu/drm/i915/intel_audio.c | 42 +-
drivers/gpu/drm/i915/intel_bios.c | 2 +-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 586 +++++++
drivers/gpu/drm/i915/intel_color.c | 20 +-
drivers/gpu/drm/i915/intel_crt.c | 45 +-
drivers/gpu/drm/i915/intel_csr.c | 33 +-
drivers/gpu/drm/i915/intel_ddi.c | 60 +-
drivers/gpu/drm/i915/intel_device_info.c | 388 +++++
drivers/gpu/drm/i915/intel_display.c | 775 +++++----
drivers/gpu/drm/i915/intel_dp.c | 610 +++----
drivers/gpu/drm/i915/intel_dp_link_training.c | 26 +-
drivers/gpu/drm/i915/intel_dp_mst.c | 19 +-
drivers/gpu/drm/i915/intel_dpio_phy.c | 10 +-
drivers/gpu/drm/i915/intel_dpll_mgr.c | 30 +-
drivers/gpu/drm/i915/intel_drv.h | 113 +-
drivers/gpu/drm/i915/intel_dsi.c | 75 +-
drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c | 2 +-
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 13 +-
drivers/gpu/drm/i915/intel_dsi_pll.c | 42 +-
drivers/gpu/drm/i915/intel_dvo.c | 20 +-
drivers/gpu/drm/i915/intel_fbc.c | 71 +-
drivers/gpu/drm/i915/intel_fbdev.c | 85 +-
drivers/gpu/drm/i915/intel_fifo_underrun.c | 30 +-
drivers/gpu/drm/i915/intel_guc.h | 7 +-
drivers/gpu/drm/i915/intel_guc_loader.c | 24 +-
drivers/gpu/drm/i915/intel_gvt.c | 10 +-
drivers/gpu/drm/i915/intel_hdmi.c | 72 +-
drivers/gpu/drm/i915/intel_hotplug.c | 8 +-
drivers/gpu/drm/i915/intel_i2c.c | 22 +-
drivers/gpu/drm/i915/intel_lrc.c | 369 ++---
drivers/gpu/drm/i915/intel_lvds.c | 51 +-
drivers/gpu/drm/i915/intel_modes.c | 4 +-
drivers/gpu/drm/i915/intel_opregion.c | 109 +-
drivers/gpu/drm/i915/intel_overlay.c | 28 +-
drivers/gpu/drm/i915/intel_panel.c | 30 +-
drivers/gpu/drm/i915/intel_pm.c | 310 ++--
drivers/gpu/drm/i915/intel_psr.c | 65 +-
drivers/gpu/drm/i915/intel_ringbuffer.c | 926 +++++------
drivers/gpu/drm/i915/intel_ringbuffer.h | 135 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 76 +-
drivers/gpu/drm/i915/intel_sdvo.c | 58 +-
drivers/gpu/drm/i915/intel_sideband.c | 32 +-
drivers/gpu/drm/i915/intel_sprite.c | 18 +-
drivers/gpu/drm/i915/intel_tv.c | 14 +-
drivers/gpu/drm/i915/intel_uncore.c | 113 +-
include/drm/i915_pciids.h | 10 +-
include/uapi/drm/i915_drm.h | 3 +
73 files changed, 6432 insertions(+), 5531 deletions(-)
delete mode 100644 drivers/gpu/drm/i915/i915_dma.c
create mode 100644 drivers/gpu/drm/i915/i915_pci.c
create mode 100644 drivers/gpu/drm/i915/intel_breadcrumbs.c
create mode 100644 drivers/gpu/drm/i915/intel_device_info.c

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