mbox series

[PULL] drm-intel-next

Message ID 20190328151515.GA9606@jlahtine-desk.ger.corp.intel.com (mailing list archive)
State New, archived
Headers show
Series [PULL] drm-intel-next | expand

Pull-request

git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2019-03-28

Message

Joonas Lahtinen March 28, 2019, 3:15 p.m. UTC
Hi Dave & Daniel,

Here's a pull request with a further drop of features. Sending this instead of
the build warning fix to avoid diverging the trees. To avoid such build warnings
in futore, I'll talk about doing a non-debug build of the PR tags. The build
warning only occurred when selftests were disabled, so I missed it.

This adds Elkhartlake support code and PCI IDs (still under alpha_support flag).
Adds DP MST properties and removes 8bpc restriction on DP MST. HDR format fixes
from Maarten. Fixes Bugzilla #109780 by using first EDID mode when preferred is
missing.

There is also slight uAPI optimization, to remove an implicit SET_DOMAIN on mmap
fault. No userspace known was depending on that one, and it gets us asynchronous
mmap, which is desireable in the ongoing war against too many synchronous locks.

Then there is a fix to add back missing writeback of BO size on creation that has
been gone from 2011 after a mysterious DRM maintainer's patch. And we added an
IGT to avoid it from happening again :)

Best Regards, Joonas

drm-intel-next-2019-03-28:

UAPI Changes:
- Make mmap code more asynchronous. Avoid full SET_DOMAIN on GTT mmap pagefault,
  and flushes pages on acquisition instead. Moves some of the work from mmap fault
  time to execbuf time to avoid lock contention during mmap access.

  Has neutral to positive impact on perf as the flushing moves to execbuf time
  in real world workloads on the current known userspaces due to recycling of BOs.

  If there exist an unknown non-recycling userspace, they should explicitly do the
  SET_DOMAIN and not rely on kernel doing implicit SET_DOMAIN because swapout/in
  might have happenedt.

- Restore the accidentally removed behaviour of returning object size on GEM_CREATE
  From 2011: ff72145badb8 ("drm: dumb scanout create/mmap for intel/radeon (v3)")

- Includes a some neutered patches to prepare to complete the earlier Mesa
  recovery feature uAPI. Looking to enable this in the next PR.

Driver Changes:

- Add Elkhartlake (Gen11) support code and PCI IDs
- Add missing Amberlake PCI ID 0x87CA (Ville)
- Fix to Bugzilla #109780: Pick the first mode from EDID as the fixed mode when there is no preferred mode (Ville)
- Fix GCC 4.8 build by using __is_constexpr() (Chris, Randy, Uma)
- Add "Broadcast RGB", "force_audio" and "max_bpc" properties to DP MST (Ville)
- Remove 8bpc limitation from DP MST (Ville)
- Fix changing between limited and full range RGB output in DP fastsets (Ville)
- Reject unsupported HDR formats (Maarten)
- Handle YUV subpixel support better (Maarten)

- Various plane watermarks fixes and cleaning of the code (Ville)
- Icelake port sync master select fix (Manasi)
- Icelake VEBOX disable bitmask fix (Jose)
- Close a race where userspace could see incompletely initialized GEM context (Chris)
- Avoid C3 on i945gm to keep vblank interrupts steady (Ville)
- Avoid recalculating PLL HW readout each time (Lucas)
- A ton of patches to modularize uncore code (Daniel)

- Instead of storing media fuse value, immediately derive engine masks (Daniele)
- Reduce struct_mutex usage (Chris)
- Iterate over child devices to initialize ddi_port_info (Jani)
- Fixes to return correct error values when bailing out of functions (Dan)
- Use bitmap_zalloc() (Andy)
- Reorder and clarify Gen3/4 code (Ville)
- Refactor out common code in display mode handling (Ville)
- GuC code fixes (Sujaritha, Michal)
- Selftest improvements (Chris)

The following changes since commit 0bec6219e5a0cf2dd17716949a7592807e10f3d7:

  Merge tag 'drm-misc-next-2019-03-21' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2019-03-25 11:05:12 +0100)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2019-03-28

for you to fetch changes up to a01b2c6f47d86c7d1a9fa822b3b91ec233b61784:

  drm/i915: Update DRIVER_DATE to 20190328 (2019-03-28 14:41:55 +0200)

----------------------------------------------------------------

Abdiel Janulgue (1):
      drm/i915/query: Split out query item checks

Aditya Swarup (3):
      drm/i915: Make combo PHY DDI macro definitions consistent for ICL and CNL
      drm/i915: Make MG PHY macros semantically consistent
      drm/i915/icl: Fix CRC mismatch error for DP link layer compliance

Andy Shevchenko (1):
      drm/i915: Switch to bitmap_zalloc()

Anusha Srivatsa (3):
      drm/i915/cml: Add CML PCI IDS
      drm/i915/cml: Introduce Comet Lake PCH
      drm/i915/ehl: Add Support for DMC on EHL

Bob Paauwe (3):
      drm/i915/ehl: Add ElkhartLake platform
      drm/i915/ehl: EHL outputs are different from ICL
      drm/i915/ehl: Set proper eu slice/subslice parameters for EHL

Chengguang Xu (1):
      drm/i915: remove redundant likely/unlikely annotation

Chris Wilson (124):
      drm/i915: Defer removing fence register tracking to rpm wakeup
      drm/i915: Revoke mmaps and prevent access to fence registers across reset
      drm/i915: Force the GPU reset upon wedging
      drm/i915: Uninterruptibly drain the timelines on unwedging
      drm/i915: Wait for old resets before applying debugfs/i915_wedged
      drm/i915: Serialise resets with wedging
      drm/i915: Don't claim an unstarted request was guilty
      drm/i915/execlists: Refactor out can_merge_rq()
      drm/i915: Protect i915_active iterators from the shrinker
      drm/i915: Pull sync_scru for device reset outside of wedge_mutex
      drm/i915: Use synchronize_srcu_expedited() for resets
      drm/i915: Include the current timeline seqno for debugging execlists
      drm/i915: Reacquire priolist cache after dropping the engine lock
      drm/i915: Recursive i915_reset_trylock() verboten
      drm/i915: Detect potential i915_reset_trylock() lockups
      drm/i915: Apply rps waitboosting for dma_fence_wait_timeout()
      snd/hda, drm/i915: Track the display_power_status using a cookie
      drm/i915: Only try to park engines after a failed reset
      drm/i915/selftests: Always use an active engine while resetting
      drm/i915: Defer application of request banning to submission
      drm/i915/selftests: Drop unnecessary struct_mutex around i915_reset()
      drm/i915/fbdev: Actually configure untiled displays
      drm/i915/selftests: Always free spinner on __sseu_prepare error
      drm/i915/selftests: Move local mock_ggtt allocations to the heap
      drm/i915: Optionally disable automatic recovery after a GPU reset
      drm/i915/selftests: Make unbannable contexts for reset handling
      drm/i915: Restore interrupt enabling after a reset
      drm/i915: Include reminders about leaving no holes in uAPI enums
      drm/i915: Move verify_wm_state() to heap
      drm/i915: Trim delays for wedging
      drm/i915: Use time based guilty context banning
      drm/i915: Beware temporary wedging when determining -EIO
      drm/i915: Avoid reset lock in writing fence registers
      drm/i915: Reduce the RPS shock
      drm/i915: Prevent user context creation while wedged
      drm/i915/hdcp: Silence compiler critics
      drm/i915: Reorder struct_mutex-vs-reset_lock in i915_gem_fault()
      drm/i915/guc: Flush the residual log capture irq on disabling
      drm/i915/pmu: Always sample an active ringbuffer
      drm/i915: Replace global_seqno with a hangcheck heartbeat seqno
      drm/i915: Remove access to global seqno in the HWSP
      drm/i915: Remove i915_request.global_seqno
      drm/i915/selftests: Exercise resetting during non-user payloads
      drm/i915: Skip scanning for signalers if we are already inflight
      drm/i915: Avoid waking the engines just to check if they are idle
      drm/i915: Compute the global scheduler caps
      Revert "drm/i915: Avoid waking the engines just to check if they are idle"
      drm/i915: Report engines are idle if already parked
      drm/i915: Make request allocation caches global
      drm/i915: Make object/vma allocation caches global
      drm/i915: Remove second level open-coded rcu work
      drm/i915: Use __ffs() in for_each_priolist for more compact code
      drm/i915/execlists: Suppress mere WAIT preemption
      drm/i915: Introduce i915_timeline.mutex
      drm/i915/selftests: Check that whitelisted registers are accessible
      drm/i915/execlists: Suppress redundant preemption
      drm/i915: Keep timeline HWSP allocated until idle across the system
      drm/i915: Use HW semaphores for inter-engine synchronisation on gen8+
      drm/i915: Prioritise non-busywait semaphore workloads
      drm/i915: Fix I915_EXEC_RING_MASK
      drm/i915: Acquire breadcrumb ref before cancelling
      drm/i915/gtt: Use optimised memset32/64 for clearing PTE
      drm/i915/gtt: Store scratch page size alongside not in the common struct
      drm/i915: Just check the vebox IIR regardless
      drm/i915: Stop capturing semaphore registers for gen6/7 GPU hangs
      drm/i915: Remove last traces of exec-id (GEM_BUSY)
      drm/i915: Store the BIT(engine->id) as the engine's mask
      drm/i915/gtt: Mark ALL_ENGINES as dirty on ppGTT modification
      drm/i915: Move find_active_request() to the engine
      drm/i915: Use i915_global_register()
      drm/i915: Pass around the intel_context
      drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment
      drm/i915: Make I915_GEM_IDLE_TIMEOUT into a macro
      drm/i915: Force GPU idle on suspend
      drm/i915/selftests: Improve switch-to-kernel-context checking
      drm/i915/selftests: Check preemption support on each engine
      drm/i915: Do a synchronous switch-to-kernel-context on idling
      drm/i915: Refactor common code to load initial power context
      drm/i915: Reduce presumption of request ordering for barriers
      drm/i915: Remove has-kernel-context
      drm/i915: Track active engines within a context
      drm/i915: Split struct intel_context definition to its own header
      drm/i915: Store the intel_context_ops in the intel_engine_cs
      drm/i915: Move over to intel_context_lookup()
      drm/i915: Make context pinning part of intel_context_ops
      drm/i915: Track the pinned kernel contexts on each engine
      drm/i915: Introduce intel_context.pin_mutex for pin management
      drm/i915: Suppress the "Failed to idle" warning for gem_eio
      drm/i915: Introduce a context barrier callback
      drm/i915: Consolidate reset-request debug message
      drm/i915/selftests: Improve error detection of reset failure
      drm/i915/selftests: Disable preemption while setting up fence-timers
      drm/i915: Refactor to common helpers for prepare/finish between reset & wedge
      drm/i915: Mark up vGPU support for full-ppgtt
      drm/i915: Record platform specific ppGTT size in intel_device_info
      drm/i915: Drop address size from ppgtt_type
      drm/i915/gtt: Rename i915_vm_is_48b to i915_vm_is_4lvl
      drm/i915/gtt: Refactor common ppgtt initialisation
      drm/i915: Always kick the execlists tasklet after reset
      drm/i915: Fix off-by-one in reporting hanging process
      drm/i915: Sanity check mmap length against object size
      drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set
      drm/i915: Switch to use HWS indices rather than addresses
      drm/i915: Hold a ref to the ring while retiring
      drm/i915: Lock the gem_context->active_list while dropping the link
      drm/i915: Hold a reference to the active HW context
      drm/i915/selftests: Provide stub reset functions
      drm/i915: Use __is_constexpr()
      drm/i915: Separate GEM context construction and registration to userspace
      drm/i915: Introduce a mutex for file_priv->context_idr
      drm/i915: Stop storing ctx->user_handle
      drm/i915: Stop storing the context name as the timeline name
      drm/i915: Flush pages on acquisition
      drm/i915: Skip object locking around a no-op set-domain ioctl
      drm/i915/selftests: Calculate maximum ring size for preemption chain
      drm/i915/selftests: Mark up preemption tests for hang detection
      drm/i915: Introduce the i915_user_extension_method
      drm/i915: Create/destroy VM (ppGTT) for use with contexts
      drm/i915: Extend CONTEXT_CREATE to set parameters upon construction
      drm/i915: Allow contexts to share a single timeline across all engines
      drm/i915: Remove defunct intel_suspend_gt_powersave()
      drm/i915: Report the correct errno from i915_gem_context_open()
      drm/i915: Adding missing '; ' to ENGINE_INSTANCES
      drm/i915: Drop new chunks of context creation ABI (for now)

