[PULL] drm-intel-next for 3.12

Hi Dave, I know you usually don't open -next this early, but since this here contains a few changes to drm_mm I've figured I should unblock David Herrmann. Highlights: - follow-up refactoring after the shared dpll rework that landed in 3.11 - oddball prep cleanups from Ben for ppgtt - encoder->get_config state tracking infrastructure from Jesse - used by the experimental fastboot support from Jesse (disabled by default) - make the error state file official and add it to our sysfs interface (Mika) - drm_mm prep changes from Ben, prepares to embedd the drm_mm_node (which will be used by the vma rework later on) - interrupt handling rework, follow up cleanups to the VECS enabling, hpd storm handling and fifo underrun reporting. - Big pile of smaller cleanups, code improvements and related stuff. My current -next queue and -fixes have a bunch of conflicts, but a quit test merge of just this pull confirmed that the fun only starts later on and the merge doesn't have real conflicts, there's only two benign cases in i915_gem_stolen.c of adjacent changes. Cheers, Daniel The following changes since commit baf27f9b17bf2f369f3865e38c41d2163e8d815d: drm/i915: Break up the large vsnprintf() in print_error_buffers() (2013-07-01 11:15:01 +0200) are available in the git repository at: git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2013-07-12 for you to fetch changes up to 50b44a449ff1a19712ebc36ffccf9ac0a68033bf: drm/i915: clear DPLL reg when disabling i9xx dplls (2013-07-12 18:54:02 +0200) ---------------------------------------------------------------- Ben Widawsky (14): drm/i915: Remove extra error state NULL drm/i915: Extract error buffer capture drm/i915: make PDE|PTE platform specific drm/i915: Really share scratch page drm/i915: Combine scratch members into a struct drm/i915: Drop dev from pte_encode drm/i915: Use gtt shortform where possible drm/i915: Move fbc members out of line drm/i915: Move gtt_mtrr to i915_gtt drm: pre allocate node for create_block drm: Change create block to reserve node drm/i915: Getter/setter for object attributes drm/i915: Kill obj->gtt_offset drm/i915: Embed drm_mm_node in i915 gem obj Chris Wilson (1): drm/i915: Verify that our stolen memory doesn't conflict Damien Lespiau (8): drm/i915: Make intel_enable_fbc() static drm/i915: Fix reason for per-chip disabling of FBC drm/i915: Use seq_puts/seq_putc when possible drm/i915: Fix a few style issues found by checkpatch.pl drm/i915: Fix a couple of "should it be static?" sparse warnings drm/i915: Bail out once we've found the context object drm/i915: Use for_each_pipe() when possible drm/i915: Don't attempt to read an unitialized stack value Daniel Vetter (32): drm/i915: consolidate pch pll enable sequence drm/i915: use sw tracked state to select shared dplls drm/i915: duplicate intel_enable_pll into i9xx and vlv versions drm/i915: asserts for lvds pre_enable drm/i915: move encoder pre enable hooks togther on ilk+ drm/i915: hw state readout for i9xx dplls drm/i915: move i9xx dpll enabling into crtc enable function drm/i915: s/pre_pll/pre/ on the lvds port enable function drm/i915: pixel multiplier readout support for pch ports drm/i915: explicitly cast pipe -> cpu_transcoder drm/i915: Explicitly cast pipe -> intel_dpll_id drm/i915: less magic for stolen preallocated objects w/o gtt offset drm/i915: assert_spin_locked for pipestat interrupt enable/disable drm/i915: fix dvo DPLL regression drm/i915: dvo needs a P2 divisor of 4 drm/i915: convert debugfs creation/destruction to table drm/i915: clean up media reset on gm45 drm/i915: WARN if the bios reserved range is bigger than stolen size drm/i915: don't frob mm.suspended when not using ums drm/i915: extract ibx_display_interrupt_update drm/i915: improve SERR_INT clearing for fifo underrun reporting drm/i915: improve GEN7_ERR_INT clearing for fifo underrun reporting drm/i915: kill lpt pch transcoder->crtc mapping code for fifo underruns drm/i915: irq handlers don't need interrupt-safe spinlocks drm/i915: streamline hsw_pm_irq_handler drm/i915: queue work outside spinlock in hsw_pm_irq_handler drm/i915: kill dev_priv->rps.lock drm/i915: unify ring irq refcounts (again) drm/i915: don't enable PM_VEBOX_CS_ERROR_INTERRUPT drm/i915: clean up vlv ->pre_pll_enable and pll enable sequence drm/i915: Fix up cpt pixel multiplier enable sequence drm/i915: clear DPLL reg when disabling i9xx dplls Jesse Barnes (7): drm/i915: add fastboot param for fast & loose mode setting drm/i915: get mode clock when reading the pipe config v9 drm/i915: copy fetched mode state into crtc at setup_hw time v5 drm/i915: turn off panel fitting at flip time if needed v2 drm/i915: flip on a no fb -> fb transition if crtc is active v3 drm/i915: fixup messages in pipe_config_compare drm/i915: split encoder get_config calls from crtc get_clock calls Maarten Lankhorst (1): drm/i915: remove unused members from drm_i915_private Mika Kuoppala (5): drm/i915: export error state to string conversion drm/i915: export error state ref handling drm/i915: introduce i915_error_state_buf_init drm/i915: add error_state sysfs entry drm/i915: move error state to own compilation unit Paulo Zanoni (1): drm/i915: invert the verbosity of intel_enable_fbc Ville Syrjälä (3): drm/i915: Mask out hardware status bits from VLV DPLL register drm/i915: Use wait_for() to wait for Punit to change GPU freq on VLV drm/i915: Fix VLV DP RBR/HDMI/DAC PLL LPF coefficients drivers/gpu/drm/drm_mm.c | 31 +- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 658 ++++--------------- drivers/gpu/drm/i915/i915_dma.c | 22 +- drivers/gpu/drm/i915/i915_drv.c | 33 +- drivers/gpu/drm/i915/i915_drv.h | 184 ++++-- drivers/gpu/drm/i915/i915_gem.c | 162 +++-- drivers/gpu/drm/i915/i915_gem_context.c | 2 +- drivers/gpu/drm/i915/i915_gem_evict.c | 6 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 21 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 106 ++-- drivers/gpu/drm/i915/i915_gem_stolen.c | 76 ++- drivers/gpu/drm/i915/i915_gem_tiling.c | 14 +- drivers/gpu/drm/i915/i915_gpu_error.c | 971 +++++++++++++++++++++++++++++ drivers/gpu/drm/i915/i915_irq.c | 742 ++++------------------ drivers/gpu/drm/i915/i915_reg.h | 6 +- drivers/gpu/drm/i915/i915_sysfs.c | 71 +++ drivers/gpu/drm/i915/i915_trace.h | 8 +- drivers/gpu/drm/i915/intel_display.c | 621 +++++++++++------- drivers/gpu/drm/i915/intel_dp.c | 7 + drivers/gpu/drm/i915/intel_drv.h | 24 +- drivers/gpu/drm/i915/intel_dvo.c | 3 - drivers/gpu/drm/i915/intel_fb.c | 8 +- drivers/gpu/drm/i915/intel_lvds.c | 21 +- drivers/gpu/drm/i915/intel_overlay.c | 18 +- drivers/gpu/drm/i915/intel_pm.c | 110 ++-- drivers/gpu/drm/i915/intel_ringbuffer.c | 43 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 5 +- drivers/gpu/drm/i915/intel_sdvo.c | 27 +- drivers/gpu/drm/i915/intel_sprite.c | 8 +- include/drm/drm_mm.h | 6 +- 31 files changed, 2182 insertions(+), 1833 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gpu_error.c -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch