[PULL] drm-intel-next

Daniel Vetter
2016-06-01T08:28:14Z

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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org