Dan Carpenter (2):
      drm/i915/selftests: fix NULL vs IS_ERR() check in mock_context_barrier()
      drm/i915/selftests: Fix an IS_ERR() vs NULL check

Daniele Ceraolo Spurio (21):
      drm/i915: do not pass dev_priv to low-level forcewake functions
      drm/i915/selftests: add test to verify get/put fw domains
      drm/i915: always use masks on FW regs
      drm/i915: use intel_uncore in fw get/put internal paths
      drm/i915: use intel_uncore for all forcewake get/put
      drm/i915: make more uncore function work on intel_uncore
      drm/i915: make find_fw_domain work on intel_uncore
      drm/i915: reduce the dev_priv->uncore dance in uncore.c
      drm/i915: move regs pointer inside the uncore structure
      drm/i915: make raw access function work on uncore
      drm/i915: stop storing the media fuse
      drm/i915: rename raw reg access functions
      drm/i915: add HAS_FORCEWAKE flag to uncore
      drm/i915: add uncore flags for unclaimed mmio
      drm/i915: take a ref to the rpm in the uncore structure
      drm/i915: switch uncore mmio funcs to use intel_uncore
      drm/i915: switch intel_uncore_forcewake_for_reg to intel_uncore
      drm/i915: intel_wait_for_register_fw to uncore
      drm/i915: switch intel_wait_for_register to uncore
      drm/i915: take a reference to uncore in the engine and use it
      drm/i915: fix i386 build of 64b raw_uncore functions

Imre Deak (1):
      drm/i915/icl: Prevent incorrect DBuf enabling

James Ausmus (1):
      drm/i915/ehl: Add EHL platform info and PCI IDs

Jani Nikula (10):
      drm/i915/opregion: fix version check
      drm/i915/opregion: rvda is relative from opregion base in opregion 2.1+
      drm/i915/dp: deconflate PPS unlock from divisor register
      drm/i915/dp: use single point of truth for PPS divisor register
      drm/i915: introduce REG_BIT() and REG_GENMASK() to define register contents
      drm/i915: deprecate _SHIFT in favor of _MASK passed to accessors
      drm/i915: use REG_FIELD_PREP() to define register bitfield values
      drm/i915: stick to kernel fixed size types
      drm/i915/psr: remove drmP.h include that crept in
      drm/i915/bios: iterate over child devices to initialize ddi_port_info

Joonas Lahtinen (12):
      Merge drm/drm-next into drm-intel-next-queued
      Merge tag 'topic/mei-hdcp-2019-02-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20190220
      drm/i915: Update DRIVER_DATE to 20190311
      Merge drm/drm-next into drm-intel-next-queued
      Merge tag 'topic/hdr-formats-2019-03-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-intel-next-queued
      Merge tag 'topic/hdr-formats-2019-03-13' of git://anongit.freedesktop.org/drm/drm-misc into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20190320
      Merge drm/drm-next into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20190328
      drm/i915: Update DRIVER_DATE to 20190328
      drm/i915: Update DRIVER_DATE to 20190328

José Roberto de Souza (21):
      drm/i915/psr: Execute the default PSR code path when setting i915_edp_psr_debug
      drm/i915: Call MG_DP_MODE() macro with the right parameters order
      drm/i915: Fix atomic state leak when resetting HDMI link
      drm/i915: Don't manually add connectors and planes state
      drm/i915: Forcing a modeset when resetting HDMI link
      drm/i915/icl: Remove alpha support protection
      drm/i915/psr: Remove PSR2 FIXME
      drm/i915/psr: Only lookup for enabled CRTCs when forcing a fastset
      drm/i915: Compute and commit color features in fastsets
      drm/i915/psr: Drop test for EDP in CRTC when forcing commit
      drm/i915/crc: Make IPS workaround generic
      drm/i915: Disable PSR2 while getting pipe CRC
      drm/i915: Drop redundant checks to update PSR state
      drm/i915: Force PSR1 exit when getting pipe CRC
      drm/i915: Enable PSR2 by default
      drm/i915: Add new ICL PCI ID
      drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time
      drm/i915/psr: Move logic to get TPS registers values to another function
      drm/i915/icl+: Always use TPS2 or TPS3 when exiting PSR1
      drm/i915: Fix PSR2 selective update corruption after PSR1 setup
      drm/i915/icl: Fix VEBOX mismatch BUG_ON()

Lucas De Marchi (16):
      drm/i915/icl: move MG pll hw_state readout
      drm/i915: extract AUX mask assignment to separate function
      drm/i915: refactor transcoders reporting on error state
      drm/i915: allow platforms without eDP transcoder
      drm/i915: Fix bit name in PP_STATUS register
      drm/i915/icl: split combo and mg pll enable
      drm/i915/icl: split pll enable in three steps
      drm/i915/icl: split combo and mg pll disable
      drm/i915/icl: split combo and tbt pll funcs
      drm/i915/icl: remove intel_dpll_is_combophy()
      drm/i915/ehl: Add dpll mgr
      drm/i915/skl: use previous pll hw readout
      drm/i915/bxt: make bxt_calc_pll_link() similar to skl
      drm/i915/cnl: use previous pll hw readout
      drm/i915/icl: use previous pll hw readout
      drm/i915/icl: reduce pll_id scope and use enum type

Maarten Lankhorst (3):
      drm/i915: Handle YUV subpixel support better
      drm/i915: Reject Yf tiling for HDR formats, v2.
      drm/i915: Reject rotation for some hdr formats

Manasi Navare (1):
      drm/i915/icl: Fix the TRANS_DDI_FUNC_CTL2 bitfield macro

Michal Wajdeczko (1):
      drm/i915/guc: Support for extended GuC notification messages

Michał Winiarski (3):
      drm/i915/icl: Default to Thread Group preemption for compute workloads
      drm/i915/selftests: Upgrade printing test/subtest name to pr_info
      drm/i915: Update size upon return from GEM_CREATE

Ramalingam C (16):
      drm/i915: HDCP state handling in ddi_update_pipe
      drm/i915: Gathering the HDCP1.4 routines together
      drm/i915: Initialize HDCP2.2
      drm/i915: MEI interface implementation
      drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking
      drm/i915: Enable and Disable of HDCP2.2
      drm/i915: Implement HDCP2.2 receiver authentication
      drm/i915: Implement HDCP2.2 repeater authentication
      drm: HDCP2.2 link check period
      drm/i915: Implement HDCP2.2 link integrity check
      drm/i915: Handle HDCP2.2 downstream topology change
      drm: removing the DP Errata msg and its msg id
      drm/i915: Implement the HDCP2.2 support for DP
      drm/i915: Implement the HDCP2.2 support for HDMI
      drm/i915: CP_IRQ handling for DP HDCP2.2 msgs
      drm/i915: Fix KBL HDCP2.2 encrypt status signalling

Rodrigo Vivi (8):
      drm/i915: Sort ctx workarounds init from newer to older platforms.
      drm/i915: Sort newer to older platforms.
      drm/i915: Remove unused HAS_PCH_CNP_LP
      drm/i915: Yet another if/else sort of newer to older platforms.
      drm/i915/gen11+: First assume next platforms will inherit stuff
      drm/i915: Move PCH_NOP to -1
      drm/i915: Start using comparative INTEL_PCH_TYPE
      drm/i915: Also use new comparative stuff for more ICP+ stuff

Sujaritha Sundaresan (4):
      drm/i915/guc: Splitting CT channel open/close functions
      drm/i915/guc: Calling guc_disable_communication in all suspend paths
      drm/i915/guc: Preparing for GuC reset along with engine reset
      drm/i915/guc: GuC suspend path cleanup

Thomas Preston (1):
      drm/i915/bios: assume eDP is present on port A when there is no VBT

Tvrtko Ursulin (2):
      drm/i915: Re-arrange execbuf so context is known before engine
      drm/i915: Relax mmap VMA check

Uma Shankar (6):
      drm/i915/glk: Fix degamma lut programming
      drm/i915/icl: Add icl pipe degamma and gamma support
      drm/i915/icl: Enable ICL Pipe CSC block
      drm/i915/icl: Enable pipe output csc
      drm/i915/icl: Add degamma and gamma lut size to gen11 caps
      drm/i915/icl: Drop redundant gamma mode mask

Ville Syrjälä (101):
      drm/i915: Populate gamma_mode for all platforms
      drm/i915: Track pipe gamma enable/disable in crtc state
      drm/i915: Track pipe csc enable in crtc state
      drm/i915: Turn off pipe gamma when it's not needed
      drm/i915: Turn off pipe CSC when it's not needed
      drm/i915: Disable pipe gamma when C8 pixel format is used
      drm/i915: Update DSPCNTR gamma/csc bits during crtc_enable()
      drm/i915: Dump skl+ watermark changes
      drm/i915: s/PUNIT_REG_DSPFREQ/PUNIT_REG_DSPSSPM/
      drm/i915: Assert that VED and ISP are power gated
      Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
      drm/i915: Include "ignore lines" in skl+ wm state
      drm/i915: Implement new w/a for underruns with wm1+ disabled
      drm/i915: Add pipe crc tracepoint
      drm/i915: Add pipe enable/disable tracepoints
      drm/i915: Add overlooked plane disable tracepoint into intel_crtc_disable_planes()
      drm/i915: Wrap plane update/disable hook calls
      drm/i915: Remove the "pf" crc source
      drm/i915: Use named initializers for the crc source name array
      drm/i915: Remove the broken DP CRC support for g4x
      drm/i915: Extend skl+ crc sources with more planes
      drm/i915: Add the missing HDMI gamut metadata packet stuff
      drm/i915: Return the mask of enabled infoframes from ->inforame_enabled()
      drm/i915: Store mask of enabled infoframes in the crtc state
      drm/i915: Precompute HDMI infoframes
      drm/i915: Read out HDMI infoframes
      drm/i915/sdvo: Precompute HDMI infoframes
      drm/i915/sdvo: Read out HDMI infoframes
      drm/i915: Check infoframe state in intel_pipe_config_compare()
      drm/i915: Include infoframes in the crtc state dump
      drm/i915: Finalize Wa_1408961008:icl
      drm/i915: Fix the state checker for ICL Y planes
      drm/i915: Do not temporarily disable the DPLL on i830
      drm/i915: Simplify i830 DVO 2x clock handling
      drm/i915: Populate pipe_offsets[] & co. accurately
      drm/i915: Store DIMM rank information as a number
      drm/i915: Extract functions to derive SKL+ DIMM info
      drm/i915: Polish skl_is_16gb_dimm()
      drm/i915: Extract BXT DIMM helpers
      drm/i915: Fix DRAM size reporting for BXT
      drm/i915: Extract DIMM info on GLK too
      drm/i915: Use dram_dimm_info more
      drm/i915: Generalize intel_is_dram_symmetric()
      drm/i914: s/l_info/dimm_l/ etc.
      drm/i915: Clean up intel_get_dram_info() a bit
      drm/i915: Extract DIMM info on cnl+
      drm/i915: Read out memory type
      drm/i915: Readout and check csc_mode
      drm/i915: Precompute/readout/check CHV CGM mode
      drm/i915: Extract ilk_csc_limited_range()
      drm/i915: Clean up ilk/icl pipe/output CSC programming
      drm/i915: Extract ilk_csc_convert_ctm()
      drm/i915: Clean the csc limited range/identity programming
      drm/i915: Split ilk vs. icl csc matrix handling
      drm/i915: Fix legacy gamma mode for ICL
      drm/i915: Turn off the CUS when turning off a HDR plane
      drm/i915: Don't pass crtc to intel_find_shared_dpll()
      drm/i915: Don't pass crtc to intel_get_shared_dpll() and .get_dpll()
      drm/i915: Pass crtc_state down to skl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from skl_get_dpll()
      drm/i915: Pass crtc_state down to bxt dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from bxt_get_dpll()
      drm/i915: Pass crtc_state down to cnl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from cnl_get_dpll()
      drm/i915: Pass crtc_state down to icl dpll funcs
      drm/i915: Remove redundant on stack dpll_hw_state from icl_get_dpll()
      drm/i915: Fix readout for cnl DPLL kdiv==3
      drm/i915: Nuke icl_calc_dp_combo_pll_link()
      drm/i915: Remove the fragile array index -> link rate mapping
      drm/i915: Add some missing curly braces
      drm/i915: Polish intel_get_lvds_encoder()
      drm/i915: Pass dev_priv to intel_is_dual_link_lvds()
      drm/i915: Reorder gen3/4 swizzle detection logic
      drm/i915: Introduce i9xx_has_pfit()
      drm/i915: Introduce i9xx_has_pps()
      drm/i915: Introduce i915_has_asle()
      drm/i915: Use HPLLVCO_MOBILE for all PNVs
      drm/i915: Accept alloc_size == blocks
      drm/i915: Don't pass plane state to skl_compute_plane_wm()
      drm/i915: Extract skl_compute_wm_params()
      drm/i915: Allocate enough DDB for the cursor
      drm/i915: Make sure cursor has enough ddb for the selected wm level
      drm/i915: Keep plane watermarks enabled more aggressively
      drm/i915: Move some variables to tighter scope
      drm/i915: Don't pass pipe_wm around so much
      drm/i915: Inline skl_update_pipe_wm() into its only caller
      drm/i915: Really calculate the cursor ddb based on the highest enabled wm level
      drm/i915: Refactor EDID fixed mode search
      drm/i915: Pick the first mode from EDID as the fixed mode when there is no preferred mode
      drm/i915: Refactor VBT fixed mode handling
      drm/i915: Adjust DSI fixed mode handling
      drm/i915: Stop hand rolling drm_mode_match()
      drm/i915: Clean up EDID downclock mode lookup
      drm/i915: Mark AML 0x87CA as ULX
      drm/i915: Disable C3 when enabling vblank interrupts on i945gm
      drm/i915: Use vblank_disable_immediate on gen2
      drm/i915: Add broadcast RGB property for DP MST
      drm/i915: Expose the force_audio property with DP MST
      drm/i915: Remove the 8bpc shackles from DP MST
      drm/i915: Add max_bpc property for DP MST
      drm/i915: Update TRANS_MSA_MISC for fastsets

Zhenyu Wang (2):
      drm/i915: always pin hw_id for GVT context
      drm/i915: Disable semaphore on vGPU for now

 drivers/gpu/drm/i915/Makefile                      |   12 +
 drivers/gpu/drm/i915/gvt/cmd_parser.c              |   44 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c                  |    2 +-
 drivers/gpu/drm/i915/gvt/execlist.c                |   17 +-
 drivers/gpu/drm/i915/gvt/handlers.c                |   28 +-
 drivers/gpu/drm/i915/gvt/interrupt.c               |    2 +-
 drivers/gpu/drm/i915/gvt/mmio_context.c            |  246 ++--
 drivers/gpu/drm/i915/gvt/scheduler.c               |   31 +-
 drivers/gpu/drm/i915/gvt/vgpu.c                    |    2 +-
 drivers/gpu/drm/i915/i915_active.c                 |   23 +-
 drivers/gpu/drm/i915/i915_active.h                 |   16 -
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   12 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  145 +--
 drivers/gpu/drm/i915/i915_drv.c                    |  553 +++++----
 drivers/gpu/drm/i915/i915_drv.h                    |  251 ++--
 drivers/gpu/drm/i915/i915_gem.c                    |  726 ++++-------
 drivers/gpu/drm/i915/i915_gem.h                    |    9 +-
 drivers/gpu/drm/i915/i915_gem_context.c            | 1078 ++++++++++++-----
 drivers/gpu/drm/i915/i915_gem_context.h            |  260 +---
 drivers/gpu/drm/i915/i915_gem_context_types.h      |  175 +++
 drivers/gpu/drm/i915/i915_gem_dmabuf.c             |    3 +-
 drivers/gpu/drm/i915/i915_gem_evict.c              |   18 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |   42 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c          |  156 +--
 drivers/gpu/drm/i915/i915_gem_gtt.c                |  130 +-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |   26 +-
 drivers/gpu/drm/i915/i915_gem_internal.c           |    2 +-
 drivers/gpu/drm/i915/i915_gem_object.c             |   42 +
 drivers/gpu/drm/i915/i915_gem_object.h             |    4 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c       |    4 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |    2 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c             |    6 +-
 drivers/gpu/drm/i915/i915_gem_userptr.c            |    2 +-
 drivers/gpu/drm/i915/i915_globals.c                |  135 +++
 drivers/gpu/drm/i915/i915_globals.h                |   35 +
 drivers/gpu/drm/i915/i915_gpu_error.c              |  154 +--
 drivers/gpu/drm/i915/i915_gpu_error.h              |   49 +-
 drivers/gpu/drm/i915/i915_irq.c                    |  271 +++--
 drivers/gpu/drm/i915/i915_pci.c                    |  226 ++--
 drivers/gpu/drm/i915/i915_perf.c                   |  114 +-
 drivers/gpu/drm/i915/i915_pmu.c                    |   67 +-
 drivers/gpu/drm/i915/i915_pvinfo.h                 |    2 +-
 drivers/gpu/drm/i915/i915_query.c                  |   39 +-
 drivers/gpu/drm/i915/i915_reg.h                    |  486 +++++---
 drivers/gpu/drm/i915/i915_request.c                |  433 +++++--
 drivers/gpu/drm/i915/i915_request.h                |   76 +-
 drivers/gpu/drm/i915/i915_reset.c                  |  437 ++++---
 drivers/gpu/drm/i915/i915_reset.h                  |    6 +
 drivers/gpu/drm/i915/i915_scheduler.c              |   90 +-
 drivers/gpu/drm/i915/i915_scheduler.h              |   43 +-
 drivers/gpu/drm/i915/i915_sw_fence.c               |   43 +-
 drivers/gpu/drm/i915/i915_sw_fence.h               |   16 +-
 drivers/gpu/drm/i915/i915_timeline.c               |  299 ++++-
 drivers/gpu/drm/i915/i915_timeline.h               |   75 +-
 drivers/gpu/drm/i915/i915_timeline_types.h         |   79 ++
 drivers/gpu/drm/i915/i915_trace.h                  |  106 +-
 drivers/gpu/drm/i915/i915_user_extensions.c        |   61 +
 drivers/gpu/drm/i915/i915_user_extensions.h        |   20 +
 drivers/gpu/drm/i915/i915_utils.h                  |   31 +
 drivers/gpu/drm/i915/i915_vgpu.c                   |   11 +-
 drivers/gpu/drm/i915/i915_vgpu.h                   |    2 +-
 drivers/gpu/drm/i915/i915_vma.c                    |   51 +-
 drivers/gpu/drm/i915/i915_vma.h                    |    3 +
 drivers/gpu/drm/i915/icl_dsi.c                     |   33 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c          |   54 +-
 drivers/gpu/drm/i915/intel_audio.c                 |   23 +-
 drivers/gpu/drm/i915/intel_bios.c                  |  133 ++-
 drivers/gpu/drm/i915/intel_cdclk.c                 |   75 +-
 drivers/gpu/drm/i915/intel_color.c                 |  591 ++++++---
 drivers/gpu/drm/i915/intel_connector.c             |    2 +
 drivers/gpu/drm/i915/intel_context.c               |  269 +++++
 drivers/gpu/drm/i915/intel_context.h               |   87 ++
 drivers/gpu/drm/i915/intel_context_types.h         |   73 ++
 drivers/gpu/drm/i915/intel_crt.c                   |    6 +-
 drivers/gpu/drm/i915/intel_csr.c                   |    2 +-
 drivers/gpu/drm/i915/intel_ddi.c                   |  295 +++--
 drivers/gpu/drm/i915/intel_device_info.c           |   43 +-
 drivers/gpu/drm/i915/intel_device_info.h           |   18 +-
 drivers/gpu/drm/i915/intel_display.c               |  516 +++++---
 drivers/gpu/drm/i915/intel_dp.c                    |  526 ++++++--
 drivers/gpu/drm/i915/intel_dp_mst.c                |  145 ++-
 drivers/gpu/drm/i915/intel_dpio_phy.c              |    5 +-
 drivers/gpu/drm/i915/intel_dpll_mgr.c              |  770 ++++++------
 drivers/gpu/drm/i915/intel_dpll_mgr.h              |    5 +-
 drivers/gpu/drm/i915/intel_drv.h                   |  195 ++-
 drivers/gpu/drm/i915/intel_dsi.h                   |    1 -
 drivers/gpu/drm/i915/intel_dsi_vbt.c               |   24 +-
 drivers/gpu/drm/i915/intel_engine_cs.c             |  454 +++----
 drivers/gpu/drm/i915/intel_engine_types.h          |  527 ++++++++
 drivers/gpu/drm/i915/intel_fbc.c                   |    2 +-
 drivers/gpu/drm/i915/intel_gpu_commands.h          |    9 +-
 drivers/gpu/drm/i915/intel_guc.c                   |   45 +-
 drivers/gpu/drm/i915/intel_guc.h                   |    4 +-
 drivers/gpu/drm/i915/intel_guc_ads.c               |    3 +-
 drivers/gpu/drm/i915/intel_guc_ct.c                |   99 +-
 drivers/gpu/drm/i915/intel_guc_ct.h                |    3 +
 drivers/gpu/drm/i915/intel_guc_fw.c                |    4 +-
 drivers/gpu/drm/i915/intel_guc_log.c               |    5 +
 drivers/gpu/drm/i915/intel_guc_submission.c        |   22 +-
 drivers/gpu/drm/i915/intel_hangcheck.c             |   24 +-
 drivers/gpu/drm/i915/intel_hdcp.c                  | 1255 ++++++++++++++++++--
 drivers/gpu/drm/i915/intel_hdmi.c                  |  772 ++++++++++--
 drivers/gpu/drm/i915/intel_huc.c                   |    2 +-
 drivers/gpu/drm/i915/intel_huc_fw.c                |   27 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |    2 +-
 drivers/gpu/drm/i915/intel_lrc.c                   |  509 ++++----
 drivers/gpu/drm/i915/intel_lrc.h                   |   22 +-
 drivers/gpu/drm/i915/intel_lspcon.c                |   13 +-
 drivers/gpu/drm/i915/intel_lvds.c                  |   92 +-
 drivers/gpu/drm/i915/intel_mocs.c                  |   14 +-
 drivers/gpu/drm/i915/intel_overlay.c               |    2 +-
 drivers/gpu/drm/i915/intel_panel.c                 |  147 ++-
 drivers/gpu/drm/i915/intel_pipe_crc.c              |  228 ++--
 drivers/gpu/drm/i915/intel_pm.c                    |  454 ++++---
 drivers/gpu/drm/i915/intel_psr.c                   |  303 +++--
 drivers/gpu/drm/i915/intel_ringbuffer.c            |  416 +++----
 drivers/gpu/drm/i915/intel_ringbuffer.h            |  641 ++--------
 drivers/gpu/drm/i915/intel_runtime_pm.c            |   65 +-
 drivers/gpu/drm/i915/intel_sdvo.c                  |  156 ++-
 drivers/gpu/drm/i915/intel_sideband.c              |   12 +-
 drivers/gpu/drm/i915/intel_sprite.c                |   80 +-
 drivers/gpu/drm/i915/intel_uc.c                    |   23 +-
 drivers/gpu/drm/i915/intel_uc.h                    |    1 +
 drivers/gpu/drm/i915/intel_uncore.c                |  943 ++++++++-------
 drivers/gpu/drm/i915/intel_uncore.h                |  267 ++++-
 drivers/gpu/drm/i915/intel_vbt_defs.h              |    3 +
 drivers/gpu/drm/i915/intel_workarounds.c           |  119 +-
 drivers/gpu/drm/i915/intel_workarounds.h           |   13 +-
 drivers/gpu/drm/i915/intel_workarounds_types.h     |   27 +
 drivers/gpu/drm/i915/selftests/huge_gem_object.c   |    2 +-
 drivers/gpu/drm/i915/selftests/huge_pages.c        |   25 +-
 drivers/gpu/drm/i915/selftests/i915_active.c       |    2 +-
 drivers/gpu/drm/i915/selftests/i915_gem.c          |    9 +-
 .../gpu/drm/i915/selftests/i915_gem_coherency.c    |    8 +-
 drivers/gpu/drm/i915/selftests/i915_gem_context.c  |  449 +++++--
 drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c   |    1 +
 drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |    8 +-
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |   21 +-
 drivers/gpu/drm/i915/selftests/i915_gem_object.c   |    4 +-
 drivers/gpu/drm/i915/selftests/i915_request.c      |   37 +-
 drivers/gpu/drm/i915/selftests/i915_selftest.c     |    4 +-
 drivers/gpu/drm/i915/selftests/i915_sw_fence.c     |    9 +-
 drivers/gpu/drm/i915/selftests/i915_timeline.c     |  117 +-
 drivers/gpu/drm/i915/selftests/i915_vma.c          |   16 +-
 drivers/gpu/drm/i915/selftests/igt_flush_test.c    |    4 +-
 drivers/gpu/drm/i915/selftests/igt_spinner.c       |    9 +-
 drivers/gpu/drm/i915/selftests/intel_guc.c         |    4 +-
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c   |  298 ++++-
 drivers/gpu/drm/i915/selftests/intel_lrc.c         |  266 ++++-
 drivers/gpu/drm/i915/selftests/intel_uncore.c      |  155 ++-
 drivers/gpu/drm/i915/selftests/intel_workarounds.c |  418 ++++++-
 drivers/gpu/drm/i915/selftests/mock_context.c      |   34 +-
 drivers/gpu/drm/i915/selftests/mock_engine.c       |  145 ++-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c   |   54 +-
 drivers/gpu/drm/i915/selftests/mock_request.c      |   12 +-
 drivers/gpu/drm/i915/selftests/mock_request.h      |    7 -
 drivers/gpu/drm/i915/selftests/mock_timeline.c     |    1 +
 drivers/gpu/drm/i915/selftests/mock_uncore.c       |   10 +-
 drivers/gpu/drm/i915/selftests/mock_uncore.h       |    2 +-
 .../drm/i915/test_i915_active_types_standalone.c   |    7 +
 .../i915/test_i915_gem_context_types_standalone.c  |    7 +
 .../drm/i915/test_i915_timeline_types_standalone.c |    7 +
 .../drm/i915/test_intel_context_types_standalone.c |    7 +
 .../drm/i915/test_intel_engine_types_standalone.c  |    7 +
 .../i915/test_intel_workarounds_types_standalone.c |    7 +
 drivers/gpu/drm/i915/vlv_dsi.c                     |   74 +-
 drivers/gpu/drm/i915/vlv_dsi_pll.c                 |    4 +-
 include/drm/drm_audio_component.h                  |    7 +-
 include/drm/drm_hdcp.h                             |    7 +-
 include/drm/i915_pciids.h                          |   38 +-
 include/sound/hdaudio.h                            |    2 +-
 include/uapi/drm/i915_drm.h                        |  239 ++--
 sound/hda/hdac_component.c                         |   18 +-
 173 files changed, 14365 insertions(+), 7426 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_gem_context_types.h
 create mode 100644 drivers/gpu/drm/i915/i915_globals.c
 create mode 100644 drivers/gpu/drm/i915/i915_globals.h
 create mode 100644 drivers/gpu/drm/i915/i915_timeline_types.h
 create mode 100644 drivers/gpu/drm/i915/i915_user_extensions.c
 create mode 100644 drivers/gpu/drm/i915/i915_user_extensions.h
 create mode 100644 drivers/gpu/drm/i915/intel_context.c
 create mode 100644 drivers/gpu/drm/i915/intel_context.h
 create mode 100644 drivers/gpu/drm/i915/intel_context_types.h
 create mode 100644 drivers/gpu/drm/i915/intel_engine_types.h
 create mode 100644 drivers/gpu/drm/i915/intel_workarounds_types.h
 create mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 create mode 100644 drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 create mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 create mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 create mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 create mode 100644 drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c