Hi Dave, drm-intel-next-2016-05-22: - cmd-parser support for direct reg->reg loads (Ken Graunke) - better handle DP++ smart dongles (Ville) - bxt guc fw loading support (Nick Hoathe) - remove a bunch of struct typedefs from dpll code (Ander) - tons of small work all over to avoid casting between drm_device and the i915 dev struct (Tvrtko&Chris) - untangle request retiring from other operations, also fixes reset stat corner cases (Chris) - skl atomic watermark support from Matt Roper, yay! - various wm handling bugfixes from Ville - big pile of cdclck rework for bxt/skl (Ville) - CABC (Content Adaptive Brigthness Control) for dsi panels (Jani&Deepak M) - nonblocking atomic commits for plane-only updates (Maarten Lankhorst) - bunch of PSR fixes&improvements - untangle our map/pin/sg_iter code a bit (Dave Gordon) drm-intel-next-2016-05-08: - refactor stolen quirks to share code between early quirks and i915 (Joonas) - refactor gem BO/vma funcstion (Tvrtko&Dave) - backlight over DPCD support (Yetunde Abedisi) - more dsi panel sequence support (Jani) - lots of refactoring around handling iomaps, vma, ring access and related topics culmulating in removing the duplicated request tracking in the execlist code (Chris & Tvrtko) includes a small patch for core iomapping code - hw state readout for bxt dsi (Ramalingam C) - cdclk cleanups (Ville) - dedupe chv pll code a bit (Ander) - enable semaphores on gen8+ for legacy submission, to be able to have a direct comparison against execlist on the same platform (Chris) Not meant to be used for anything else but performance tuning - lvds border bit hw state checker fix (Jani) - rpm vs. shrinker/oom-notifier fixes (Praveen Paneri) - l3 tuning (Imre) - revert mst dp audio, it's totally non-functional and crash-y (Lyude) - first official dmc for kbl (Rodrigo) - and tons of small things all over as usual I've cherry-picked the revert for the nonblocking stuff that landed right before I tagged this over, just to avoid too much confusion. This has a bunch of conflicts because git gets lots with us cherry-picking patches from -next to 4.7. But since it's all cherry-picks you can just pull in with "-X theirs" and it should all work out. Besides that I want a baseline with 4.7, drm-misc and this for a few patch series I also want to backmerge the entire pile into drm-intel-next again this week because of these conflicts. Would be awesome if you can handle all the -next pulls I've sent you on Thu, so that I can do the backmerge on Fri before I do the next tag round. btw Tomi missed 4.7 with his pull, so I'll ping him to get his omapdrm pile out now too to make sure it hits 4.8. Cheers, Daniel The following changes since commit 99ee87295017e36abb6925e6139ca303cb55aee7: Merge tag 'topic/drm-misc-2016-05-13' of git://anongit.freedesktop.org/drm-intel into drm-next (2016-05-17 07:06:14 +1000) are available in the git repository at: git://anongit.freedesktop.org/drm-intel drm-intel-next for you to fetch changes up to e42aeef1237b7c969a77b7f726c50f6cb832185f: drm/i915: Revert async unpin and nonblocking atomic commit (2016-06-01 09:46:46 +0200) ---------------------------------------------------------------- Ander Conselvan de Oliveira (13): drm/i915: Set crtc_state->lane_count for HDMI drm/i915: Unduplicate CHV signal level code drm/i915: Unduplicate chv_data_lane_soft_reset() drm/i915: Unduplicate CHV phy-releated pre pll enabling code drm/i915: Unduplicate CHV pre-encoder enabling phy logic drm/i915: Unduplicate CHV encoders' post pll disable code drm/i915: Unduplicate VLV signal level code drm/i915: Unduplicate VLV phy pre pll enabling code drm/i915: Unduplicate pre encoder enabling phy code drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c drm/i915: Remove intel_clock_t typedef drm/i915: Remove intel_range_t and intel_p2_t typedefs drm/i915: Remove intel_limit_t typedef Chris Wilson (50): drm/i915: Protect gen7 irq_seqno_barrier with uncore lock drm/i915: Propagate error from drm_gem_object_init() drm/i915/fbdev: Call intel_unpin_fb_obj() on release drm/i915/overlay: Replace i915_gem_obj_ggtt_offset() with the known flip_addr io-mapping: Specify mapping size for io_mapping_map_wc() drm/i915: Introduce i915_vm_to_ggtt() drm/i915: Move ioremap_wc tracking onto VMA drm/i915: Use i915_vma_pin_iomap on the ringbuffer object drm/i915: Mark the current context as lost on suspend drm/i915: L3 cache remapping is part of context switching drm/i915: Consolidate L3 remapping LRI drm/i915: Remove early l3-remap drm/i915: Rearrange switch_context to load the aliasing ppgtt on first use drm/i915: Unify intel_ring_begin() drm/i915: Remove the identical implementations of request space reservation drm/i915: Manually unwind after a failed request allocation drm/i915: Preallocate enough space for the average request drm/i915: Update execlists context descriptor format commentary drm/i915: Assign every HW context a unique ID drm/i915: Replace the pinned context address with its unique ID drm/i915: Refactor execlists default context pinning drm/i915: Move the magical deferred context allocation into the request drm/i915: Move releasing of the GEM request from free to retire/cancel drm/i915: Track the previous pinned context inside the request drm/i915: Unify GPU resets upon shutdown drm/i915: Bump reserved size for legacy gen8 semaphore emission drm/i915: Trim the flush for the legacy request emission drm/i915: Trim the flush for the execlists request emission drm/i915: Apply strongly ordered RCS breadcrumb to gen8/legacy drm/i915: Fix ordering of sanitize ppgtt and sanitize execlists drm/i915: Fix gen8 semaphores id for legacy mode drm/i915: Fix serialisation of pipecontrol write vs semaphore signal drm/i915: Reload PD tables after semaphore wait on gen8 drm/i915: Enable semaphores for legacy submission on gen8 drm/i915: Report command parser version 0 if disabled drm/i915: Unexport i915_ppgtt_init() drm/i915/execlists: Refactor common engine setup drm/i915: Store a i915 backpointer from engine, and use it x86: Silence 32bit compiler warning in intel_graphics_stolen() drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c drm/i915: Convert intel_overlay.c to use native drm_i915_private pointers drm/i915: Move get-reset-stats ioctl from intel_uncore.c to i915_gem_context.c drm/i915: Complete pending resets before get-reset-stats ioctl drm/i915: Stop retiring requests from busy/wait ioctls drm/i915: Stop automatically retiring requests after a GPU hang drm/i915: Add distinct stubs for PM hibernation phases drm/i915: Update domain tracking for GEM objects on hibernation drm/i915: Lazily migrate the objects after hibernation drm/i915: Skip clearing the GGTT on full-ppgtt systems drm/i915/userptr: Convert to drm_i915_private Daniel Vetter (12): drm/i915: Bail out of pipe config compute loop on LPT drm/i915: Update DRIVER_DATE to 20160508 Revert "mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly" Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: Simplify control flow in intel_atomic_check a bit. drm/i915/psr: Try to program link training times correctly drm/i915/psr: Make idle_frames sensible again drm/i915/psr: Order DP aux transactions correctly drm/i915/psr: Use ->get_aux_send_ctl functions drm/i915/psr: Implement PSR2 w/a for gen9 drm/i915: Update DRIVER_DATE to 20160522 drm/i915: Revert async unpin and nonblocking atomic commit Dave Gordon (5): drm/i915: rename i915_gem_alloc_object() to i915_gem_object_create() drm/i915: refactor i915_gem_object_pin_map() drm/i915: optimise i915_gem_object_map() for small objects drm/i915: Introduce & use new lightweight SGL iterators drm/i915: Inline sg_next() for the optimised SGL iterator Deepak M (3): drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT drm/i915: Parse LFP brightness control field in VBT drm/i915/dsi: CABC support for Panel PWM backlight control Imre Deak (7): drm/i915/bdw: Add missing delay during L3 SQC credit programming drm/i915: Clean up L3 SQC register field definitions drm/i915/chv: Tune L3 SQC credits based on actual latencies drm/i915/gen9: Avoid using negative array index in skl_update_plane() drm/i915: Add comments about fixed pipe->transcoder/PLL mapping drm/i915: Handle error return from dma_set_coherent_mask() drm/i915: Remove redundant const from function return type Jani Nikula (6): drm/i915/dsi: don't pretend we support SC GPIOs drm/i915/dsi: add support for sequence block v3 gpio for VLV drm/i915/dsi: add support for gpio elements on CHV drm/i915/lvds: separate border enable readout from panel fitter drm/i915: don't mix bitwise and logical operations for has_snoop drm/i915/dsi: Add DCS control for Panel PWM Joonas Lahtinen (2): drm/i915: Canonicalize stolen memory calculations drm/i915: Function per early graphics quirk Kenneth Graunke (1): drm/i915: Allow MI_LOAD_REGISTER_REG between whitelisted registers. Lyude (1): Revert "drm/i915: start adding dp mst audio" Maarten Lankhorst (22): drm/i915: Dump pipe config when intel_modeset_pipe_config fails. drm/core: Add drm_accurate_vblank_count, v5. drm/i915: Remove stallcheck special handling, v3. drm/i915: Remove intel_finish_page_flip_plane. drm/i915: Remove intel_prepare_page_flip, v3. drm/i915: Add support for detecting vblanks when hw frame counter is unavailable. drm/i915: Unify unpin_work and mmio_work into flip_work, v2. Revert "drm/i915: Avoid stalling on pending flips for legacy cursor updates" drm/i915: Allow mmio updates on all platforms, v2. drm/i915: Convert flip_work to a list. drm/i915: Add the exclusive fence to plane_state. drm/i915: Rework intel_crtc_page_flip to be almost atomic, v3. drm/i915: Remove cs based page flip support. drm/i915: Remove use_mmio_flip kernel parameter. drm/i915: Remove queue_flip pointer. drm/i915: Remove reset_counter from intel_crtc. drm/i915: Pass atomic states to fbc update functions. drm/i915: Prepare connectors for nonblocking checks. drm/i915: Make unpin async. Reapply "drm/i915: Avoid stalling on pending flips for legacy cursor updates" drm/i915: Check for unpin correctness. drm/i915: Allow nonblocking update of pageflips. Matt Roper (17): drm/i915: Reorganize WM structs/unions in CRTC state drm/i915: Rename s/skl_compute_pipe_wm/skl_build_pipe_wm/ drm/i915/gen9: Cache plane data rates in CRTC state drm/i915/gen9: Allow calculation of data rate for in-flight state (v2) drm/i915/gen9: Store plane minimum blocks in CRTC wm state (v2) drm/i915: Track whether an atomic transaction changes the active CRTC's drm/i915/gen9: Allow skl_allocate_pipe_ddb() to operate on in-flight state (v3) drm/i915: Add distrust_bios_wm flag to dev_priv (v2) drm/i915/gen9: Compute DDB allocation at atomic check time (v4) drm/i915/gen9: Drop re-allocation of DDB at atomic commit (v2) drm/i915/gen9: Calculate plane WM's from state drm/i915/gen9: Allow watermark calculation on in-flight atomic state (v3) drm/i915/gen9: Use a bitmask to track dirty pipe watermarks drm/i915/gen9: Propagate watermark calculation failures up the call chain drm/i915/gen9: Calculate watermarks during atomic 'check' (v2) drm/i915/gen9: Reject display updates that exceed wm limitations (v2) drm/i915: Remove wm_config from dev_priv/intel_atomic_state Matthew Auld (2): drm/i915: tidy up gen8_init_scratch drm/i915: remove i915_gem_object_ggtt_unbind Nick Hoath (1): drm/i915/guc: Add Broxton GuC firmware loading support Peter Antoine (1): drm/i915/bxt: reserve space for RC6 in the the GuC WOPCM Praveen Paneri (2): drm/i915: Unbind objects in shrinker only if device is runtime active drm/i915: Add rpm get/put in oom and vmap notifier Ramalingam C (2): drm/i915/BXT: Retrieving the horizontal timing for DSI drm/i915/bxt: Adjusting the error in horizontal timings retrieval Rodrigo Vivi (1): drm/i915/kbl: Introduce the first official DMC for Kabylake. Tim Gore (1): drm/i915:bxt: implement WaProgramL3SqcReg1DefaultForPerf Tom O'Rourke (1): drm/i915/guc: Use major_minor version for filename Tvrtko Ursulin (13): drm/i915: Remove i915_gem_obj_size drm/i915: Simplify i915_gem_obj_to_ggtt_view drm/i915: Simplify i915_gem_obj_ggtt_offset_view drm/i915: Simplify i915_gem_obj_ggtt_bound_view drm/i915: Store LRC hardware id in the request drm/i915: Stop tracking execlists retired requests drm/i915: Simplify intel_mark_busy/idle drm/i915: Small display interrupt handlers tidy drm/i915: Make IS_GENx macros work on a mask drm/i915: Promote IS_BROADWELL to a simple macro drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx drm/i915: Do not use a bitfield for INTEL_INFO->num_pipes drm/i915: Introduce IS_GEN macro Ville Syrjälä (29): drm/i915: Unify VLV/CHV DPOunit clock gating disable/enable drm/i915: Update RAWCLK_FREQ register on VLV/CHV drm/i915: Update CDCLK_FREQ register on BDW after changing cdclk frequency drm/i915: Use cached cdclk value in i915_audio_component_get_cdclk_freq() drm/i915: Fix comments about GMBUSFREQ register mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly drm: Add helper for DP++ adaptors drm/i915: Respect DP++ adaptor TMDS clock limit drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT drm/i915: Calculate IPS linetime watermark based on future cdclk drm/i915: Add a FIXME about crtc !active vs. watermarks drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms drm/i915: s/DPPL/DPLL/ for SKL DPLLs drm/i915: Drop checks for max_pixclk failures in cdclk computation drm/i915: Extract broadwell_calc_cdclk() drm/i915: Untangle .fdi_link_train and cdclk vfunc setup drm/i915: Don't pass dev_priv to broxton_calc_cdclk() drm/i915: Use ilk_max_pixel_rate() for BXT cdclk calculation drm/i915: Use skl_cdclk_decimal() on bxt drm/i915: Remove 10% cdclk guardband on BXT drm/i915: Extract skl_dpll0_disable() drm/i915: Kill off dead code from skl_dpll0_enable() drm/i915: s/freq/cdclk/ drm/i915: s/required_vco/vco/ in skl cdclk code drm/i915: Program BXT_CDCLK_CD2X_PIPE drm/i915: Eliminate the CDCLK_CTL RMW on BXT drm/i915: Don't leave old junk in ilk active watermarks on readout drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2) Yetunde Adebisi (3): drm/dp: Add definition for Display Control DPCD Registers capability size drm/i915: Read eDP Display control capability registers drm/i915: Add Backlight Control using DPCD for eDP connectors (v9) Documentation/DocBook/gpu.tmpl | 6 + arch/x86/kernel/early-quirks.c | 404 +++++---- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/drm_dp_dual_mode_helper.c | 366 ++++++++ drivers/gpu/drm/drm_irq.c | 31 + drivers/gpu/drm/i915/Makefile | 3 + drivers/gpu/drm/i915/i915_cmd_parser.c | 44 +- drivers/gpu/drm/i915/i915_debugfs.c | 77 +- drivers/gpu/drm/i915/i915_dma.c | 126 ++- drivers/gpu/drm/i915/i915_drv.c | 106 ++- drivers/gpu/drm/i915/i915_drv.h | 308 +++++-- drivers/gpu/drm/i915/i915_gem.c | 411 ++++----- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 6 +- drivers/gpu/drm/i915/i915_gem_context.c | 291 ++++--- drivers/gpu/drm/i915/i915_gem_evict.c | 4 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +- drivers/gpu/drm/i915/i915_gem_fence.c | 14 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 247 +++--- drivers/gpu/drm/i915/i915_gem_gtt.h | 40 +- drivers/gpu/drm/i915/i915_gem_render_state.c | 17 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 48 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 6 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 4 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 12 +- drivers/gpu/drm/i915/i915_gpu_error.c | 81 +- drivers/gpu/drm/i915/i915_guc_reg.h | 6 +- drivers/gpu/drm/i915/i915_guc_submission.c | 7 +- drivers/gpu/drm/i915/i915_irq.c | 485 +++++------ drivers/gpu/drm/i915/i915_params.c | 4 + drivers/gpu/drm/i915/i915_params.h | 1 + drivers/gpu/drm/i915/i915_reg.h | 19 +- drivers/gpu/drm/i915/i915_sysfs.c | 9 +- drivers/gpu/drm/i915/i915_trace.h | 36 +- drivers/gpu/drm/i915/i915_vgpu.c | 7 +- drivers/gpu/drm/i915/i915_vgpu.h | 2 +- drivers/gpu/drm/i915/intel_audio.c | 17 +- drivers/gpu/drm/i915/intel_bios.c | 55 ++ drivers/gpu/drm/i915/intel_bios.h | 16 +- drivers/gpu/drm/i915/intel_crt.c | 8 +- drivers/gpu/drm/i915/intel_csr.c | 30 +- drivers/gpu/drm/i915/intel_ddi.c | 42 +- drivers/gpu/drm/i915/intel_display.c | 905 ++++++++++---------- drivers/gpu/drm/i915/intel_dp.c | 428 +--------- drivers/gpu/drm/i915/intel_dp_aux_backlight.c | 172 ++++ drivers/gpu/drm/i915/intel_dp_mst.c | 22 - drivers/gpu/drm/i915/intel_dpio_phy.c | 470 +++++++++++ drivers/gpu/drm/i915/intel_dpll_mgr.c | 8 +- drivers/gpu/drm/i915/intel_drv.h | 194 +++-- drivers/gpu/drm/i915/intel_dsi.c | 190 ++++- drivers/gpu/drm/i915/intel_dsi.h | 4 + drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c | 179 ++++ drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 77 +- drivers/gpu/drm/i915/intel_fbc.c | 4 +- drivers/gpu/drm/i915/intel_fbdev.c | 35 +- drivers/gpu/drm/i915/intel_guc_loader.c | 26 +- drivers/gpu/drm/i915/intel_hdmi.c | 456 +++------- drivers/gpu/drm/i915/intel_hotplug.c | 13 +- drivers/gpu/drm/i915/intel_lrc.c | 751 +++++++---------- drivers/gpu/drm/i915/intel_lrc.h | 11 +- drivers/gpu/drm/i915/intel_lvds.c | 6 +- drivers/gpu/drm/i915/intel_mocs.c | 14 +- drivers/gpu/drm/i915/intel_opregion.c | 4 +- drivers/gpu/drm/i915/intel_overlay.c | 147 ++-- drivers/gpu/drm/i915/intel_panel.c | 8 + drivers/gpu/drm/i915/intel_pm.c | 1071 ++++++++++++++---------- drivers/gpu/drm/i915/intel_psr.c | 108 ++- drivers/gpu/drm/i915/intel_ringbuffer.c | 651 +++++++------- drivers/gpu/drm/i915/intel_ringbuffer.h | 43 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 5 + drivers/gpu/drm/i915/intel_sprite.c | 27 +- drivers/gpu/drm/i915/intel_uncore.c | 219 ++--- drivers/gpu/drm/i915/intel_vbt_defs.h | 18 + drivers/net/ethernet/mellanox/mlx4/pd.c | 4 +- include/drm/drmP.h | 1 + include/drm/drm_dp_dual_mode_helper.h | 92 ++ include/drm/drm_dp_helper.h | 1 + include/drm/i915_drm.h | 3 + include/linux/io-mapping.h | 10 +- 78 files changed, 5519 insertions(+), 4270 deletions(-) create mode 100644 drivers/gpu/drm/drm_dp_dual_mode_helper.c create mode 100644 drivers/gpu/drm/i915/intel_dp_aux_backlight.c create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.c create mode 100644 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c create mode 100644 include/drm/drm_dp_dual_mode_helper.h -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel