[PULL] drm-intel-next

Jani Nikula
2017-10-19T14:16:55Z

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@lists.freedesktop.org