[PULL] drm-intel-next

Hi Dave, First feature pull request for 3.13. Highlights: drm-intel-next-2013-09-21: - clock state handling rework from Ville - l3 parity handling fixes for hsw from Ben - some more watermark improvements from Ville - ban badly behaved context from Mika - a few vlv improvements from Jesse - VGA power domain handling from Ville drm-intel-next-2013-09-06: - Basic mipi dsi support from Jani. Not yet converted over to drm_bridge since that was too fresh, but the porting is in progress already. - More vma patches from Ben, this time the code to convert the execbuffer code. Now that the shrinker recursion bug is tracked down we can move ahead here again. Yay! - Optimize hw context switching to not generate needless interrupts (Chris Wilson). Also some shuffling for the oustanding request allocation. - Opregion support for SWSCI, although not yet fully wired up (we need a bit of runtime D3 support for that apparently, due to Windows design deficiencies), from Jani Nikula. - A few smaller changes all over. Plus a backmerge of -rc2 since things became unwielding. Note that this contains the DSI connector/encoder #defines in drm core that Thierry wants to use for tegar (or at least he poked me a while back where they're stuck). Cheers, Daniel The following changes since commit 4a10c2ac2f368583138b774ca41fac4207911983: Linux 3.12-rc2 (2013-09-23 15:41:09 -0700) are available in the git repository at: git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2013-09-21-merged for you to fetch changes up to b599c89e8c5cf0c37352e0871be240291f8ce922: Merge tag 'v3.12-rc2' into drm-intel-next (2013-09-24 09:32:53 +0200) ---------------------------------------------------------------- Ben Widawsky (14): drm/i915: Convert execbuf code to use vmas drm/i915: Restore the preliminary HW check. drm/i915: Synchronize pread/pwrite with wait_rendering drm/i915: Extract vm specific part of eviction drm/i915: evict VM instead of everything drm/i915: Remove extra "ring" drm/i915: Round l3 parity reads down drm/i915: Fix l3 parity user buffer offset drm/i915: Fix HSW parity test drm/i915: Add second slice l3 remapping drm/i915: Make l3 remapping use the ring drm/i915: Keep a list of all contexts drm/i915: Do remaps for all contexts drm/i915: s/HAS_L3_GPU_CACHE/HAS_L3_DPF Chon Ming Lee (3): drm/i915: Modify DP set clock to accomodate more eDP timings v2 drm/i915: Move Valleyview DP DPLL divisor calc to intel_dp_set_clock v2 drm/i915: Add additional pipe parameter for vlv_dpio_read and vlv_dpio_write. v2 Chris Wilson (8): drm/i915: Don't destroy the vma placeholder during execbuffer reservation drm/i915: Always prefer CPU relocations with LLC drm/i915: Do not add an interrupt for a context switch drm/i915: Rearrange the comments in i915_add_request() drm/i915: Rename ring->outstanding_lazy_request drm/i915; Preallocate the lazy request drm/i915: Write RING_TAIL once per-request drm/i915: Remove the double-list iteration from bound_any() Damien Lespiau (2): drm/i915: It's its! drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops Dan Carpenter (1): drm/i915: cleanup a min_t() cast Daniel Vetter (8): drm/i915: inline vma_create into lookup_or_create_vma drm/i915: More vma fixups around unbind/destroy drm/i915/dsi: s/size_t/int/ drm/i915: Fix list corruption in vma_unbind drm/i915: re-layout intel_panel.c to obey 80 char limit drm/i915: garbage-collect vlv refclk function drm/i915: dump crtc timings from the pipe config Merge tag 'v3.12-rc2' into drm-intel-next Jani Nikula (23): drm/i915: add more VLV IOSF sideband ports accessors drm/i915: add VLV pipeconf bit definition for DSI PLL lock drm/i915: add MIPI DSI register definitions drm/i915: add MIPI DSI output type and subtypes drm/i915: add structs for MIPI DSI output drm/i915: add MIPI DSI command sending routines drm/i915: add basic MIPI DSI output support drm/i915: fix PLL assertions for DSI PLL drm/i915: don't enable DPLL for DSI drm/i915: initialize DSI output on VLV drm/i915: add plumbing for SWSCI drm/i915: expose intel_ddi_get_encoder_port() drm/i915: add opregion function to notify bios of encoder enable/disable drm/i915: add opregion function to notify bios of adapter power state drm/i915: do display power state notification on crtc enable/disable drm/i915: name intel dp hooks per platform drm/i915: move backlight enable later in vlv enable sequence drm/i915: clean up power sequencing register port select definitions drm/i915: add support for per-pipe power sequencing on vlv drm/i915: add asserts for cursor disabled drm/i915: only report hpd connector status change when it actually changed drm/i915: register backlight device also when backlight class is a module drm/i915: assume all GM45 Acer laptops use inverted backlight PWM Jesse Barnes (3): drm/i915/vlv: re-enable hotplug detect based probing on VLV/BYT drm/i915/vlv: honor i915_enable_rc6 boot param on VLV drm/i915/vlv: disable rc6p and rc6pp residency reporting on BYT Mika Kuoppala (2): drm/i915: ban badly behaving contexts drm/i915: include hangcheck action and score in error_state Paulo Zanoni (8): drm/i915: move more code to __i915_drm_thaw drm/i915: don't save/restore LBB on Gen5+ drm/i915: clear opregon->lid_state after we unmap it drm/i915: WARN is the DP aux read or write is too big drm/i915: check for more ASLC interrupts drm/i915: write D_COMP using the mailbox drm/i915: don't disable ERR_INT on the IRQ handler drm/i915: POSTING_READ IPS_CTL before waiting for the vblank Rodrigo Vivi (1): drm/i915: Report enabled slices on Haswell GT3 Shobhit Kumar (3): drm: add MIPI DSI encoder and connector types drm/i915: Band Gap WA drm/i915: Parse the MIPI related VBT Block and store relevant info Ville Syrjälä (43): drm/i915: Kill IRONLAKE_FDI_FREQ check drm/i915: Pass crtc to intel_update_watermarks() drm/i915: Call intel_update_watermarks() in specific place during modeset drm/i915: Constify some watermark data drm/i915: Use ilk_compute_wm_level to compute WM_PIPE values drm/i915: Refactor max WM level drm/i915: Fix HSW sync flags to use pipe config adjusted_mode drm/i915: Don't factor in pixel multplier when deriving dotclock from link clock and M/N values drm/i915: Make adjusted_mode.clock non-pixel multiplied drm/i915: Add support for pipe_bpp readout drm/i915: Add state readout and checking for has_dp_encoder and dp_m_n drm/i915: Make intel_fuzzy_clock_check() take in arbitrary clocks drm/i915: Add intel_dotclock_calculate() drm/i915: Make i9xx_crtc_clock_get() use dpll_hw_state drm/i915: Make i9xx_crtc_clock_get() work for PCH DPLLs drm/i915: Fix port_clock and adjusted_mode.clock readout all over drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY() drm/i915: Add fuzzy clock check for port_clock drm/i915: Grab the pixel clock from adjusted_mode not requested_mode drm/i915: Use adjusted_mode->clock in lpt_program_iclkip drm/i915: Use adjusted_mode in HDMI 12bpc clock check drm/i915: Use adjusted_mode in intel_update_fbc() drm/i915: Use adjusted_mode appropriately when computing watermarks drm/i915: Check the clock from adjusted mode in intel_crtc_active() drm/i915: Use adjusted_mode when checking conditions for PSR drm/i915: Make intel_crtc_active() available outside intel_pm.c drm/i915: Use pipe config in sprite code drm/i915: Use adjusted_mode in DSI PLL calculations drm/i915: Add explicit pipe src size to pipe config drm/i915: Document the inteded use of requested_mode drm/i915: Fix cursor visibility check with negative coordinates drm/i915: Fix cursor visibility checks also for the right/bottom screen edges drm/i915: Move double wide mode handling into pipe_config drm/i915: Add double_wide readout and checking drm/i915: Check pixel clock limits on pre-gen4 drm/i915: pipe_src_w must be even in LVDS dual channel, DVO ganged, and double wide mode drm/i915: Fix up pipe vs. double wide confusion drm/i915: Convert overlay double wide check over to pipe config drm/i915: Change i915_request power well handling drm/i915: Add intel_display_power_{get, put} to request power for specific domains drm/i915: Refactor power well refcount inc/dec operations drm/i915: Add POWER_DOMAIN_VGA drm/i915: Pull intel_init_power_well() out of intel_modeset_init_hw() ymohanma (1): drm/i915: add VLV DSI PLL Calculations drivers/gpu/drm/drm_crtc.c | 2 + drivers/gpu/drm/i915/Makefile | 3 + drivers/gpu/drm/i915/dvo.h | 11 - drivers/gpu/drm/i915/i915_debugfs.c | 41 +- drivers/gpu/drm/i915/i915_dma.c | 4 +- drivers/gpu/drm/i915/i915_drv.c | 76 ++- drivers/gpu/drm/i915/i915_drv.h | 88 +++- drivers/gpu/drm/i915/i915_gem.c | 195 ++++---- drivers/gpu/drm/i915/i915_gem_context.c | 39 +- drivers/gpu/drm/i915/i915_gem_evict.c | 48 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 350 ++++++++------ drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 24 + drivers/gpu/drm/i915/i915_irq.c | 131 +++--- drivers/gpu/drm/i915/i915_reg.h | 472 ++++++++++++++++++- drivers/gpu/drm/i915/i915_suspend.c | 8 +- drivers/gpu/drm/i915/i915_sysfs.c | 68 ++- drivers/gpu/drm/i915/intel_bios.c | 16 + drivers/gpu/drm/i915/intel_bios.h | 41 ++ drivers/gpu/drm/i915/intel_crt.c | 11 +- drivers/gpu/drm/i915/intel_ddi.c | 37 +- drivers/gpu/drm/i915/intel_display.c | 715 ++++++++++++++++++----------- drivers/gpu/drm/i915/intel_dp.c | 313 +++++++++---- drivers/gpu/drm/i915/intel_drv.h | 41 +- drivers/gpu/drm/i915/intel_dsi.c | 621 +++++++++++++++++++++++++ drivers/gpu/drm/i915/intel_dsi.h | 102 ++++ drivers/gpu/drm/i915/intel_dsi_cmd.c | 427 +++++++++++++++++ drivers/gpu/drm/i915/intel_dsi_cmd.h | 109 +++++ drivers/gpu/drm/i915/intel_dsi_pll.c | 317 +++++++++++++ drivers/gpu/drm/i915/intel_dvo.c | 7 +- drivers/gpu/drm/i915/intel_hdmi.c | 61 ++- drivers/gpu/drm/i915/intel_lvds.c | 8 + drivers/gpu/drm/i915/intel_opregion.c | 431 +++++++++++++++-- drivers/gpu/drm/i915/intel_overlay.c | 5 +- drivers/gpu/drm/i915/intel_panel.c | 184 ++++---- drivers/gpu/drm/i915/intel_pm.c | 336 +++++++++----- drivers/gpu/drm/i915/intel_ringbuffer.c | 71 +-- drivers/gpu/drm/i915/intel_ringbuffer.h | 15 +- drivers/gpu/drm/i915/intel_sdvo.c | 15 +- drivers/gpu/drm/i915/intel_sideband.c | 74 ++- drivers/gpu/drm/i915/intel_sprite.c | 10 +- include/uapi/drm/drm_mode.h | 2 + include/uapi/drm/i915_drm.h | 8 +- 43 files changed, 4422 insertions(+), 1117 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_dsi.c create mode 100644 drivers/gpu/drm/i915/intel_dsi.h create mode 100644 drivers/gpu/drm/i915/intel_dsi_cmd.c create mode 100644 drivers/gpu/drm/i915/intel_dsi_cmd.h create mode 100644 drivers/gpu/drm/i915/intel_dsi_pll.c -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch