Hi Dave, drm-intel-next-2016-09-19: - refactor the sseu code (Imre) - refine guc dmesg output (Dave Gordon) - more vgpu work - more skl wm fixes (Lyude) - refactor dpll code in prep for upfront link training (Jim Bride et al) - consolidate all platform feature checks into intel_device_info (Carlos Santa) - refactor elsp/execlist submission as prep for re-submission after hang recovery and eventually scheduling (Chris Wilson) - allow synchronous gpu reset handling, to remove tricky/impossible/fragile error recovery code (Chris Wilson) - prep work for nonblocking (execlist) submission, using fences to track depencies and drive elsp submission (Chris Wilson) - partial error recover/resubmission of non-guilty batches after hangs (Chris Wilson) - full dma-buf implicit fencing support (Chris Wilson) - dp link training fixes (Jim, Dhinkaran, Navare, ...) - obey dp branch device pixel rate/bpc/clock limits (Mika Kahola), needed for many vga dongles - bunch of small cleanups and polish all over, as usual drm-intel-next-2016-09-02: - skl wm fixes (Lyude, Matt, Maarten) - cleanup of kdev/drm_dev/i915_dev handling (David Weinehall) - make (most) encoders take advantage of atomic states (Maarten) - MMAP_GTT_VERSION driver param to announce that gtt mmaps are reliable (Chris) - allow contexts on all rings (Chris) - a few fixes (around diagnostic messages) to make BAT less noisy - misc fixes and cleanups all over, as usual Since you're on vacation I figured I'll just combine the pull from before my vacations, and the final 4.9 feature pile I just assembled. With this 4.9 is now for Jani. Tomeu just pinged me about the crc drm patches, and David made some noises about cleanup patches he has pending, so I guess there'll be a few stragglers for 4.9 for -misc still. But if Linus tags final 4.8 (against excpectations) this w/e already I'll postpone them I think. Cheers, Daniel The following changes since commit d5d0804f8f6d0c89913f6a2de5348adef8ec33e4: drm/i915: Update DRIVER_DATE to 20160822 (2016-08-22 08:35:48 +0200) are available in the git repository at: git://anongit.freedesktop.org/drm-intel tags/drm-intel-next-2016-09-19 for you to fetch changes up to 6e05f3d3b9298a56d6f1acb474a75cf14a17c31e: drm/i915: Update DRIVER_DATE to 20160919 (2016-09-19 09:26:08 +0200) ---------------------------------------------------------------- - refactor the sseu code (Imre) - refine guc dmesg output (Dave Gordon) - more vgpu work - more skl wm fixes (Lyude) - refactor dpll code in prep for upfront link training (Jim Bride et al) - consolidate all platform feature checks into intel_device_info (Carlos Santa) - refactor elsp/execlist submission as prep for re-submission after hang recovery and eventually scheduling (Chris Wilson) - allow synchronous gpu reset handling, to remove tricky/impossible/fragile error recovery code (Chris Wilson) - prep work for nonblocking (execlist) submission, using fences to track depencies and drive elsp submission (Chris Wilson) - partial error recover/resubmission of non-guilty batches after hangs (Chris Wilson) - full dma-buf implicit fencing support (Chris Wilson) - dp link training fixes (Jim, Dhinkaran, Navare, ...) - obey dp branch device pixel rate/bpc/clock limits (Mika Kahola), needed for many vga dongles - bunch of small cleanups and polish all over, as usual ---------------------------------------------------------------- Ander Conselvan de Oliveira (2): drm/i915: Don't pass crtc_state to intel_dp_set_link_params() drm/i915: Remove ddi_pll_sel from intel_crtc_state Carlos Santa (22): drm/i915: Move HAS_PSR definition to platform struct definition drm/i915: Remove .is_mobile field from platform struct drm/i915: Introduce GEN6_FEATURES for device info drm/i915: Move HAS_RUNTIME_PM definition to platform drm/i915: Remove runtime PM for SNB drm/i915: Get rid of HAS_CORE_RING_FREQ drm/i915 Move HAS_CSR definition to platform definition drm/i915: Move HAS_RESOURCE_STREAMER definition to platform definition drm/i915: Move HAS_RC6 definition to platform definition drm/i915: Move HAS_RC6p definition to platform definition drm/i915: Move HAS_DP_MST definition to platform definition drm/i915: Introduce GEN5_FEATURES for device info drm/i915: Move HAS_GMBUS_IRQ definition to platform definition drm/i915: Introduce GEN4_FEATURES for device info drm/i915: Introduce GEN3_FEATURES for device info drm/i915: Introduce GEN2_FEATURES for device info drm/i915: Move HAS_HW_CONTEXTS definition to platform drm/i915: Move HAS_LOGICAL_RING_CONTEXTS definition to platform drm/i915: Move HAS_L3_DPF definition to platform definition drm/i915: Move HAS_GMCH_DISPLAY definition to platform drm/i915: Make HWS_NEEDS_PHYSICAL the exception drm/i915: Move HAS_GUC definition to platform definition Chris Wilson (46): drm/i915: Restore debugfs/i915_gem_gtt back to its former glory drm/i915: Stop marking the unaccessible scratch page as UC drm/i915: Embed the scratch page struct into each VM drm/i915: Allow DMA pagetables to use highmem drm/i915: Ignore stuck requests when considering hangs drm/i915: Fix nesting of filelist_mutex vs struct_mutex in i915_ppgtt_info drm/i915: Take forcewake once for the entire GMBUS transaction io-mapping.h: s/PAGE_KERNEL_IO/PAGE_KERNEL/ drm/i915/dvo: Remove dangling call to drm_encoder_cleanup() Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen" drm/i915: Suppress DRM_ERROR for D_COMP write on Haswell drm/i915: Force RC6 restore after system resume and reset drm/i915: Restore lost "Initialized i915" welcome message drm/i915: Add I915_PARAM_MMAP_GTT_VERSION to advertise unlimited mmaps drm/i915: Add GEN7_PCODE_MIN_FREQ_TABLE_GT_RATIO_OUT_OF_RANGE to SNB drm/i915: Allow the user to pass a context to any ring drm/i915: Tidy reporting busy status during i915_gem_retire_requests() drm/i915: Make for_each_engine_masked() more compact and quicker drm/i915: Drop mutex around clearing error state drm/i915: debugfs/i915_gem_seqno_info does not need rpm nor struct_mutex drm/i915: debugfs/i915_gem_interrupt_info does not need struct_mutex drm/i915: Don't wait for a spinlock inside error capture drm/i915: Remove 64b mmio write vfuncs drm/i915: Add a sw fence for collecting up dma fences drm/i915: Only queue requests during execlists submission drm/i915: Record the position of the workarounds in the tail of the request drm/i915: Compute the ELSP register location once drm/i915: Reorder submitting the requests to ELSP drm/i915: Simplify ELSP queue request tracking drm/i915: Separate out reset flags from the reset counter drm/i915: Drop local struct_mutex around intel_init_emon[ilk] drm/i915: Expand bool interruptible to pass flags to i915_wait_request() drm/i915: Mark up all locked waiters drm/i915: Perform a direct reset of the GPU from the waiter drm/i915: Replace wait-on-mutex with wait-on-bit in reset worker drm/i915: Update reset path to fix incomplete requests drm/i915: Drive request submission through fence callbacks drm/i915: Reorder i915_add_request to separate the phases better drm/i915: Prepare object synchronisation for asynchronicity drm/i915/guc: Prepare for nonblocking execbuf submission drm/i915: Ignore valid but unknown semaphores drm/i915: Avoid incrementing hangcheck whilst waiting for external fence drm/i915: Nonblocking request submission drm/i915: Serialise execbuf operation after a dma-buf reservation object drm/i915: Shrink objects prior to hibernation drm/i915: Flush to GTT domain all GGTT bound objects after hibernation Daniel Vetter (4): drm/i915: Ensure consistent control flow __i915_gem_active_get_rcu io-mapping: Fixup for different names of writecombine drm/i915: Update DRIVER_DATE to 20160902 drm/i915: Update DRIVER_DATE to 20160919 Dave Gordon (7): drm: extra printk() wrapper macros drm/i915/guc: downgrade some DRM_ERROR() messages to DRM_WARN() drm/i915/guc: revisit GuC loader message levels drm/i915: Only expand COND once in wait_for() drm/i915: clarify PMINTRMSK/pm_intr_keep usage drm/i915/guc: general tidying up (loader) drm/i915/guc: general tidying up (submission) David Weinehall (8): drm/i915: cosmetic fixes to i915_drv.h drm/i915: consistent struct device naming drm/i915: i915_sysfs.c cleanup drm/i915: pdev cleanup drm/i915: debugfs spring cleaning drm/i915/debugfs: Add panel delays for eDP drm/i915: Cleanup i915_param() Revert "drm/i915: Check live status before reading edid" Deepak M (1): drm/i915: Add ddb size field to device info structure Dhinakaran Pandiyan (2): drm/i915/dp: Move max. vswing check to it's own function drm/dp/i915: Make clock recovery in the link training compliant with DP Spec 1.2 Durgadoss R (1): drm/i915: Split bxt_ddi_pll_select() Imre Deak (7): drm/i915: sseu: Move sseu_dev_status to i915_drv.h drm/i915: sseu: Use sseu_dev_info in device info drm/i915: sseu: Simplify debugfs status/info printing drm/i915: sseu: Convert slice count field to mask drm/i915: sseu: Convert subslice count fields to subslice mask drm/i915: sseu: Add debug printf for slice/subslice masks drm/i915/bdw: sseu: Fix sseu status parsing Jani Nikula (5): drm/i915: remove leftover for_each_intel_crtc_masked drm/i915/backlight: handle enabled but zero duty cycle at module load drm/i915: make intel_dp_compute_bpp static drm/i915: do not use 'false' as a NULL pointer drm/i915: use NULL for NULL pointers Jim Bride (2): drm/i915: Split skl_get_dpll() drm/i915/dp: Add a standalone function to obtain shared dpll for HSW/BDW/SKL/BXT Joonas Lahtinen (1): drm/i915: Use atomic for dev_priv->mm.bsd_engine_dispatch_index Lyude (7): drm/i915/gen6+: Interpret mailbox error flags drm/i915/skl: Add support for the SAGV, fix underrun hangs drm/i915/skl: Ensure pipes with changed wms get added to the state drm/i915/skl: Update plane watermarks atomically during plane updates drm/i915: Move CRTC updating in atomic_commit into it's own hook drm/i915/skl: Update DDB values atomically with wms/plane attrs drm/i915/skl: Don't try to update plane watermarks if they haven't changed Maarten Lankhorst (21): drm/i915: Fix botched merge that downgrades CSR versions. drm/i915: handle DP_MST correctly in bxt_get_dpll drm/i915: Pass atomic state to crtc enable/disable functions drm/i915: Remove unused mode_set hook from encoder drm/i915: Walk over encoders in crtc enable/disable using atomic state. drm/i915: Pass crtc_state and connector_state to encoder functions drm/i915: Make encoder->compute_config take the connector state drm/i915: Remove unused loop from intel_dp_mst_compute_config drm/i915: Convert intel_crt to use atomic state drm/i915: Convert intel_dvo to use atomic state drm/i915: Convert intel_dsi to use atomic state drm/i915: Convert intel_sdvo to use atomic state drm/i915: Convert intel_lvds to use atomic state drm/i915: Convert intel_dp_mst to use atomic state drm/i915: Convert intel_dp to use atomic state drm/i915: Use more atomic state in intel_color.c drm/i915: Create a intel_encoder_find_connector helper function. drm/i915: Cleanup crt disable sequence on hsw+ drm/i915: Add missing parameter to intel_dp_set_drrs_state documentation. drm/i915: Fix intel_display_crc_init for !DEBUGFS drm/i915: Fix other intel_dp warnings too. Manasi Navare (2): drm/i915: Split intel_ddi_pre_enable() into DP and HDMI versions drm/i915: Split hsw_get_dpll() Matt Roper (1): drm/i915/gen9: Only copy WM results for changed pipes to skl_hw Matthew Auld (2): drm/i915: free intel_fb drm/i915: remove writeq ifdeffery Mika Kahola (12): drm: Add missing DP downstream port types drm: Drop VGA from bpc definitions drm: Helper to read max clock rate drm: Helper to read max bits per component drm: Read DP branch device id drm/i915: Cleanup DisplayPort AUX channel initialization drm/i915: Read DP branch device HW revision drm/i915: Read DP branch device SW revision drm/i915: Check pixel rate for DP to VGA dongle drm/i915: Update bits per component for display info drm: Add DP branch device info on debugfs drm: Fix DisplayPort branch device ID kernel-doc Navare, Manasi D (2): drm/i915: Make DP link training channel equalization DP 1.2 Spec compliant drm/i915: Add support for Kabylake to function obtaining shared PLL Pandiyan, Dhinakaran (3): drm/i915/dp: Add debug messages to print DP link training pattern drm/i915/dp: Dump DP link status when link training stages fail drm/i915: Eliminate redundant local variable definition Paulo Zanoni (1): drm/i915: Call intel_fbc_pre_update() after pinning the new pageflip Ping Gao (1): drm/i915: enable vGPU detection for all Rodrigo Vivi (1): Revert "drm/i915/psr: Make idle_frames sensible again" Ville Syrjälä (1): drm/i915: Ignore OpRegion panel type except on select machines Zhi Wang (1): drm/i915: disable 48bit full PPGTT when vGPU is active arch/x86/kernel/early-quirks.c | 9 +- drivers/gpu/drm/drm_dp_helper.c | 173 +++++ drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_cmd_parser.c | 2 +- drivers/gpu/drm/i915/i915_debugfs.c | 1015 ++++++++++++------------- drivers/gpu/drm/i915/i915_drv.c | 300 ++++---- drivers/gpu/drm/i915/i915_drv.h | 227 +++--- drivers/gpu/drm/i915/i915_gem.c | 321 ++++---- drivers/gpu/drm/i915/i915_gem_context.c | 16 - drivers/gpu/drm/i915/i915_gem_evict.c | 8 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 29 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 141 ++-- drivers/gpu/drm/i915/i915_gem_gtt.h | 6 +- drivers/gpu/drm/i915/i915_gem_request.c | 229 +++++- drivers/gpu/drm/i915/i915_gem_request.h | 76 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 4 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 19 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 36 +- drivers/gpu/drm/i915/i915_guc_reg.h | 3 - drivers/gpu/drm/i915/i915_guc_submission.c | 126 +-- drivers/gpu/drm/i915/i915_irq.c | 126 ++- drivers/gpu/drm/i915/i915_pci.c | 290 +++---- drivers/gpu/drm/i915/i915_reg.h | 15 +- drivers/gpu/drm/i915/i915_suspend.c | 6 +- drivers/gpu/drm/i915/i915_sw_fence.c | 362 +++++++++ drivers/gpu/drm/i915/i915_sw_fence.h | 65 ++ drivers/gpu/drm/i915/i915_sysfs.c | 171 ++--- drivers/gpu/drm/i915/i915_vgpu.c | 3 - drivers/gpu/drm/i915/intel_audio.c | 57 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 3 + drivers/gpu/drm/i915/intel_color.c | 24 +- drivers/gpu/drm/i915/intel_crt.c | 48 +- drivers/gpu/drm/i915/intel_csr.c | 8 +- drivers/gpu/drm/i915/intel_ddi.c | 276 ++++--- drivers/gpu/drm/i915/intel_device_info.c | 140 ++-- drivers/gpu/drm/i915/intel_display.c | 617 ++++++++++----- drivers/gpu/drm/i915/intel_dp.c | 294 ++++--- drivers/gpu/drm/i915/intel_dp_link_training.c | 139 ++-- drivers/gpu/drm/i915/intel_dp_mst.c | 97 +-- drivers/gpu/drm/i915/intel_dpll_mgr.c | 458 ++++++----- drivers/gpu/drm/i915/intel_dpll_mgr.h | 15 + drivers/gpu/drm/i915/intel_drv.h | 96 ++- drivers/gpu/drm/i915/intel_dsi.c | 40 +- drivers/gpu/drm/i915/intel_dvo.c | 28 +- drivers/gpu/drm/i915/intel_engine_cs.c | 15 +- drivers/gpu/drm/i915/intel_fbc.c | 6 +- drivers/gpu/drm/i915/intel_fbdev.c | 3 +- drivers/gpu/drm/i915/intel_guc.h | 4 +- drivers/gpu/drm/i915/intel_guc_loader.c | 91 ++- drivers/gpu/drm/i915/intel_hdmi.c | 118 +-- drivers/gpu/drm/i915/intel_i2c.c | 134 ++-- drivers/gpu/drm/i915/intel_lrc.c | 540 ++++++------- drivers/gpu/drm/i915/intel_lrc.h | 5 +- drivers/gpu/drm/i915/intel_lvds.c | 52 +- drivers/gpu/drm/i915/intel_opregion.c | 27 + drivers/gpu/drm/i915/intel_panel.c | 40 +- drivers/gpu/drm/i915/intel_pm.c | 491 +++++++----- drivers/gpu/drm/i915/intel_psr.c | 14 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 78 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 26 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 57 +- drivers/gpu/drm/i915/intel_sdvo.c | 56 +- drivers/gpu/drm/i915/intel_sprite.c | 14 + drivers/gpu/drm/i915/intel_tv.c | 15 +- drivers/gpu/drm/i915/intel_uncore.c | 18 +- include/drm/drmP.h | 26 +- include/drm/drm_dp_helper.h | 22 +- include/drm/i915_pciids.h | 38 +- include/linux/io-mapping.h | 10 +- include/uapi/drm/i915_drm.h | 1 + 71 files changed, 4817 insertions(+), 3205 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_sw_fence.c create mode 100644 drivers/gpu/drm/i915/i915_sw_fence.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