[PULL] drm-intel-next

Daniel Vetter
2014-02-14T13:30:35Z

Hi Dave,

First pull request for 3.15! One week later than usual since our QA was
celbrating Chines New Year ;-)

drm-intel-next-2014-02-07:
- Yet more steps towards atomic modeset from Ville.
- DP panel power sequencing improvements from Paulo.
- irq code cleanups from Ville.
- 5.4 GHz dp lane clock support for bdw/hsw from Todd.
- Clock readout support for hsw/bdw (aka fastboot) from Jesse.
- Make pipe underruns report at ERROR level (Ville). This is to check our
improved watermarks code.
- Full ppgtt support from Ben for gen7.
- More fbc fixes and improvements from Ville all over the place, unfortunately
not yet enabled by default on more platforms.
- w/a cleanups from Ville.
- HiZ stall optimization settings (Chia-I Wu).
- Display register mmio offset refactor patch from Antti.
- RPS improvements for corner-cases from Jeff McGee.

And a few notes:
- 2 weeks of vacation for me, so this is a "send pull request and
disappear" thing ;-)
- Full ppgtt has some rather gross regressions still, especially in some
corner-cases where we recourse into our code (e.g. when waiting for ring
space or low mem) and then get a bit surprised. The (imo likely)
contingency plan for 3.15 is to disable it. Note that the old code is
still being tested in -nightly with the full QA suite on snb (since the
tlbs are busted there, so no full ppgtt support). There's 1-2 issues
still even in that mode due to the topic/ppgtt merge, but nothing truly
dramatic.
- I have a big pile of drm doc patches that I wanted to polish a bit more
and flush out before vacation. I guess that'll happen in 2 weeks ...

Cheers, Daniel

The following changes since commit ef64cf9d06049e4e9df661f3be60b217e476bee1:

Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next (2014-01-30 10:46:06 +1000)

are available in the git repository at:

ssh://git.freedesktop.org/git/drm-intel tags/drm-intel-next-2014-02-07

for you to fetch changes up to b8a5ff8d7c676a04e0da5ec16bb068dd39459042:

drm/i915: Update rps interrupt limits (2014-02-07 10:26:17 +0100)

----------------------------------------------------------------
- Yet more steps towards atomic modeset from Ville.
- DP panel power sequencing improvements from Paulo.
- irq code cleanups from Ville.
- 5.4 GHz dp lane clock support for bdw/hsw from Todd.
- Clock readout support for hsw/bdw (aka fastboot) from Jesse.
- Make pipe underruns report at ERROR level (Ville). This is to check our
improved watermarks code.
- Full ppgtt support from Ben for gen7.
- More fbc fixes and improvements from Ville all over the place, unfortunately
not yet enabled by default on more platforms.
- w/a cleanups from Ville.
- HiZ stall optimization settings (Chia-I Wu).
- Display register mmio offset refactor patch from Antti.
- RPS improvements for corner-cases from Jeff McGee.

----------------------------------------------------------------
Antti Koskipaa (1):
drm/i915: Reorganize display pipe register accesses

Ben Widawsky (54):
drm/i915: Provide PDP updates via MMIO
drm/i915: Don't unconditionally try to deref aliasing ppgtt
drm/i915: Allow ggtt lookups to not WARN
drm/i915: Takedown drm_mm on failed gtt setup
drm/i915: Handle inactivating objects for all VMAs
drm/i915: Add vm to error BO capture
drm/i915: Don't use gtt mapping for !gtt error objects
drm/i915: Identify active VM for batchbuffer capture
drm/i915: Make pin count per VMA
drm/i915: Create bind/unbind abstraction for VMAs
drm/i915: Remove vm arg from relocate entry
drm/i915: Add a context open function
drm/i915: relax context alignment
drm/i915: Simplify ring handling in execbuf
drm/i915: Permit contexts on all rings
drm/i915: Track which ring a context ran on
drm/i915: Better reset handling for contexts
drm/i915: Split context enabling from init
drm/i915: Generalize default context setup
drm/i915: PPGTT vfuncs should take a ppgtt argument
drm/i915: Use drm_mm for PPGTT PDEs
drm/i915: One hopeful eviction on PPGTT alloc
drm/i915: Use platform specific ppgtt enable
drm/i915: Extract mm switching to function
drm/i915: Use LRI for switching PP_DIR_BASE
drm/i915: Flush TLBs after !RCS PP_DIR_BASE
drm/i915: Generalize PPGTT init
drm/i915: Reorganize intel_enable_ppgtt
drm/i915: Add VM to context
drm/i915: Write PDEs at init instead of enable
drm/i915: Restore PDEs for all VMs
drm/i915: Do aliasing PPGTT init with contexts
drm/i915: Create a per file_priv default context
drm/i915: Piggy back hangstats off of contexts
drm/i915: Get context early in execbuf
drm/i915: Defer request freeing
drm/i915: Clean up VMAs before freeing
drm/i915: Do not allow buffers at offset 0
drm/i915: Use multiple VMs -- the point of no return
drm/i915: Remove extraneous mm_switch in ppgtt enable
drm/i915: Add PPGTT dumper
drm/i915: Dump all ppgtt
drm/i915/ppgtt: Fix ioctl errno for "no such context"
drm/i915/bdw: Return -ENONENT on default ctx destroy
drm/i915: set ctx->initialized only after RCS
drm/i915: Remove incorrect comment about struct mutex
drm/i915: Create a USES_PPGTT macro
drm/i915: Extract register state error capture
drm/i915: Logically reorder error register capture
drm/i915: Reorder struct members
drm/i915: Move per ring error state to ring_error
drm/i915: Add some more registers to error state
drm/i915: Capture PPGTT info on error capture
drm/i915: Generate a hang error code

Chia-I Wu (2):
drm/i915: enable HiZ Raw Stall Optimization on HSW
drm/i915: enable HiZ Raw Stall Optimization on IVB

Chris Wilson (10):
drm/i915: Free requests after object release when retiring requests
drm/i915: Place the Global GTT VM first in the list of VM
drm/i915: Always pin the default context
drm/i915: Include HW status page in error capture
drm/i915: VM eviction only targets address space not physical pages
drm/i915: Only print information for filing bug reports once
drm/i915: Don't access snooped pages through the GTT (even for error capture)
drm/i915: Convert EFAULT into a silent SIGBUS
drm/i915: Treat using a purged buffer as a source of EFAULT
drm/i915: Prevent recursion by retiring requests when the ring is full

Damien Lespiau (6):
drm/i915: Don't use i915_preliminary_hw_support to mean pre-production
drm/i915: Turn get_aux_clock_divider() into per-platform vfuncs
drm/i915: Factor out a function returning the AUX_CTL value to start a send
drm/i915: Reorder the AUX_CTL bits in descending order
drm/i915: Introduce a get_aux_send_ctl() vfunc
drm/i915: Constify the drm_i915_private pointer a bit more

Daniel Vetter (15):
Merge commit drm-intel-fixes into topic/ppgtt
drm/i915: Reject the pin ioctl on gen6+
drm/i915: Drop I915_PARAM_HAS_FULL_PPGTT again
drm/i915: Reject non-default contexts on non-render again
Revert "drm/i915: Do not allow buffers at offset 0"
drm/i915: Reject NEEDS_GTT relocations with full ppgtt
drm/i915: Don't check for NEEDS_GTT when deciding the address space
drm/i915: fix ppgtt dump code for DEBUG_FS=n
drm/i915: Only restore backlight combination mode reg for ums
drm/i915: drop ironlake_ prefix from edp panel/backlight functions
drm/i915: Shuffle modeset reset handling around
Merge branch 'topic/ppgtt' into drm-intel-next-queued
drm/i915: GEN7_MSG_CONTROL is ivb-only
drm/i915: Kerneldoc for i915_gem_evict.c
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued

Deepak S (2):
drm/i915: Disable/Enable PM Intrrupts based on the current freq.
drm/i915/vlv: WA to fix Voltage not getting dropped to Vmin when Gfx is power gated.

Imre Deak (7):
drm/i915: clean up HPD IRQ debug printing
drm/i915: fix wait_remaining_ms_from_jiffies
drm/i915: fix initial timestamps for PP sequencing logic
drm/i915: vlv: don't unmask IIR[DISPLAY_PIPE_A/B_VBLANK] interrupt
drm/i915: factor out valleyview_pipestat_irq_handler
drm/i915: vlv: s/spin_lock_irqsave/spin_lock/ in irq handler
drm/i915: unify FLIP_DONE macro names

Jani Nikula (4):
drm/i915: drop the i915.fbpercrtc module parameter
drm/i915: quirk invert brightness for Acer Aspire 5336
drm/i915: move module parameters into a struct, in a new file
drm/i915: drop i915_ prefix from enable_rc6, enable_fbc, enable_ppgtt parameters

Jeff McGee (2):
drm/i915: Restore rps/rc6 on reset
drm/i915: Update rps interrupt limits

Jesse Barnes (3):
drm/i915: clock readout support for DDI v3
drm/i915: always check clocks when comparing pipe configs
drm/i915: fix WRPLL clock calculation

Mika Kuoppala (6):
drm/i915: Use i915_hw_context to set reset stats
drm/i915: Tune down debug output when context is banned
drm/i915: Use hangcheck score to find guilty context
drm/i915: Get rid of acthd based guilty batch search
drm/i915: check for oom when allocating private_default_ctx
drm/i915: release mutex in i915_gem_init()'s error path

Paulo Zanoni (5):
drm/i915: init the DP panel power seq variables earlier
drm/i915: save some time when waiting the eDP timings
drm/i915: remove a column of zeros from the eDP wait definitions
drm/i915: don't wait for power cycle when waiting for power off
drm/i915: set the backlight panel delays registers to 1

Rodrigo Vivi (2):
drm: dp helper: Add DP test sink CRC definition.
drm/i915: debugfs: Add support for probing DP sink CRC.

Todd Previte (1):
drm/i915: Enable 5.4Ghz (HBR2) link rate for Displayport 1.2-capable devices

Ville Syrjälä (49):
drm/i915: Pre-compute pipe enabled state
drm/i915: Prepare to track new pipe config per pipe
drm/i915: Use new_config and new_enabled to simplify the VLV cdclk code
drm/i915: Don't oops if the initial modeset fails
drm/i915: Set crtc->new_config to NULL for pipes that are about to be disabled
drm/i915: Add intel_hpd_irq_uninstall()
drm/i915: Make irq_received bool
drm/i915: Kill dev_priv->irq_received
drm/i915: Fix new_config and new_enabled for load detect
drm/i915: Shuffle sprite register writes into a tighter group
drm/i915: Limit FIFO underrun reports on GMCH platforms
drm/i915: Make underruns DRM_ERROR
drm/i915: Don't write IVB_FBC_RT_BASE
drm/i915: Don't set persistent FBC mode on ILK/SNB
drm/i915: Don't set DPFC_HT_MODIFY bit on CTG/ILK/SNB
drm/i915: Improve FBC plane defines a bit
drm/i915: Use 1/2 compression ratio limit for 16bpp on FBC2
drm/i915: Actually write the correct bits to DPFC_CONTROL on CTG
drm/i915: Kill most of the FBC register save/restore
drm/i915: Don't preserve DPFC_CONTROL bits ILK/SNB
drm/i915: Fix FBC1 enable message
drm/i915: Fix FBC_FENCE_OFF
drm/i915: We implement WaDisableL3Bank2xClockGate:vlv
drm/i915: We implement WaEnableVGAAccessThroughIOPort:ctg, elk, ilk, snb, ivb, vlv, hsw
drm/i915: WaPsdDispatchEnable seems to be another name for WaDisablePSDDualDispatchEnable
drm/i915: We implement WaDisableL3CacheAging:vlv
drm/i915: WaApplyL3ControlAndL3ChickenMode isn't applicable for VLV
drm/i915: We implement WaDisableRCCUnitClockGating:snb
drm/i915: We implement WaMiSetContext_Hang
drm/i915: Implement WaIncreaseL3CreditsForVLVB0:vlv
drm/i915: WaDisableVDSUnitClockGating isn't applicable to SNB
drm/i915: WaDisableRCCUnitClockGating isn't applicable to IVB
drm/i915: WaDisableRCCUnitClockGating isn't applicaple to VLV
drm/i915: WaDisableRHWOOptimizationForRenderHang isn't applicable to HSW
drm/i915: WaDisableRHWOOptimizationForRenderHang isn't applicable to VLV
drm/i915: Drop bogus comment about RCPB unit clock gating on IVB
drm/i915: Drop WaDisableRCZUnitClockGating:hsw
drm/i915: Drop WaApplyL3ControlAndL3ChickenMode:hsw
drm/i915: Drop WaDisableRCPBUnitClockGating:vlv
drm/i915: Add debugfs hooks for messign with watermark latencies
drm/i915: Drop WaDisableVDSUtnitClockGating:vlv
drm/i915: Drop WaDisableTDLUnitClockGating:vlv
drm/i915: gen7_setup_fixed_func_scheduler() actually implements WaVSThreadDispatchOverride
drm/i915: Don't apply WaVSThreadDispatchOverride on HSW
drm/i915: VLV wants WaVSThreadDispatchOverride too
drm/i915: Clarify WaDisable4x2SubspanOptimization situation for VLV
Revert "drm/i915: set conservative clock gating values on VLV v2"
drm/i915: Fix IVB GT2 WaDisableDopClockGating and WaDisablePSDDualDispatchEnable
drm/i915: Drop WaDisablePSDDualDispatchEnable:ivb for IVB GT2

drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_debugfs.c | 301 ++++++++++++-
drivers/gpu/drm/i915/i915_dma.c | 6 +-
drivers/gpu/drm/i915/i915_drv.c | 182 +++-----
drivers/gpu/drm/i915/i915_drv.h | 415 ++++++++++++------
drivers/gpu/drm/i915/i915_gem.c | 412 +++++++-----------
drivers/gpu/drm/i915/i915_gem_context.c | 435 ++++++++++++++-----
drivers/gpu/drm/i915/i915_gem_evict.c | 49 ++-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 164 +++----
drivers/gpu/drm/i915/i915_gem_gtt.c | 675 ++++++++++++++++++++++-------
drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 442 +++++++++++++------
drivers/gpu/drm/i915/i915_irq.c | 259 +++++------
drivers/gpu/drm/i915/i915_params.c | 155 +++++++
drivers/gpu/drm/i915/i915_reg.h | 336 ++++++++------
drivers/gpu/drm/i915/i915_suspend.c | 40 +-
drivers/gpu/drm/i915/i915_sysfs.c | 10 +
drivers/gpu/drm/i915/i915_ums.c | 8 +
drivers/gpu/drm/i915/intel_bios.c | 4 +-
drivers/gpu/drm/i915/intel_crt.c | 2 +
drivers/gpu/drm/i915/intel_ddi.c | 101 ++++-
drivers/gpu/drm/i915/intel_display.c | 216 ++++++---
drivers/gpu/drm/i915/intel_dp.c | 365 +++++++++++-----
drivers/gpu/drm/i915/intel_drv.h | 28 +-
drivers/gpu/drm/i915/intel_fbdev.c | 4 +-
drivers/gpu/drm/i915/intel_hdmi.c | 6 +-
drivers/gpu/drm/i915/intel_lvds.c | 6 +-
drivers/gpu/drm/i915/intel_overlay.c | 8 +-
drivers/gpu/drm/i915/intel_panel.c | 17 +-
drivers/gpu/drm/i915/intel_pm.c | 294 +++++++------
drivers/gpu/drm/i915/intel_ringbuffer.c | 37 +-
drivers/gpu/drm/i915/intel_ringbuffer.h | 2 +
drivers/gpu/drm/i915/intel_sprite.c | 18 +-
drivers/gpu/drm/i915/intel_uncore.c | 8 +-
include/drm/drm_dp_helper.h | 10 +
35 files changed, 3342 insertions(+), 1676 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_params.c

--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch