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@xxxxxxxxxxxxxxx (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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx