Hi Dave, drm-intel-next-2016-12-26: 2nd round of stuff for 4.11: - DP link rate fixes (DK) - prep work for atomic wm updates on vlv/chv (Ville) - platform enumeration cleanup (Jani) - dsi fixes and cleaups (Hans de Goede) - gen9 wm fixes (Mahesh Kumar) - prep work for DP link failure fallback handling (Manasi) - introduce GEM_WARN_ON (Matthew Auld) - overlay fixes and cleanups (Ville) - make is_lp apply to all modern/gen7+ atom-based platforms (Rodrigo) Tons of small polish, fixes and cleanups all over. This time around this is about half the patches! drm-intel-next-2016-12-05: First round of stuff for 4.10! - refactor hangcheck/ban/reset stats code in prep for TDR (Mika) - much more fancy perf monitoring support (Robert Bragg) - lspcon fixes (Imre) - rework plane ids to unconfuse the code (Ville) - fix up cdclck/atomic state handling (Ville) - debugobjects support for i915 fences (Chris) - guc code cleanup (Arkadiusz Hiler) - dp mst enabling, one more attempt (Libin) - bugfixes for request resubmission after hangs (Chris) - add basic geminilake support (Ander) - switch more internal functions from drm_device to dev_priv (Tvrtko) As mentioned already, will conflict in a few places with -misc, but nothing too bad. drm-tip has the well-tested merge solutions, for peeking. Cheers, Daniel The following changes since commit f03ee46be9401e3434f52bb15e92d1e640f76438: Backmerge tag 'v4.9-rc8' into drm-next (2016-12-05 17:11:48 +1000) are available in the git repository at: git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2016-12-26 for you to fetch changes up to f061ff077e657b27d7e24e31b1da484b2376348d: drm/i915: Update DRIVER_DATE to 20161226 (2016-12-26 16:48:25 +0100) ---------------------------------------------------------------- 2nd round of stuff for 4.11: - DP link rate fixes (DK) - prep work for atomic wm updates on vlv/chv (Ville) - platform enumeration cleanup (Jani) - dsi fixes and cleaups (Hans de Goede) - gen9 wm fixes (Mahesh Kumar) - prep work for DP link failure fallback handling (Manasi) - introduce GEM_WARN_ON (Matthew Auld) - overlay fixes and cleanups (Ville) - make is_lp apply to all modern/gen7+ atom-based platforms (Rodrigo) Tons of small polish, fixes and cleanups all over. This time around this is about half the patches! ---------------------------------------------------------------- A.Sunil Kamath (1): drm/i915: Use num_scalers instead of SKL_NUM_SCALERS in debugfs Ander Conselvan de Oliveira (14): drm/i915: Pass dev_priv to intel_setup_outputs() drm/i915: Don't sanitize has_decoupled_mmio if platform is not broxton drm/i915/glk: Introduce Geminilake platform definition drm/i915/glk: Add Geminilake PCI IDs drm/i915/glk: Add a IS_GEN9_LP() macro drm/i915: Fix intel_psr_init() kerneldoc drm/i915/glk: Reuse broxton code for geminilake drm/i915/glk: Add power wells for Geminilake drm/i915/glk: Implement Geminilake DDI init sequence drm/i915/glk: Set DCC delay range 2 in PLL enable sequence drm/i915/glk: Reuse broxton's cdclk code for GLK drm/i915/glk: Allow dotclock up to 2 * cdclk on geminilake drm/i915/glk: Implement core display init/uninit sequence for geminilake drm/i915/glk: Configure number of sprite planes properly Arkadiusz Hiler (6): drm/i915: Rename intel_guc.h to intel_uc.h drm/i915/guc: Drop guc2host/host2guc from names drm/i915/guc: Move guc_{send,recv}() to intel_uc.c drm/i915/guc: Init send_mutex in intel_uc_init_early() drm/i915/guc: Remove spurious include drm/i915/guc: Drop comment on fwif autogeneration Bob Paauwe (1): drm/i915/bxt: Correct dual-link MIPI port control. Chris Wilson (51): drm/i915: Use user, not driver, DRM_DEBUG for 2 context ioctls drm/i915: Add a warning on shutdown if signal threads still active drm/i915: Don't deref context->file_priv ERR_PTR upon reset drm/i915: Disable hangcheck when wedged drm/i915: Complete requests in nop_submit_request drm/i915: Stop the machine as we install the wedged submit_request handler drm/i915/debugfs: Drop i915_hws_info drm/i915/debugfs: Increment return value of gt.next_seqno drm/i915: Use the precomputed value for whether to enable command parsing drm/i915/debugfs: Update pageflip information drm/i915: Add is-completed assert to request retire entrypoint drm/i915: Assert no external observers when unwind a failed request alloc drm/i915: Hold a reference on the request for its fence chain drm/i915: Integrate i915_sw_fence with debugobjects drm/i915: Move priority bumping for flips earlier Revert "drm/i915/execlists: Use a local lock for dfs_link access" drm/i915: Convert vm->dev backpointer to vm->i915 drm/i915/perf: Wrap 64bit divides in do_div() drm/i915: Fix tracepoint compilation drm/i915: Trim i915_guc_info() stack usage drm/i915/guc: Rename client->cookie to match use drm/i915/guc: Initialise doorbell cookie to matching value drm/i915/guc: Keep the execbuf client allocated across reset drm/i915/guc: Split hw submission for replay after GPU reset drm/i915/perf: Treat u64 in uabi as a normal integer drm/i915: Mark all non-vma being inserted into the address spaces drm/i915: Fix i915_gem_evict_for_vma (soft-pinning) drm/i915: Tidy i915_gem_valid_gtt_space() drm/i915: Implement local atomic_state_free callback drm/i915: Enable swfence debugobject support for i915.ko drm/i915/execlists: Use list_safe_reset_next() instead of opencoding drm/i915: Use memcpy_from_wc for GPU error capture drm/i915: Reorder phys backing storage release drm/i915: Retire before attempting to evict from the active lists drm/i915: Add a reminder that i915_vma_move_to_active() requires struct_mutex drm/i915: Move intel_lrc_context_pin() to avoid the forward declaration drm/i915: Unify active context tracking between legacy/execlists/guc drm/i915: Simplify releasing context reference drm/i915: Mark the shadow gvt context as closed drm/i915/execlists: Request the kernel context be pinned high drm/i915: Swap if(enable_execlists) in i915_gem_request_alloc for a vfunc drm/i915: Drop mutex after successful kref_put_mutex() drm/i915/breadcrumbs: s/container_of/rb_entry/ drm/i915: Fallback to single PAGE_SIZE segments for DMA remapping drm/i915: Add a test that we terminate the trimmed sgtable as expected drm/i915: Break after walking all GGTT vma in bump_inactive_ggtt drm/i915: Repeat flush of idle work during suspend drm/i915: Don't clflush before release phys object drm/i915: Silence allocation failure during sg_trim() drm/i915: Assert that the partial VMA fits within the object drm/i915: Prevent timeline updates whilst performing reset Daniel Vetter (5): drm/i915: Remove dummy i915_kick_out_firmware_fb drm/i915: Update DRIVER_DATE to 20161205 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: tune down the fast link training vs boot fail drm/i915: Update DRIVER_DATE to 20161226 Daniele Ceraolo Spurio (2): drm/i915: request ring to be pinned above GUC_WOPCM_TOP drm/i915: re-use computed offset bias for context pin Deepak M (1): drm/i915/glk: Add new bit fields in MIPI CTRL register Dhinakaran Pandiyan (2): drm/i915: Fix DP link rate math drm/i915: Validate mode against max. link data rate for DP MST Elaine Wang (1): drm/i915: Check num_pipes before initializing audio component Geliang Tang (1): drm/i915/debugfs: use rb_entry() Hans de Goede (4): drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting drm/i915/dsi: Move disable pll call outside of clear_device_ready() Imre Deak (10): drm/i915/lspcon: Ensure AUX CH is awake while in DP Sleep state drm/i915/lspcon: Add dp_to_lspcon helper() drm/i915/lspcon: Wait for expected LSPCON mode to settle drm/i915/lspcon: Remove unused force change mode parameter drm/i915/lspcon: Enable AUX interrupts for resume time initialization drm/i915/gen6+: Clear upper data byte during PCODE write drm/i915: Add I2C and DP-AUX char devices to debug kconfig drm/i915/gen9: Fix PCODE polling during CDCLK change notification drm/i915/gen9: Fix PCODE polling during SAGV disabling drm/i915/ddi: Rely on VBT DDI port info for eDP detection Jani Nikula (9): drm/i915: replace platform flags with a platform enum drm/i915: keep intel device info structs in gen based order drm/i915: rename BROADWATER and CRESTLINE to I965G and I965GM, respectively drm/i915: add some more "i" in platform names for consistency drm/i915: give G45 and GM45 their own platform enums drm/i915: use platform enum instead of duplicating PCI ID if possible drm/i915: distinguish G33 and Pineview from each other drm/i915/bxt: add bxt dsi gpio element support drm/i915: simplify check for I915G/I945G in bit 6 swizzling detection Joonas Lahtinen (2): drm/i915: Rename i915_gem_timeline.next_seqno to .seqno drm/i915: Catch non-existent registers in find_fw_domain Jérémy Lefaure (1): drm/i915: fix compilation warnings on maybe uninitialized pointers Libin Yang (6): drm/i915/audio: fix hdmi audio noise issue drm/i915/debugfs: add dp mst info drm/i915: abstract ddi being audio enabled drm/i915: enable dp mst audio drm/i915/audio: extend get_saved_enc() to support more scenarios drm/i915/audio: extend audio sync rate support for DP MST Maarten Lankhorst (1): drm/i915: Remove all ->config dereferences from intel_hdmi, v2. Madhav Chauhan (1): drm/i915/glk: Update Port PLL enable sequence for Geminilkae Mahesh Kumar (5): drm/i915/skl: Add variables to check x_tile and y_tile drm/i915/bxt: IPC WA for Broxton drm/i915/kbl: IPC workaround for kabylake drm/i915/skl+: change WM calc to fixed point 16.16 drm/i915: Add intel_atomic_get_existing_crtc_state function Manasi Navare (3): drm/i915: Compute sink's max lane count/link BW at Hotplug drm/i915: Find fallback link rate/lane count drm/i915: Move all the DP compliance data to a separate struct Matthew Auld (9): drm/i915: cleanup use of INSTR_CLIENT_MASK drm/i915: kick out cmd_parser specific structs from i915_drv.h drm/i915: drop the struct_mutex when wedged or trying to reset drm/i915: make i915_suspend_switcheroo static drm/i915: allow GEM_BUG_ON expr checking with !DEBUG_GEM drm/i915: introduce GEM_WARN_ON drm/i915: move vma sanity checking into i915_vma_bind drm/i915: introduce range_overflows utility macros drm/i915: convert to using range_overflows Michal Wajdeczko (1): drm/i915: Fix inconsistent naming of i915_guc_client parameter Michel Thierry (2): drm/i915: Advertise ppgtt support type in platform definition drm/i915: Keep has_* in alphabetical order Mika Kahola (3): drm/i915: Intel panel detection cleanup drm/i915: Intel panel downclock cleanup drm/i915: clean up Hz to PWM for i965 Mika Kuoppala (8): drm/i915: Add more keywords to firmware loading message drm/i915: Split up hangcheck phases drm/i915: Decouple hang detection from hangcheck period drm/i915: Use request retirement as context progress drm/i915: Add bannable context parameter drm/i915: Add per client max context ban limit drm/i915: Wipe hang stats as an embedded struct drm/i915: Fix setting of boost freq tunable Nagaraju, Vathsala (1): drm/i915/psr: report psr2 hw enabled from psr2_ctl Nicholas Mc Guire (2): drm/i915: relax uncritical udelay_range() settings drm/i915: relax uncritical udelay_range() Paulo Zanoni (3): drm/i915: disable PSR by default on HSW/BDW drm/i915: skip the first 4k of stolen memory on everything >= gen8 drm/i915: fully apply WaSkipStolenMemoryFirstPage Robert Bragg (13): drm/i915: Add i915 perf infrastructure drm/i915: rename OACONTROL GEN7_OACONTROL drm/i915: return EACCES for check_cmd() failures drm/i915: don't whitelist oacontrol in cmd parser drm/i915: Add 'render basic' Haswell OA unit config drm/i915: Enable i915 perf stream for Haswell OA unit drm/i915: advertise available metrics via sysfs drm/i915: Add dev.i915.perf_stream_paranoid sysctl option drm/i915: add dev.i915.oa_max_sample_rate sysctl drm/i915: Add more Haswell OA metric sets drm/i915: Add a kerneldoc summary for i915_perf.c drm/i915/perf: use DRM_DEBUG for userspace issues drm/i915/perf: More documentation hooked to i915.rst Rodrigo Vivi (6): drm/i915: Create a common GEN9_LP_FEATURE. drm/i915: Only poll DW3_A when init DDI PHY for ports B and C. drm/i915: Expand is_lp backwards to gen8_lp and gen7_lp. drm/i915: Rename get stolen functions for LP platforms chv+ drm/i915: Simplify gem stolen initialization. drm/i915: Remove useless VLV_FEATURE Macro. Tomeu Vizoso (1): drm/i915/debugfs: Move out pipe CRC code Tvrtko Ursulin (17): drm/i915/guc: Remove unused intel_guc_fw struct member drm/i915: i915_gem_alloc_context_obj can be static drm/i915: Make GEM object alloc/free and stolen created take dev_priv drm/i915: Make GEM object create and create from data take dev_priv drm/i915: Make various init functions take dev_priv drm/i915: More GEM init dev_priv cleanup drm/i915: dev_priv cleanup in bridge/bar/mmio init code drm/i915: Unexport VGA switcheroo functions drm/i915: Make gmbus setup take dev_priv drm/i915: Make i915_destroy_error_state take dev_priv drm/i915: Make i915_save/restore_state and intel_i2c_reset take dev_priv drm/i915: Make intel_pm_setup take dev_priv drm/i915: Fix kerneldoc for intel_guc_fini drm/i915: Shrink pipe config checker drm/i915: Use DRM_DEV_ERROR in i915_driver_load drm/i915: Optimise VMA lookup slightly drm/i915: Fix use after free in logical_render_ring_init Vidya Srinivas (1): drm/i915: Parse panel backlight controller from VBT Ville Syrjälä (40): drm/i915: Make skl_write_{plane,cursor}_wm() static drm/i915: Add per-pipe plane identifier drm/i915: Add crtc->plane_ids_mask drm/i915: Use enum plane_id in SKL wm code drm/i915: Use enum plane_id in SKL plane code drm/i915: Use enum plane_id in VLV/CHV sprite code drm/i915: Use enum plane_id in VLV/CHV wm code drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things drm/i915: Protect dev_priv->atomic_cdclk_freq with all the crtc locks drm/i915: Simplify error handling in intel_modeset_all_pipes() drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time drm/i915: Drop the nop intel_update_watermarks() call from haswell_crtc_enable() drm/i915: Use the ilk_disable_lp_wm() return value drm/i915: Fix the level 0 max_wm hack on VLV/CHV drm/i915: Clean up VLV/CHV maxfifo watermark setup drm/i915: Remove duplicated wm setup for vlv and chv drm/i915: Organize vlv/chv watermarks by plane_id drm/i915: Introduce vlv_invert_wm_value() drm/i915: Pass around dev_priv in vlv wm functions drm/i915: Protect cxsr state with wm_mutex drm/i915: Skip vblank wait if cxsr was already off drm/i915: Zero out HOWM registers before writing new WM/HOWM register values drm/i915: Write all DDL registers in one go drm/i915: Clean up vlv_program_watermarks() drm/i915: Pass crtc state to vlv_compute_wm_level() drm/i915: Protect DSPARB registers with a spinlock drm/i915: Prevent PPS stealing from a normal DP port on VLV/CHV drm/i915: Force VDD off on the new power seqeuencer before starting to use it drm/i915: Move the min_pixclk[] handling to the end of readout drm/i915: Initialize overlay->last_flip properly drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff drm/i915: Fix oops in overlay due to frontbuffer tracking drm/i915: Fix the overlay frontbuffer tracking drm/i915: Use pipe_src_w in overlay code drm/i915: Kill intel_panel_fitter_pipe() drm/i915: Simplify SWIDTHSW calculation drm/i915: Reorganize overlay filter coeffs into a nicer form drm/i915: Use primary plane->state for overlay ckey setup drm/i915: Disable L2 cache clock gating on 830 when using the overlay drm/i915: Kill the 830 MI_OVERLAY_OFF workaround Vincente Tsou (1): drm/915: Parsing the missed out DTD fields from the VBT Zhi Wang (1): drm/i915: Move the release of PT page to the upper caller Documentation/gpu/i915.rst | 91 + drivers/gpu/drm/i915/Kconfig.debug | 15 + drivers/gpu/drm/i915/Makefile | 9 +- drivers/gpu/drm/i915/gvt/aperture_gm.c | 7 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 5 +- drivers/gpu/drm/i915/gvt/handlers.c | 2 +- drivers/gpu/drm/i915/gvt/scheduler.c | 10 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 172 +- drivers/gpu/drm/i915/i915_debugfs.c | 1049 +---------- drivers/gpu/drm/i915/i915_drv.c | 143 +- drivers/gpu/drm/i915/i915_drv.h | 766 +++++--- drivers/gpu/drm/i915/i915_gem.c | 285 +-- drivers/gpu/drm/i915/i915_gem.h | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 208 +-- drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 +- drivers/gpu/drm/i915/i915_gem_evict.c | 131 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 10 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 12 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 145 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 12 +- drivers/gpu/drm/i915/i915_gem_internal.c | 4 +- drivers/gpu/drm/i915/i915_gem_request.c | 109 +- drivers/gpu/drm/i915/i915_gem_request.h | 30 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 75 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 2 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 113 +- drivers/gpu/drm/i915/i915_guc_reg.h | 4 +- drivers/gpu/drm/i915/i915_guc_submission.c | 352 ++-- drivers/gpu/drm/i915/i915_irq.c | 14 +- drivers/gpu/drm/i915/i915_oa_hsw.c | 752 ++++++++ drivers/gpu/drm/i915/i915_oa_hsw.h | 38 + drivers/gpu/drm/i915/i915_params.c | 6 +- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/i915_pci.c | 182 +- drivers/gpu/drm/i915/i915_perf.c | 2096 ++++++++++++++++++++++ drivers/gpu/drm/i915/i915_reg.h | 462 ++++- drivers/gpu/drm/i915/i915_suspend.c | 16 +- drivers/gpu/drm/i915/i915_sw_fence.c | 140 +- drivers/gpu/drm/i915/i915_sw_fence.h | 11 + drivers/gpu/drm/i915/i915_sysfs.c | 6 +- drivers/gpu/drm/i915/i915_trace.h | 34 +- drivers/gpu/drm/i915/i915_vma.c | 48 +- drivers/gpu/drm/i915/i915_vma.h | 18 +- drivers/gpu/drm/i915/intel_audio.c | 46 +- drivers/gpu/drm/i915/intel_bios.c | 20 +- drivers/gpu/drm/i915/intel_bios.h | 12 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 10 +- drivers/gpu/drm/i915/intel_crt.c | 7 +- drivers/gpu/drm/i915/intel_csr.c | 4 +- drivers/gpu/drm/i915/intel_ddi.c | 60 +- drivers/gpu/drm/i915/intel_device_info.c | 47 +- drivers/gpu/drm/i915/intel_display.c | 502 +++--- drivers/gpu/drm/i915/intel_dp.c | 359 ++-- drivers/gpu/drm/i915/intel_dp_mst.c | 28 +- drivers/gpu/drm/i915/intel_dpio_phy.c | 130 +- drivers/gpu/drm/i915/intel_dpll_mgr.c | 32 +- drivers/gpu/drm/i915/intel_drv.h | 96 +- drivers/gpu/drm/i915/intel_dsi.c | 46 +- drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 45 +- drivers/gpu/drm/i915/intel_dsi_pll.c | 18 +- drivers/gpu/drm/i915/intel_dvo.c | 9 +- drivers/gpu/drm/i915/intel_engine_cs.c | 28 +- drivers/gpu/drm/i915/intel_fbc.c | 2 +- drivers/gpu/drm/i915/intel_fbdev.c | 4 +- drivers/gpu/drm/i915/intel_guc_fwif.h | 55 +- drivers/gpu/drm/i915/intel_guc_loader.c | 43 +- drivers/gpu/drm/i915/intel_hangcheck.c | 256 +-- drivers/gpu/drm/i915/intel_hdmi.c | 184 +- drivers/gpu/drm/i915/intel_i2c.c | 22 +- drivers/gpu/drm/i915/intel_lrc.c | 202 +-- drivers/gpu/drm/i915/intel_lrc.h | 9 +- drivers/gpu/drm/i915/intel_lspcon.c | 94 +- drivers/gpu/drm/i915/intel_lvds.c | 8 +- drivers/gpu/drm/i915/intel_mocs.c | 7 +- drivers/gpu/drm/i915/intel_mocs.h | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 291 +-- drivers/gpu/drm/i915/intel_panel.c | 32 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 939 ++++++++++ drivers/gpu/drm/i915/intel_pm.c | 885 ++++----- drivers/gpu/drm/i915/intel_psr.c | 16 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 83 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 66 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 176 +- drivers/gpu/drm/i915/intel_sdvo.c | 21 +- drivers/gpu/drm/i915/intel_sprite.c | 117 +- drivers/gpu/drm/i915/intel_tv.c | 4 +- drivers/gpu/drm/i915/intel_uc.c | 140 ++ drivers/gpu/drm/i915/{intel_guc.h => intel_uc.h} | 32 +- drivers/gpu/drm/i915/intel_uncore.c | 14 +- drivers/gpu/drm/i915/intel_vbt_defs.h | 12 +- include/drm/i915_pciids.h | 4 + include/uapi/drm/i915_drm.h | 135 ++ 94 files changed, 9110 insertions(+), 3840 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h create mode 100644 drivers/gpu/drm/i915/i915_perf.c create mode 100644 drivers/gpu/drm/i915/intel_pipe_crc.c create mode 100644 drivers/gpu/drm/i915/intel_uc.c rename drivers/gpu/drm/i915/{intel_guc.h => intel_uc.h} (87%) -- 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