Hi Dave, I hoped this was going to be the last pull, but there's some pressure for another. I'll tag more this week, and we can see next week if you'd be willing to still take it. BR, Jani. drm-intel-next-2017-10-12: Last batch of drm/i915 features for v4.15: - transparent huge pages support (Matthew) - uapi: I915_PARAM_HAS_SCHEDULER into a capability bitmask (Chris) - execlists: preemption (Chris) - scheduler: user defined priorities (Chris) - execlists optimization (Michał) - plenty of display fixes (Imre) - has_ipc fix (Rodrigo) - platform features definition refactoring (Rodrigo) - legacy cursor update fix (Maarten) - fix vblank waits for cursor updates (Maarten) - reprogram dmc firmware on resume, dmc state fix (Imre) - remove use_mmio_flip module parameter (Maarten) - wa fixes (Oscar) - huc/guc firmware refacoring (Sagar, Michal) - push encoder specific code to encoder hooks (Jani) - DP MST fixes (Dhinakaran) - eDP power sequencing fixes (Manasi) - selftest updates (Chris, Matthew) - mmu notifier cpu hotplug deadlock fix (Daniel) - more VBT parser refactoring (Jani) - max pipe refactoring (Mika Kahola) - rc6/rps refactoring and separation (Sagar) - userptr lockdep fix (Chris) - tracepoint fixes and defunct tracepoint removal (Chris) - use rcu instead of abusing stop_machine (Daniel) - plenty of other fixes all around (Everyone) The following changes since commit e18063e88bd579c479a2b45820be6c4625f841c3: drm/i915: Update DRIVER_DATE to 20170929 (2017-09-29 13:50:38 +0300) are available in the git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2017-10-12 for you to fetch changes up to fa9caf0b6e69703ff8a4d4da17897008ec2f2dd3: drm/i915: Update DRIVER_DATE to 20171012 (2017-10-12 21:05:11 +0300) ---------------------------------------------------------------- Last batch of drm/i915 features for v4.15: - transparent huge pages support (Matthew) - uapi: I915_PARAM_HAS_SCHEDULER into a capability bitmask (Chris) - execlists: preemption (Chris) - scheduler: user defined priorities (Chris) - execlists optimization (Michał) - plenty of display fixes (Imre) - has_ipc fix (Rodrigo) - platform features definition refactoring (Rodrigo) - legacy cursor update fix (Maarten) - fix vblank waits for cursor updates (Maarten) - reprogram dmc firmware on resume, dmc state fix (Imre) - remove use_mmio_flip module parameter (Maarten) - wa fixes (Oscar) - huc/guc firmware refacoring (Sagar, Michal) - push encoder specific code to encoder hooks (Jani) - DP MST fixes (Dhinakaran) - eDP power sequencing fixes (Manasi) - selftest updates (Chris, Matthew) - mmu notifier cpu hotplug deadlock fix (Daniel) - more VBT parser refactoring (Jani) - max pipe refactoring (Mika Kahola) - rc6/rps refactoring and separation (Sagar) - userptr lockdep fix (Chris) - tracepoint fixes and defunct tracepoint removal (Chris) - use rcu instead of abusing stop_machine (Daniel) - plenty of other fixes all around (Everyone) ---------------------------------------------------------------- Arnd Bergmann (2): drm/i915/selftests: fix check for intel IOMMU drm/i915: avoid potential uninitialized variable use Chris Wilson (34): drm/i915/selftests: Replace wmb() with i915_gem_chipset_flush() drm/i915/execlists: Move request unwinding to a separate function drm/i915: Give the invalid priority a magic name drm/i915: Move MMCD_MISC_CTRL from context w/a to standard drm/i915: Remove WA_(SET|CLR)_BIT drm/i915: Fix some tracepoints to capture full 64b drm/i915: Remove defunct trace points drm/i915/execlists: Distinguish the incomplete context notifies drm/i915: Introduce a preempt context drm/i915/execlists: Move bdw GPGPU w/a to emit_bb drm/i915/execlists: Keep request->priority for its lifetime drm/i915: Expand I915_PARAM_HAS_SCHEDULER into a capability bitmask drm/i915/execlists: Preemption! drm/i915/scheduler: Support user-defined priorities drm/i915/selftests: Remember to create the fake preempt context drm/i915: Try harder to finish the idle-worker drm/i915: Silence compiler warning for hsw_power_well_enable() drm/i915: Order two completing nop_submit_request drm/i915/execlists: Add a comment for the extra MI_ARB_ENABLE drm/i915: Assert we do not try to expand VMA for hugepage inside GGTT drm/i915: Make i915_engine_info pretty printer to standalone drm/i915/selftests: Pretty print engine state when requests fail to start drm/i915: Hold forcewake for the duration of reset+restart drm/i915/selftests: Hold the rpm wakeref for the reset tests drm/i915: Provide an assert for when we expect forcewake to be held drm/i915: Pin fence for iomap drm/i915: Consolidate get_fence with pin_fence drm/i915: Track user GTT faulting per-vma drm/i915: Check PIN_NONFAULT overlaps in evict_for_node drm/i915: Try a minimal attempt to insert the whole object for relocations drm/i915: Avoid evicting user fault mappable vma for pread/pwrite drm/i915: Early rejection of mappable GGTT pin attempts for large bo drm/i915: Silently fallback to 4k scratch drm/i915/userptr: Drop struct_mutex before cleanup Daniel Vetter (3): drm/i915: Preallocate our mmu notifier workequeu to unbreak cpu hotplug deadlock drm/i915: Increase atomic update vblank evasion time with lockdep drm/i915: Use rcu instead of stop_machine in set_wedged David Weinehall (1): drm/i915: Add has_psr-flag to gen9lp Dhinakaran Pandiyan (1): drm/i915/mst: Use MST sideband message transactions for dpms control Imre Deak (6): drm/i915/gen9+: Set same power state before hibernation image save/restore drm/i915/gen8+: Init/reset display interrupts only if i915 IRQs are enabled drm/i915/glk, cnl: Implement WaDisableScalarClockGating drm/i915: Fix DDI PHY init if it was already on drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume drm/i915/glk: Fix DMC/DC state idleness calculation Jani Nikula (16): drm/i915: push DDI CRT underrun reporting on enable to encoder drm/i915: push DDI CRT underrun reporting on disable to encoder drm/i915: push DDI and DSI underrun reporting on enable to encoder drm/i915: push DDI FDI link training on enable to CRT encoder drm/i915/crt: clean up encoder hook assignment drm/i915/bios: parse DDI ports also for CHV for HDMI DDC pin and DP AUX channel drm/i915/bios: refactor parse general definitions drm/i915/bios: don't initialize fields based on vbt version drm/i915/bios: remove an unnecessary temp variable drm/i915/bios: cleanup comments and useless return drm/i915/bios: merge parse_device_mapping() into parse_general_definitions() drm/i915/bios: parse SDVO device mapping from pre-parsed child devices drm/i915/bios: don't pass bdb to parsers that don't parse VBT directly drm/i915/dp: centralize max source rate conditions more drm/i915/dp: limit sink rates based on rate drm/i915: Update DRIVER_DATE to 20171012 Jeff McGee (1): drm/i915/preempt: Fix WaEnablePreemptionGranularityControlByUMD Joonas Lahtinen (3): drm/i915: Don't use BIT() in UAPI section drm/i915: Unify uC variable types to avoid flooding checkpatch.pl drm/i915: Simplify intel_sanitize_enable_ppgtt Maarten Lankhorst (4): drm/i915: Unset legacy_cursor_update early in intel_atomic_commit, v3. drm/i915: Skip vblank waits for cursor updates when watermarks dont need updating drm/i915: Remove use_mmio_flip modparm, v2. drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check Manasi Navare (2): drm/i915/edp: Get the Panel Power Off timestamp after panel is off drm/i915/edp: Increase the T12 delay quirk to 1300ms Matthew Auld (23): mm/shmem: introduce shmem_file_setup_with_mnt drm/i915: introduce simple gemfs drm/i915/gemfs: enable THP drm/i915: introduce page_sizes field to dev_info drm/i915: push set_pages down to the callers drm/i915: introduce page_size members drm/i915: introduce vm set_pages/clear_pages drm/i915: align the vma start to the largest gtt page size drm/i915: align 64K objects to 2M drm/i915: enable IPS bit for 64K pages drm/i915: disable GTT cache for 2M pages drm/i915: support 2M pages for the 48b PPGTT drm/i915: add support for 64K scratch page drm/i915: support 64K pages for the 48b PPGTT drm/i915: accurate page size tracking for the ppgtt drm/i915/debugfs: include some gtt page size metrics drm/i915/selftests: huge page tests drm/i915/selftests: mix huge pages drm/i915: disable platform support for vGPU huge gtt pages drm/i915: enable platform support for 64K pages drm/i915: enable platform support for 2M pages drm/i915: s/sg_mask/sg_page_sizes/ drm/i915/selftests: ditch the kernel context Michal Wajdeczko (12): drm/i915: Make intel_uncore.h header self-contained drm/i915/uc: Drop unnecessary forward declaration drm/i915/uc: Move uC fw helper code into dedicated files drm/i915/huc: Move HuC declarations into dedicated header drm/i915/guc: Move Guc early init into own function drm/i915/guc: Move GuC log declarations into dedicated header drm/i915/guc: Move GuC submission declarations into dedicated header drm/i915/guc: Move GuC core definitions into dedicated files drm/i915/uc: Fix includes order drm/i915/uc: Unify initialization of the uC firmware helper drm/i915/huc: Fix includes in intel_huc.c drm/i915: Fix pointer-to-int conversion Michał Winiarski (2): drm/i915/execlists: Cache the last priolist lookup drm/i915/preempt: Default to disabled mid-command preemption levels Mika Kahola (5): drm/i915: Don't relay on I915_MAX_PIPES drm/i915: Remove I915_MAX_PIPES dependency for DDB allocation drm/i915: Fold IRQ pipe masks drm/i915: Favor for_each_pipe() macro drm/i915: Cleanup South Error Interrupts Mika Kuoppala (1): drm/i915: Use execlists_num_ports instead of size of array Oscar Mateo (2): drm/i915: Transform whitelisting WAs into a simple reg write drm/i915/cnl: Do not add an extra page for precaution in the Gen10 LRC size Paulo Zanoni (2): drm/i915: add the BXT and CNL DPLL registers to pipe_config_compare drm/i915: avoid division by zero on cnl_calc_wrpll_link Rodrigo Vivi (3): drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC. drm/i915: Organize GEN features inheritance. drm/i915: Organize GLK_COLORS. Sagar Arun Kamble (14): drm/i915: Move i915_gem_restore_fences to i915_gem_resume drm/i915/uc: Create intel_uc_init_mmio drm/i915: Separate RPS and RC6 handling for gen6+ drm/i915: Remove superfluous IS_BDW checks and non-BDW changes from gen8_enable_rps drm/i915: Separate RPS and RC6 handling for BDW drm/i915: Separate RPS and RC6 handling for VLV drm/i915: Separate RPS and RC6 handling for CHV drm/i915: Name i915_runtime_pm structure in dev_priv as "runtime_pm" drm/i915: Move rps.hw_lock to dev_priv and s/hw_lock/pcu_lock drm/i915: Name structure in dev_priv that contains RPS/RC6 state as "gt_pm" drm/i915: Rename intel_enable_rc6 to intel_rc6_enabled drm/i915: Create generic function to setup LLC ring frequency table drm/i915: Create generic functions to control RC6, RPS drm/i915: Introduce separate status variable for RC6 and LLC ring frequency setup Ville Syrjälä (8): drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get() drm/i915: Use intel_get_pipe_timings() and intel_mode_from_pipe_config() in intel_crtc_mode_get() drm/i915: Use enum pipe for PCH transcoders drm/i915: Parametrize CBR_DPLLBMD_PIPE defines drm/i915: Pass crtc state to i9xx_enable_pll() drm/i915: Nuke the bogus kernel doc for i9xx_disable_pll() drm/i915: Reuse normal state readout for LVDS/DVO fixed mode drm/i915: Allow PCH platforms fall back to BIOS LVDS mode drivers/gpu/drm/i915/Makefile | 3 + drivers/gpu/drm/i915/gvt/scheduler.c | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 379 ++--- drivers/gpu/drm/i915/i915_drv.c | 48 +- drivers/gpu/drm/i915/i915_drv.h | 83 +- drivers/gpu/drm/i915/i915_gem.c | 375 +++-- drivers/gpu/drm/i915/i915_gem_context.c | 99 +- drivers/gpu/drm/i915/i915_gem_dmabuf.c | 18 +- drivers/gpu/drm/i915/i915_gem_evict.c | 7 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 40 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 285 +++- drivers/gpu/drm/i915/i915_gem_gtt.h | 20 +- drivers/gpu/drm/i915/i915_gem_internal.c | 18 +- drivers/gpu/drm/i915/i915_gem_object.h | 32 +- drivers/gpu/drm/i915/i915_gem_request.c | 20 +- drivers/gpu/drm/i915/i915_gem_request.h | 13 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 16 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 53 +- drivers/gpu/drm/i915/i915_gemfs.c | 74 + drivers/gpu/drm/i915/i915_gemfs.h | 34 + drivers/gpu/drm/i915/i915_gpu_error.c | 14 +- drivers/gpu/drm/i915/i915_guc_submission.c | 123 +- drivers/gpu/drm/i915/i915_guc_submission.h | 80 + drivers/gpu/drm/i915/i915_irq.c | 138 +- drivers/gpu/drm/i915/i915_params.c | 3 - drivers/gpu/drm/i915/i915_params.h | 1 - drivers/gpu/drm/i915/i915_pci.c | 77 +- drivers/gpu/drm/i915/i915_reg.h | 25 +- drivers/gpu/drm/i915/i915_suspend.c | 2 - drivers/gpu/drm/i915/i915_sysfs.c | 76 +- drivers/gpu/drm/i915/i915_trace.h | 116 +- drivers/gpu/drm/i915/i915_utils.h | 18 + drivers/gpu/drm/i915/i915_vma.c | 121 +- drivers/gpu/drm/i915/i915_vma.h | 49 +- drivers/gpu/drm/i915/intel_audio.c | 2 +- drivers/gpu/drm/i915/intel_bios.c | 130 +- drivers/gpu/drm/i915/intel_cdclk.c | 40 +- drivers/gpu/drm/i915/intel_color.c | 16 +- drivers/gpu/drm/i915/intel_crt.c | 86 +- drivers/gpu/drm/i915/intel_csr.c | 2 +- drivers/gpu/drm/i915/intel_ddi.c | 44 +- drivers/gpu/drm/i915/intel_display.c | 211 +-- drivers/gpu/drm/i915/intel_dp.c | 49 +- drivers/gpu/drm/i915/intel_dp_mst.c | 10 +- drivers/gpu/drm/i915/intel_dpio_phy.c | 20 - drivers/gpu/drm/i915/intel_drv.h | 22 +- drivers/gpu/drm/i915/intel_dsi.c | 7 +- drivers/gpu/drm/i915/intel_dvo.c | 33 +- drivers/gpu/drm/i915/intel_engine_cs.c | 240 ++- drivers/gpu/drm/i915/intel_guc.c | 265 +++ drivers/gpu/drm/i915/intel_guc.h | 110 ++ drivers/gpu/drm/i915/intel_guc_fwif.h | 48 +- drivers/gpu/drm/i915/intel_guc_loader.c | 5 +- drivers/gpu/drm/i915/intel_guc_log.c | 6 +- drivers/gpu/drm/i915/intel_guc_log.h | 59 + drivers/gpu/drm/i915/intel_huc.c | 11 +- drivers/gpu/drm/i915/intel_huc.h | 41 + drivers/gpu/drm/i915/intel_lrc.c | 282 +++- drivers/gpu/drm/i915/intel_lrc.h | 1 + drivers/gpu/drm/i915/intel_lvds.c | 23 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 15 +- drivers/gpu/drm/i915/intel_pm.c | 695 ++++---- drivers/gpu/drm/i915/intel_ringbuffer.c | 11 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 9 + drivers/gpu/drm/i915/intel_runtime_pm.c | 31 +- drivers/gpu/drm/i915/intel_sideband.c | 6 +- drivers/gpu/drm/i915/intel_sprite.c | 6 + drivers/gpu/drm/i915/intel_uc.c | 313 +--- drivers/gpu/drm/i915/intel_uc.h | 228 +-- drivers/gpu/drm/i915/intel_uc_fw.c | 193 +++ drivers/gpu/drm/i915/intel_uc_fw.h | 107 ++ drivers/gpu/drm/i915/intel_uncore.c | 18 +- drivers/gpu/drm/i915/intel_uncore.h | 8 + drivers/gpu/drm/i915/selftests/huge_gem_object.c | 14 +- drivers/gpu/drm/i915/selftests/huge_pages.c | 1734 ++++++++++++++++++++ drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 15 +- drivers/gpu/drm/i915/selftests/i915_gem_object.c | 8 - drivers/gpu/drm/i915/selftests/i915_gem_request.c | 12 +- .../gpu/drm/i915/selftests/i915_live_selftests.h | 1 + .../gpu/drm/i915/selftests/i915_mock_selftests.h | 1 + drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 26 +- drivers/gpu/drm/i915/selftests/mock_gem_device.c | 17 +- drivers/gpu/drm/i915/selftests/mock_gtt.c | 11 +- drivers/gpu/drm/i915/selftests/scatterlist.c | 15 + include/linux/shmem_fs.h | 2 + include/uapi/drm/i915_drm.h | 18 +- mm/shmem.c | 30 +- 88 files changed, 5560 insertions(+), 2222 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gemfs.c create mode 100644 drivers/gpu/drm/i915/i915_gemfs.h create mode 100644 drivers/gpu/drm/i915/i915_guc_submission.h create mode 100644 drivers/gpu/drm/i915/intel_guc.c create mode 100644 drivers/gpu/drm/i915/intel_guc.h create mode 100644 drivers/gpu/drm/i915/intel_guc_log.h create mode 100644 drivers/gpu/drm/i915/intel_huc.h create mode 100644 drivers/gpu/drm/i915/intel_uc_fw.c create mode 100644 drivers/gpu/drm/i915/intel_uc_fw.h create mode 100644 drivers/gpu/drm/i915/selftests/huge_pages.c -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel