Hi Dave, drm-intel-next-2015-04-23: - dither support for ns2501 dvo (Thomas Richter) - some polish for the gtt code and fixes to finally enable the cmd parser on hsw - first pile of bxt stage 1 enabling (too many different people to list ...) - more psr fixes from Rodrigo - skl rotation support from Chandra - more atomic work from Ander and Matt - pile of cleanups and micro-ops for execlist from Chris drm-intel-next-2015-04-10: - cdclk handling cleanup and fixes from Ville - more prep patches for olr removal from John Harrison - gmbus pin naming rework from Jani (prep for bxt) - remove ->new_config from Ander (more atomic conversion work) - rps (boost) tuning and unification with byt/bsw from Chris - cmd parser batch bool tuning from Chris - gen8 dynamic pte allocation (Michel Thierry, based on work from Ben Widawsky) - execlist tuning (not yet all of it) from Chris - add drm_plane_from_index (Chandra) - various small things all over
Plus a few patches Jani collected while I was on vacation. Cheers, Daniel The following changes since commit 1d8ac08d498d579aae36221a80b4b724b2f52f39: Merge tag 'v4.0-rc7' into drm-next (2015-04-09 07:48:27 +1000) are available in the git repository at: git://anongit.freedesktop.org/drm-intel tags/drm-intel-next-2015-04-23-fixed for you to fetch changes up to 93a96c6f049d047bc196890fc4284eff15b3770f: Merge commit '75d04a3773ecee617847de963ae4195d6aa74c28' into drm-intel-next-queued (2015-05-04 09:25:12 +0200) ---------------------------------------------------------------- A.Sunil Kamath (1): drm/i915/bxt: Implement enable/disable for Display C9 state Ander Conselvan de Oliveira (10): drm/i915: Check lane sharing between pipes B & C using atomic state drm/i915: Set best_encoder field of connector_state also when disabling drm/i915: Don't use staged config for VLV cdclk calculations drm/i915: Don't use intel_crtc->new_config in pll calculation code drm/i915: Remove intel_crtc->new_config drm/i915: Don't use staged config in check_digital_port_conflicts() drm/i915: Don't use staged config in check_encoder_cloning() drm/i915: Don't use staged config in intel_mst_pre_enable_dp() drm/i915: Remove stale comment from __intel_set_mode() drm/i915: Allocate connector state together with the connectors Arun Siluvery (1): drm/i915: Do not set L3-LLC Coherency bit in ctx descriptor Ben Widawsky (3): drm/i915/bxt: add GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ workaround drm/i915/bxt: add WaDisableMaskBasedCammingInRCC workaround drm/i915/skl: add WaDisableMaskBasedCammingInRCC workaround Chandra Konduru (12): drm: Adding drm helper function drm_plane_from_index(). drm/i915: Register definitions for skylake scalers drm/i915: skylake scaler structure definitions drm/i915: Initialize plane colorkey to NONE drm/i915: Initialize skylake scalers drm/i915: Keep sprite plane src rect in 16.16 format drm/i915: Dump scaler_state too as part of dumping crtc_state drm/i915: Preserve scaler state when clearing crtc_state drm/i915: setup scalers for crtc_compute_config drm/i915: Ensure setting up scalers into staged crtc_state drm/i915: copy staged scaler state from drm state to crtc->config. drm/i915: skylake panel fitting using shared scalers Chris Wilson (35): drm/i915: Add i915_gem_request_unreference__unlocked drm/i915: Make debugfs/i915_gem_request more friendly drm/i915: Allow disabling the destination colorkey for overlay drm/i915: Cache last obj->pages location for i915_gem_object_get_page() drm/i915: Fix the flip synchronisation to consider mmioflips drm/i915: Agressive downclocking on Baytrail drm/i915: Fix computation of last_adjustment for RPS autotuning drm/i915: Boost GPU frequency if we detect outstanding pageflips drm/i915: Deminish contribution of wait-boosting from clients drm/i915: Re-enable RPS wait-boosting for all engines drm/i915: Split i915_gem_batch_pool into its own header drm/i915: Tidy batch pool logic drm/i915: Split the batch pool by engine drm/i915: Free batch pool when idle drm/i915: Split batch pool into size buckets drm/i915: Include active flag when describing objects in debugfs drm/i915: Suppress empty lines from debugfs/i915_gem_objects drm/i915: Record ring->start address in error state drm/i915: Use simpler form of spin_lock_irq(execlist_lock) drm/i915: Use the global runtime-pm wakelock for a busy GPU for execlists drm/i915: Remove vestigal DRI1 ring quiescing code drm/i915: Use a separate slab for requests drm/i915: Use a separate slab for vmas drm/i915: Reduce locking in execlist command submission drm/i915: Reduce locking in gen8 IRQ handler drm/i915: Tidy gen8 IRQ handler drm/i915: Prefer to check for idleness in worker rather than sync-flush drm/i915: Remove request->uniq drm/i915: Allocate context objects from stolen drm/i915: Simplify object is-pinned checking for shrinker drm/i915: Optimistically spin for the request completion drm/i915: Remove obj->pin_mappable drm/i915: Simplify i915_gem_obj_is_pinned() test for set-tiling drm/i915: Update meaning of debugfs object's pin_flag drm/i915: Silence compiler warning in dvo Daisy Sun (1): drm/i915/bxt: BXT FBC enablement Damien Lespiau (10): drm/i915/bxt: Add BXT PCI ids drm/i915/bxt: Broxton uses the same GMS values as Skylake drm/i915/bxt: Broxton has 3 sprite planes on pipe A/B, 2 on pipe C drm/i915/bxt: Add the plane4 related interrupt definitions drm/i915/bxt: Broxton DDB is 512 blocks drm/i915/bxt: Broxton raises the maximum number of planes to 4 drm/i915/skl: Fix stepping check for a couple of W/As drm/i915/skl: Implement WaDisableVFUnitClockGating drm/i915: Iterate through the initialized DDIs to prepare their buffers drm/i915: Don't write the HDMI buffer translation entry when not needed Daniel Vetter (25): drm/i915: Update DRIVER_DATE to 20150410 drm/i915: Remove unused variable in intel_lrc.c Merge branch 'topic/bxt-stage1' into drm-intel-next-queued drm/i915: Select starting pipe bpp irrespective or the primary plane drm/i915: Drop unecessary fb arguments from function signatures drm/i915/dp: Remove intel_ prefix from hw signal_levels functions drm/i915: Move gen8 clear_range vfunc setup into common code drm/i915: Move vma vfuns to adddress_space drm/i915: Clean up aliasing ppgtt correctly on error paths drm/i915: Unify aliasing ppgtt handling drm/i915: Move PTE_READ_ONLY to ->pte_encode vfunc drm/i915: Dont clear PIN_GLOBAL in the execbuf pinning fallback drm/i915: Drop redundant GGTT rebinding drm/i915: Don't look at pg_dirty_rings for aliasing ppgtt drm/i915: Don't use atomics for pg_dirty_rings drm/i915: Remove misleading comment around bind_to_vm drm/i915: Fix up the vma aliasing ppgtt binding drm/i915: move i915_gem_restore_gtt_mappings around drm/i915: Move ppgtt_bind/unbind around drm/i915: Unduplicate i915_ggtt_unbind/bind_vma drm/i915: Don't try to outsmart gcc in i915_gem_gtt.c rm/i915: Move i915_get_ggtt_vma_pages into ggtt_bind_vma drm/i915: Update DRIVER_DATE to 20150423 drm/i915: Enable cmd parser to do secure batch promotion for aliasing ppgtt Merge commit '75d04a3773ecee617847de963ae4195d6aa74c28' into drm-intel-next-queued Deepak S (2): drm/i915/chv: Remove Wait for a previous gfx force-off drm/i915: Re-adjusting rc6 promotional timer for chv Durgadoss R (1): drm/i915: PSR: Keep sink state consistent with source Imre Deak (11): drm/i915: use proper FBC base register on all new platforms drm/i915/bxt: map GTT as uncached drm/i915/gen9: fix PIPE_CONTROL flush for VS_INVALIDATE drm/i915/bxt: add bxt_init_clock_gating drm/i915/bxt: add GEN8_SDEUNIT_CLOCK_GATE_DISABLE workaround drm/i915/bxt: support for HPD long/short status decoding drm/i915/bxt: add description about the BXT PHYs drm/i915/bxt: add bxt_find_best_dpll drm/i915: suppress false PLL state warnings on non-GMCH platforms drm/i915: factor out ddi_get_encoder_port drm/i915: fix intel_prepare_ddi Jani Nikula (9): drm/i915: rename GMBUS_PORT_* macros as GMBUS_PIN_* drm/i915: refer to pin instead of port in the intel_i2c.c interfaces drm/i915: index gmbus tables using the pin pair number drm/i915: base gmbus pin validity check on the gmbus pin map array drm/i915: add i915 specific connector debugfs file for DPCD drm/i915: fix build for DEBUG_FS=n drm/i915: add bxt gmbus support drm/i915/hdmi: fix vlv infoframe port check drm/i915/hdmi: check port in ibx_infoframe_enabled Jeff McGee (4): drm/i915: Split SSEU init into functions by platform drm/i915/bxt: Determine BXT slice/subslice/EU info drm/i915: Split-up SSEU device status by platform drm/i915/bxt: Support BXT in SSEU device status dump Jesse Barnes (2): drm/i915/vlv: check port in infoframe_enabled v2 drm/i915/bxt: fix panel fitter setup in crtc disable/enable John Harrison (4): drm/i915: Rename 'do_execbuf' to 'execbuf_submit' drm/i915: Make intel_logical_ring_begin() static drm/i915: Move common request allocation code into a common function drm/i915: Fix for ringbuf space wait in LRC mode Maarten Lankhorst (1): drm/i915: use kref_put_mutex in i915_gem_request_unreference__unlocked Matt Roper (2): drm/i915: Switch to full atomic helpers for plane updates/disable, take two drm/i915: Clear crtc atomic flags at beginning of transaction Michel Thierry (14): drm/i915: Remove _entry from PPGTT page structures drm/i915: Remove unnecessary gen8_ppgtt_unmap_pages drm/i915/gen8: Initialize page tables drm/i915/gen8: Add dynamic allocation macros and helper functions drm/i915/gen8: page directories rework allocation drm/i915/gen8: pagetable allocation rework drm/i915/gen8: Update pdp switch and point unused PDPs to scratch page drm/i915: num_pd_pages/num_pd_entries isn't useful drm/i915: Extract PPGTT param from page_directory alloc drm/i915/gen8: Split out mappings drm/i915/gen8: begin bitmap tracking drm/i915/gen8: Dynamic page table allocations drm/i915: Use complete address space in true PPGTT drm/i915: Remove unused variable from execlists_context_queue Mika Kuoppala (2): drm/i915: Move vm page allocation in proper place drm/i915/gtt: Allocate va range only if vma is not bound Nick Hoath (2): drm/i915/bxt: HardWare WorkAround ring initialisation for Broxton drm/i915/bxt: Add Broxton steppings Robert Beckett (1): drm/i915/bxt: add workaround to avoid PTE corruption Rodrigo Vivi (5): drm/i915/bdw: WaProgramL3SqcReg1Default drm/i915: PSR: Remove wrong LINK_DISABLE. drm/i915: PSR: Fix DP_PSR_NO_TRAIN_ON_EXIT logic drm/i915: PSR: deprecate link_standby support for core platforms. drm/i915: PSR VLV: Add single frame update. Sagar Kamble (2): drm/i915: Naming constants to be written to GEN9_PG_ENABLE drm/i915: Disable Render power gating Satheeshakrishna M (8): drm/i915/bxt: Add IS_BROXTON macro drm/i915/bxt: Define BXT power domains drm/i915/bxt: Restrict PORT_CLK_SEL programming below gen9 drm/i915/bxt: Define bxt DDI PLLs and implement enable/disable sequence drm/i915/bxt: BXT clock divider calculation drm/i915/bxt: Assign PLL for pipe drm/i915/bxt: Determine PLL attached to pipe drm/i915/bxt: Determine programmed frequency Shashank Sharma (4): drm/i915/bxt: DDI Hotplug interrupt setup drm/i915/bxt: Add DDI hpd handler drm/i915/bxt: Add BXT support in gen8_irq functions drm/i915/bxt: Enable GMBUS IRQ Sonika Jindal (4): drm/i915/skl: Enabling PSR2 SU with frame sync drm/i915/skl: Allow universal planes to position drm/i915/skl: Support for 90/270 rotation drm/i915/skl: Add back HDMI translation table Suketu Shah (1): drm/i915/bxt: Add DC9 Trigger sequence Sumit Singh (1): drm/i915/bxt: Enable PTE encoding Thomas Richter (2): Enabled dithering in the intel VCH DVO for 18bpp pipelines. drm/i915: Enable dithering on NatSemi DVO2501 for Fujitsu S6010 Todd Previte (2): drm/i915: Add automated testing support for Displayport compliance testing drm/i915: Add a delay in Displayport AUX transactions for compliance testing Tvrtko Ursulin (4): drm/i915: Fix view type in warning message drm/i915: Simplify and fix object to display tracking drm/i915: Fixup kerneldoc for struct intel_context drm/i915/skl: Support Y tiling in MMIO flips Vandana Kannan (7): drm/i915/bxt: Increase DDI buf idle timeout drm/i915/bxt: don't use unsupported port detection drm/i915: Rename vlv_cdclk_freq to cdclk_freq drm/i915/bxt: add display initialize/uninitialize sequence (CDCLK) drm/i915/bxt: add display initialize/uninitialize sequence (PHY) drm/i915/bxt: VSwing programming sequence drm/i915/bxt: Update max level of vswing Ville Syrjälä (11): drm/i915: Convert BUGs to WARNs in the video overlay code drm/i915: Convert overlay->{active, pfit_active} to bools drm/i915: Mark the overlay active only if we got ring space drm/i915: Enable DVO 2x clock around DVO encoder init drm/i915: Return more precise cdclk for gen2/3 drm/i915: ILK cdclk seems to be 450MHz drm/i915: Assume 400MHz cdclk for the rest of gen4-7 drm/i915: Simplify ilk_get_aux_clock_divider drm/i915: Convert the ddi cdclk code to get_display_clock_speed drm/i915: Silence a sparse warning drm/i915: Fix the VBT child device parsing for BSW Wei Yongjun (1): drm/i915/audio: remove duplicated include from intel_audio.c kbuild test robot (1): drm/i915: fix semicolon.cocci warnings Documentation/DocBook/drm.tmpl | 4 +- arch/x86/kernel/early-quirks.c | 1 + drivers/gpu/drm/drm_crtc.c | 23 + drivers/gpu/drm/i915/dvo_ivch.c | 21 +- drivers/gpu/drm/i915/dvo_ns2501.c | 670 ++++++++------ drivers/gpu/drm/i915/i915_cmd_parser.c | 12 +- drivers/gpu/drm/i915/i915_debugfs.c | 460 +++++++--- drivers/gpu/drm/i915/i915_dma.c | 270 +++--- drivers/gpu/drm/i915/i915_drv.c | 60 +- drivers/gpu/drm/i915/i915_drv.h | 171 ++-- drivers/gpu/drm/i915/i915_gem.c | 236 ++--- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 84 +- drivers/gpu/drm/i915/i915_gem_batch_pool.h | 42 + drivers/gpu/drm/i915/i915_gem_context.c | 37 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 50 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 1046 +++++++++++---------- drivers/gpu/drm/i915/i915_gem_gtt.h | 101 ++- drivers/gpu/drm/i915/i915_gem_shrinker.c | 8 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 10 +- drivers/gpu/drm/i915/i915_irq.c | 282 +++--- drivers/gpu/drm/i915/i915_reg.h | 489 +++++++++- drivers/gpu/drm/i915/i915_trace.h | 44 +- drivers/gpu/drm/i915/intel_atomic.c | 173 ++++ drivers/gpu/drm/i915/intel_atomic_plane.c | 24 + drivers/gpu/drm/i915/intel_audio.c | 4 +- drivers/gpu/drm/i915/intel_bios.c | 30 +- drivers/gpu/drm/i915/intel_bios.h | 4 +- drivers/gpu/drm/i915/intel_crt.c | 4 +- drivers/gpu/drm/i915/intel_ddi.c | 767 +++++++++++++--- drivers/gpu/drm/i915/intel_display.c | 1357 +++++++++++++++++++++------- drivers/gpu/drm/i915/intel_dp.c | 217 ++++- drivers/gpu/drm/i915/intel_dp_mst.c | 16 +- drivers/gpu/drm/i915/intel_drv.h | 107 ++- drivers/gpu/drm/i915/intel_dsi.c | 2 +- drivers/gpu/drm/i915/intel_dvo.c | 29 +- drivers/gpu/drm/i915/intel_frontbuffer.c | 2 + drivers/gpu/drm/i915/intel_hdmi.c | 32 +- drivers/gpu/drm/i915/intel_i2c.c | 97 +- drivers/gpu/drm/i915/intel_lrc.c | 502 +++++----- drivers/gpu/drm/i915/intel_lrc.h | 5 +- drivers/gpu/drm/i915/intel_lvds.c | 10 +- drivers/gpu/drm/i915/intel_overlay.c | 66 +- drivers/gpu/drm/i915/intel_pm.c | 115 ++- drivers/gpu/drm/i915/intel_psr.c | 118 ++- drivers/gpu/drm/i915/intel_ringbuffer.c | 121 +-- drivers/gpu/drm/i915/intel_ringbuffer.h | 10 + drivers/gpu/drm/i915/intel_runtime_pm.c | 121 +++ drivers/gpu/drm/i915/intel_sdvo.c | 27 +- drivers/gpu/drm/i915/intel_sprite.c | 80 +- drivers/gpu/drm/i915/intel_tv.c | 2 +- drivers/gpu/drm/i915/intel_uncore.c | 98 +- include/drm/drm_crtc.h | 1 + include/drm/i915_pciids.h | 6 + include/uapi/drm/i915_drm.h | 1 + 56 files changed, 5776 insertions(+), 2497 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gem_batch_pool.h -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch