[PULL] drm-intel-next

Joonas Lahtinen
2019-03-28T15:15:15Z

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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org