2015-06-26 01:00:44

by Dave Airlie

[permalink] [raw]
Subject: [git pull] drm tree for 4.2


Hi Linus,

This is the main drm pull request for v4.2.

I've one other new driver from freescale on my radar, it's been posted and
reviewed, I'd just like to get someone to give it a last look, so maybe
I'll send it or maybe I'll leave it.

There is no major nouveau changes in here, Ben was working on something
big, and we agreed it was a bit late, there wasn't anything else he
considered urgent to merge.

There might be another msm pull for some bits that are waiting on arm-soc,
I'll see how we time it.

I'm on holidays from middle of next week for a week, I'm sure everyone can
survive without me.

This touches some "of" stuff, acks are in place except for the fixes to
the build in various configs,t hat I just applied.

This also contains a couple of merge conflicts in radeon and i915, I've
pushed a drm-next-merged branch to the same tree with them fixed up, the
radeon one affects userspace API so please make sure you use the correct
ordering for the two values, UNMAP is 0x25, RESET 0x26.

Thanks,
Dave.

new drivers:
virtio-gpu: KMS only pieces of driver for virtio-gpu in qemu.
This is just the first part of this driver, enough to run
unaccelerated userspace on. As qemu merges more we'll start
adding the 3D features for the virgl 3d work.
amdgpu: a new driver from AMD to driver their newer GPUs. (VI+)
It contains a new cleaner userspace API, and is a clean
break from radeon moving forward, that AMD are going to
concentrate on. It also contains a set of register headers
auto generated from AMD internal database.

core:
atomic modesetting API completed, enabled by default now.
Add support for mode_id blob to atomic ioctl to complete interface.
bunch of Displayport MST fixes
lots of misc fixes.

panel:
new simple panels,
fix some long-standing build issues with bridge drivers

radeon:
VCE1 support
add a GPU reset counter for userspace
lots of fixes.

amdkfd:
H/W debugger support module
static user-mode queues
support killing all the waves when a process terminates
use standard DECLARE_BITMAP

i915:
Add Broxton support
S3, rotation support for Skylake
RPS booting tuning
CPT modeset sequence fixes
ns2501 dither support
enable cmd parser on haswell
cdclk handling fixes
gen8 dynamic pte allocation
lots of atomic conversion work

exynos:
Add atomic modesetting support
Add iommu support
Consolidate drm driver initialization
and MIC, DECON and MIPI-DSI support for exynos5433

omapdrm:
atomic modesetting support (fixes lots of things in rewrite)

tegra:
DP aux transaction fixes
iommu support fix

msm:
adreno a306 support
various dsi bits
various 64-bit fixes
NV12MT support

rcar-du:
atomic and misc fixes

sti:
fix HDMI timing complaince

tilcdc:
use drm component API to access tda998x driver
fix module unloading

qxl:
stability fixes.

The following changes since commit c65b99f046843d2455aa231747b5a07a999a9f3d:

Linux 4.1-rc6 (2015-05-31 19:01:07 -0700)

are available in the git repository at:

git://people.freedesktop.org/~airlied/linux drm-next

for you to fetch changes up to c5fd936e992dd2829167d2adc63e151675ca6898:

drm/nouveau: Pause between setting gpu to D3hot and cutting the power (2015-06-26 10:26:37 +1000)

----------------------------------------------------------------
A.Sunil Kamath (3):
drm/i915/bxt: Implement enable/disable for Display C9 state
drm/i915/skl: Implement enable/disable for Display C5 state.
Implement enable/disable for Display C6 state

Alex Deucher (70):
drm/radeon: implement tn_set_vce_clocks
drm/radeon/dpm: add vce dpm support for TN
drm/radeon/dpm: add vce support for SI
drm/radeon: add support for vce 1.0 clock gating
drm/radeon/tn/si: enable/disable vce cg when encoding v2
drm/radeon: make dpcd parameters const
drm/radeon: take the mode_config mutex when dealing with hpds (v2)
drm/radeon: clean up radeon_audio_enable
drm/amdgpu: add BIF 4.1 register headers
drm/amdgpu: add BIF 5.0 register headers
drm/amdgpu: add BIF 5.1 register headers
drm/amdgpu: add DCE 8.0 register headers
drm/amdgpu: add DCE 10.0 register headers
drm/amdgpu: add DCE 11.0 register headers
drm/amdgpu: add GCA 7.0 register headers
drm/amdgpu: add GCA 7.2 register headers
drm/amdgpu: add GCA 8.0 register headers
drm/amdgpu: add GMC 7.0 register headers
drm/amdgpu: add GMC 7.1 register headers
drm/amdgpu: add GMC 8.1 register headers
drm/amdgpu: add GMC 8.2 register headers
drm/amdgpu: add OSS 2.0 register headers
drm/amdgpu: add OSS 2.4 register headers
drm/amdgpu: add OSS 3.0 register headers
drm/amdgpu: add OSS 3.0.1 register headers
drm/amdgpu: add SMU 7.0.0 register headers
drm/amdgpu: add SMU 7.0.1 register headers
drm/amdgpu: add SMU 7.1.0 register headers
drm/amdgpu: add SMU 7.1.1 register headers
drm/amdgpu: add SMU 7.1.2 register headers
drm/amdgpu: add SMU 8.0 register headers
drm/amdgpu: add UVD 4.2 register headers
drm/amdgpu: add UVD 5.0 register headers
drm/amdgpu: add UVD 6.0 register headers
drm/amdgpu: add VCE 2.0 register headers
drm/amdgpu: add VCE 3.0 register headers
drm/amdgpu: add amdgpu uapi header (v4)
drm/amdgpu: add atombios headers
drm/amdgpu: add clearstate_defs.h
drm/amdgpu: add ppsmc.h
drm/amdgpu: add amdgpu_family.h
drm/amdgpu: add amdgpu.h (v2)
drm/amdgpu: add core driver (v4)
drm/amdgpu: fix const warnings in amdgpu_connectors.c
drm/amdgpu: Do not directly dereference pointers to BIOS area.
drm/amdgpu: Add support for CIK parts
drm/amdgpu: Add initial VI support
drm/amdgpu: add CIK pci ids
drm/amdgpu: add VI pci ids
drm/amdgpu: drop ttm two ended allocation
drm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend
drm/amdgpu: memset gds_info struct in info ioctl
drm/amdgpu: add new bonaire pci id
drm/amdgpu: add some new tonga pci ids
drm/amdgpu: take the mode_config mutex when handling hpds
drm/amdgpu: make some DP parameters const
drm/amdgpu: simplify DPCD debug output
drm/amdgpu: retry dcpd fetch
drm/amdgpu: remove unused TRACE_SYSTEM_STRING define
drm/amdgpu: fix description of vm_size module parameter (v2)
drm/amdgpu: also print the pci revision when printing the pci ids
drm/amdgpu: set the gfx config properly for all CZ variants (v2)
drm/amdgpu: fix the build on big endian
drm/admgpu: move XDMA golden registers to dce code
drm/amdgpu: whitespace cleanup in gmc8 golden regs
drm/amdgpu: update to latest gfx8 golden register settings
drm/amdgpu/cz: don't call smu_init on resume
drm/amdgpu/tonga: don't call smu_init on resume
drm/amdgpu/iceland: don't call smu_init on resume
drm/amdgpu: don't enable/disable display twice on suspend/resume

Alexandre Courbot (1):
drm/ttm: dma: Don't crash on memory in the vmalloc range

Alexey Skidanov (3):
drm/amdkfd: Add memory exception handling
drm/amdkfd: Add bad opcode exception handling
drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd

Ander Conselvan de Oliveira (45):
drm/i915: Check lane sharing between pipes B & C using atomic state
drm/i915: Set best_encoder field of connector_state also when disabling
drm/i915: Don't use staged config for VLV cdclk calculations
drm/i915: Don't use intel_crtc->new_config in pll calculation code
drm/i915: Remove intel_crtc->new_config
drm/i915: Don't use staged config in check_digital_port_conflicts()
drm/i915: Don't use staged config in check_encoder_cloning()
drm/i915: Don't use staged config in intel_mst_pre_enable_dp()
drm/i915: Remove stale comment from __intel_set_mode()
drm/i915: Allocate connector state together with the connectors
drm/i915: Don't check for NULL before freeing state
drm/i915: Call drm helpers when duplicating crtc and plane states
drm/i915: Use for_each_connector_in_state helper macro
drm/i915: Extract mode_changed computation out of stage_output_config()
drm/i915: Add crtc states before calling compute_config()
drm/i915: Don't pretend we can calculate multiple pipe_configs
drm/i915: Calculate a new pipe_config based on new enabled state
drm/i915: Remove all *_pipes flags from modeset
drm/i915: Remove saved_mode from __intel_set_mode()
drm/i915: Move compute part of __intel_set_mode() to separate function
drm/i915: Simplify error handling in __intel_set_mode()
drm/i915: Don't modeset with old mode when set_crtc fails
drm/i915: Add primary plane to atomic state in legacy modeset
drm/i915: Delete fb, x and y parameters from mode set functions
drm/i915: Don't use struct intel_set_config *_changed flags
drm/i915: Don't use staged config to calculate mode_changed flags
drm/i915: Unify modeset and flip paths of intel_crtc_set_config()
drm/i915: Simplify intel_set_config_compute_mode_changes() a bit
drm/i915: Stage new modeset state straight into atomic state
drm/i915: Remove save/restore logic from intel_crtc_set_config()
drm/i915: Update crtc state active flag based on DPMS
drm/atomic: Make mode_fixup() optional for check_modeset()
drm/i915: Use atomic helpers for computing changed flags
drm/i915: Take ownership of atomic state on success in intel_set_mode()
drm/i915: Preserve shared DPLL information in new pipe_config
drm/i915: Don't use plane update helper in legacy mode set
drm/i915: Swap atomic state in legacy modeset
drm/i915: Get rid of intel_crtc_set_state()
drm/i915: Don't overwrite (e)DP PLL selection on SKL
drm/i915: Preserve ddi_pll_sel when allocating new pipe_config
drm/i915: Update comment in clear_intel_crtc_state()
drm/i915: Don't check modeset state in the hw state force restore path
drm/i915: Don't update staged config during force restore modesets
drm/i915: Don't set enabled value of all CRTCs when restoring the mode
drm/i915: Silence compiler warning

Andrew Lewycky (4):
drm/amdkfd: Add interrupt handling module
drm/amdkfd: add events IOCTL set definitions
drm/amdkfd: Add the events module
drm/amdkfd: Implement events IOCTLs

Andrey Ryabinin (1):
drm/atomic: fix out of bounds read in for_each_*_in_state helpers

Andrzej Hajda (3):
drm/exynos: consolidate driver/device initialization code
drm/exynos: fix broken component binding in case of multiple pipelines
drm/exynos: remove SoC checking code

Animesh Manna (1):
drm/i915/skl: Documentation for CSR firmware

Archit Taneja (3):
drm: bridge: Allow daisy chaining of bridges
drm/DocBook: Add more drm_bridge documentation
drm/msm: dsi: Provide option to force continuous HS clock

Arun Siluvery (1):
drm/i915: Do not set L3-LLC Coherency bit in ctx descriptor

Ben Goz (2):
drm/amdkfd: Enforce kill all waves on process termination
drm/amdkfd: make reset wavefronts per process per device

Ben Widawsky (3):
drm/i915/bxt: add GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ workaround
drm/i915/bxt: add WaDisableMaskBasedCammingInRCC workaround
drm/i915/skl: add WaDisableMaskBasedCammingInRCC workaround

Brian Norris (1):
drm/msm: dsi: fix compile errors when CONFIG_GPIOLIB=n

Chandra Konduru (18):
drm: Adding drm helper function drm_plane_from_index().
drm/i915: Register definitions for skylake scalers
drm/i915: skylake scaler structure definitions
drm/i915: Initialize plane colorkey to NONE
drm/i915: Initialize skylake scalers
drm/i915: Keep sprite plane src rect in 16.16 format
drm/i915: Dump scaler_state too as part of dumping crtc_state
drm/i915: Preserve scaler state when clearing crtc_state
drm/i915: setup scalers for crtc_compute_config
drm/i915: Ensure setting up scalers into staged crtc_state
drm/i915: copy staged scaler state from drm state to crtc->config.
drm/i915: skylake panel fitting using shared scalers
drm/i915: skylake primary plane scaling using shared scalers
drm/i915: skylake sprite plane scaling using shared scalers
drm/i915: Adding dbuf support for skl nv12 format.
drm/i915: call intel_tile_height with correct parameter
drm/i915: Make scaler_id check in check_crtc_state work for all gens
drm/i915/skl: don't fail colorkey + scaler request

Chris Wilson (54):
drm/i915: Add i915_gem_request_unreference__unlocked
drm/i915: Make debugfs/i915_gem_request more friendly
drm/i915: Allow disabling the destination colorkey for overlay
drm/i915: Cache last obj->pages location for i915_gem_object_get_page()
drm/i915: Fix the flip synchronisation to consider mmioflips
drm/i915: Agressive downclocking on Baytrail
drm/i915: Fix computation of last_adjustment for RPS autotuning
drm/i915: Boost GPU frequency if we detect outstanding pageflips
drm/i915: Deminish contribution of wait-boosting from clients
drm/i915: Re-enable RPS wait-boosting for all engines
drm/i915: Split i915_gem_batch_pool into its own header
drm/i915: Tidy batch pool logic
drm/i915: Split the batch pool by engine
drm/i915: Free batch pool when idle
drm/i915: Split batch pool into size buckets
drm/i915: Include active flag when describing objects in debugfs
drm/i915: Suppress empty lines from debugfs/i915_gem_objects
drm/i915: Record ring->start address in error state
drm/i915: Use simpler form of spin_lock_irq(execlist_lock)
drm/i915: Use the global runtime-pm wakelock for a busy GPU for execlists
drm/i915: Remove vestigal DRI1 ring quiescing code
drm/i915: Use a separate slab for requests
drm/i915: Use a separate slab for vmas
drm/i915: Reduce locking in execlist command submission
drm/i915: Reduce locking in gen8 IRQ handler
drm/i915: Tidy gen8 IRQ handler
drm/i915: Prefer to check for idleness in worker rather than sync-flush
drm/i915: Remove request->uniq
drm/i915: Allocate context objects from stolen
drm/i915: Simplify object is-pinned checking for shrinker
drm/i915: Optimistically spin for the request completion
drm/i915: Remove obj->pin_mappable
drm/i915: Simplify i915_gem_obj_is_pinned() test for set-tiling
drm/i915: Update meaning of debugfs object's pin_flag
drm/i915: Silence compiler warning in dvo
drm/i915: Add RPS thresholds to debugfs/i915_frequency_info
drm/i915: Remove incorrect restriction on 32bit offsets in ppGTT backend
drm/i915: Remove locking for get-caching query
drm/i915: Remove domain flubbing from i915_gem_object_finish_gpu()
drm/i915: Ensure cache flushes prior to doing CS flips
drm/i915: Fix race on unreferencing the wrong mmio-flip-request
drm/i915: Use uninterruptible mutex_lock for userptr bo creation
drm/i915: Force clean compilation with -Werror
drm/i915: Implement inter-engine read-read optimisations
drm/i915: Inline check required for object syncing prior to execbuf
drm/i915: Limit ring synchronisation (sw sempahores) RPS boosts
drm/i915: Limit mmio flip RPS boosts
drm/i915: Convert RPS tracking to a intel_rps_client struct
drm/i915: Don't downclock whilst we have clients waiting for GPU results
drm/i915: Free RPS boosts for all laggards
drm/i915: Use the correct destructor for freeing requests on error
drm/i915: Introduce DRM_I915_THROTTLE_JIFFIES
drm/i915: Use spinlocks for checking when to waitboost
drm: Avoid the double clflush on the last cache line in drm_clflush_virt_range()

Christian K?nig (27):
drm/radeon: rework VCE FW size calculation
drm/radeon: allow some more VCE firmware versions
drm/radeon: implement si_set_vce_clocks v2
drm/radeon: add VCE 1.0 support v4
drm/radeon: stop using addr to check for BO move
drm/amdgpu: fix userptr lockup
drm/amdgpu: always emit GDS switch
drm/amdgpu: cleanup HDP flush handling
drm/amdgpu: fix dereference before check
drm/amdgpu: fix context switch
drm/amdgpu: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling
drm/amdgpu: enforce AMDGPU_GEM_CREATE_NO_CPU_ACCESS
drm/amdgpu: validate amdgpu_vm_bo_map parameters
drm/amdgpu: actually use the VM map parameters
drm/amdgpu: port fault_reserve_notify changes from radeon
drm/amdgpu: drop AMDGPU_FENCE_SIGNALED_SEQ
drm/amdgpu: drop allocation flag masks
drm/amdgpu: remove mclk_lock
drm/amdgpu: stop loading firmware with pm.mutex locked
drm/amdgpu: add HEVC/H.265 UVD support
drm/amdgpu: fix user ptr race condition
drm/amdgpu: fix amdgpu_vm_bo_map
drm/amdgpu: fix saddr handling in amdgpu_vm_bo_unmap
drm/amdgpu: cleanup VA IOCTL
drm/amdgpu: remove AMDGPU_CTX_OP_STATE_RUNNING
drm/amdgpu: cleanup UAPI comments
drm/amdgpu: fix UVD/VCE VM emulation

Chunming Zhou (2):
drm/amdgpu: implement the allocation range (v3)
drm/amdgpu: disable user fence interrupt (v2)

Daisy Sun (1):
drm/i915/bxt: BXT FBC enablement

Damien Lespiau (37):
drm/i915/bxt: Add BXT PCI ids
drm/i915/bxt: Broxton uses the same GMS values as Skylake
drm/i915/bxt: Broxton has 3 sprite planes on pipe A/B, 2 on pipe C
drm/i915/bxt: Add the plane4 related interrupt definitions
drm/i915/bxt: Broxton DDB is 512 blocks
drm/i915/bxt: Broxton raises the maximum number of planes to 4
drm/i915/skl: Fix stepping check for a couple of W/As
drm/i915/skl: Implement WaDisableVFUnitClockGating
drm/i915: Iterate through the initialized DDIs to prepare their buffers
drm/i915: Don't write the HDMI buffer translation entry when not needed
drm/i915/skl: Add the INIT power domain to the MISC I/O power well
drm/i915/skl: Fix the CTRL typo in the DPLL_CRTL1 defines
drm/i915: Re-order the PCU opcodes
drm/i915: Merge the GEN9 memory latency PCU opcode with its friends
drm/i915/skl: Make the Misc I/O power well part of the PLLS domain
drm/i915/skl: Fix WaDisableChickenBitTSGBarrierAckForFFSliceCS
drm/i915/skl: Re-indent part of skl_ddi_calculate_wrpll()
drm/i915: Be optimistic about future display engines having 7 WM levels
drm/i915/skl: Leave a new line between variable declarations and code
drm/i915/skl: Add a new line before return
drm/i915/skl: Rename a local variable to fit in 80 chars
drm/i915/skl: Replace BUG() by MISSING_CASE() in skl_plane_ctl_format()
drm/i915/skl: Support the advertized index format
drm/i915: Don't use the intel_ prefix for gen-specific data
drm/i915: Make the sprite formats const
drm/i915/skl: Remove unnecessary local variables in skl_plane_ctl*()
drm/i915: Remove the COMMON_PRIMARY_FORMATS defines
drm/i915: Remove ARBG/ABGR 2101010 on platform not supporting those formats
drm/i915: Don't expose ARGB1555 on gen2/3
drm/i915/bxt: Update the Broxton PCI ids
drm/i915: Fix 'suspedn' typo
drm/i915: Tighten the exposure ARGB/ABGR 8888 formats
drm/i915/bxt: Also add bxt_resume_prepare() to the S3/S4 path
drm/i915: Add a space after ', ' and don't capitalize mid-sentence
drm/i915: Kill the dev variable in intel_suspend_complete()
drm/i915/skl: Deinit/init the display at suspend/resume
drm/i915: Fix the confusing comment about the ioctl limits

Dan Carpenter (5):
drm/i915: checking IS_ERR() instead of NULL
drm/edid: fix a debug message
drm/virtio: checking for NULL instead of IS_ERR
drm/virtio: remove some dead code
drm/amdkfd: fix some range checks in address watch ioctl

Daniel Stone (17):
drm/atomic: Don't open-code CRTC state destroy
drm: Don't leak path blob property when updating
drm: Introduce helper for replacing blob properties
drm: Introduce blob_lock
drm: Add reference counting to blob properties
drm: kerneldoc fixes for blob properties
drm/crtc_helper: Replace open-coded CRTC state helpers
drm/mode: Validate modes inside drm_crtc_convert_umode
drm/mode: Unstatic kernel-userspace mode conversion
drm: Allow creating blob properties without copy
drm: Return error value from blob creation
drm/mode: Add user blob-creation ioctl
drm: Retain reference to blob properties in lookup
drm: Add drm_atomic_set_mode_for_crtc
drm/atomic: Add current-mode blob to CRTC state
drm/atomic: Add MODE_ID property
drm: Always enable atomic API

Daniel Thompson (1):
drm: prime: Document gem_prime_mmap

Daniel Vetter (43):
drm/i915: Update DRIVER_DATE to 20150410
drm/i915: Remove unused variable in intel_lrc.c
Merge branch 'topic/bxt-stage1' into drm-intel-next-queued
drm/atomic-helper: Don't call atomic_update_plane when it stays off
drm/i915: Select starting pipe bpp irrespective or the primary plane
drm/i915: Drop unecessary fb arguments from function signatures
drm/i915/dp: Remove intel_ prefix from hw signal_levels functions
drm/i915: Move gen8 clear_range vfunc setup into common code
drm/i915: Move vma vfuns to adddress_space
drm/i915: Clean up aliasing ppgtt correctly on error paths
drm/i915: Unify aliasing ppgtt handling
drm/i915: Move PTE_READ_ONLY to ->pte_encode vfunc
drm/i915: Dont clear PIN_GLOBAL in the execbuf pinning fallback
drm/i915: Drop redundant GGTT rebinding
drm/i915: Don't look at pg_dirty_rings for aliasing ppgtt
drm/i915: Don't use atomics for pg_dirty_rings
drm/i915: Remove misleading comment around bind_to_vm
drm/i915: Fix up the vma aliasing ppgtt binding
drm/i915: move i915_gem_restore_gtt_mappings around
drm/i915: Move ppgtt_bind/unbind around
drm/i915: Unduplicate i915_ggtt_unbind/bind_vma
drm/i915: Don't try to outsmart gcc in i915_gem_gtt.c
rm/i915: Move i915_get_ggtt_vma_pages into ggtt_bind_vma
drm/i915: Update DRIVER_DATE to 20150423
drm/i915: Enable cmd parser to do secure batch promotion for aliasing ppgtt
Merge commit '75d04a3773ecee617847de963ae4195d6aa74c28' into drm-intel-next-queued
drm/vblank: Fixup and document timestamp update/read barriers
drm/atomic-helper: Really recover pre-atomic plane/cursor behavior
drm/i915: Simplify cmd-parser DISPATCH_SECURE check
drm/i915/skl: Add support to load SKL CSR firmware.
drm/edid: Kerneldoc for newly added edid_corrupt
drm/i915: Update DRIVER_DATE to 20150508
drm/atomic-helpers: Update vblank timestamping constants
drm/atomic-helpers: Export drm_atomic_helper_update_legacy_modeset_state
drm/i915: Remove unused variable from i915_gem_mmap_gtt
drm/i915: s/\<rq\>/req/g
drm/i915: Update DRIVER_DATE to 20150522
Revert "drm/i915: Force clean compilation with -Werror"
drm: check for garbage in unused addfb2 fields
drm/i915: Disable 12bpc hdmi for now
drm/atomic: Extract needs_modeset function
drm/dp/mst: make sure mst_primary mstb is valid in work function
drm/vgem: Set unique to "vgem"

Dave Airlie (42):
Merge tag 'topic/drm-misc-2015-05-06' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge tag 'drm-intel-next-2015-04-23-fixed' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
Merge tag 'drm-intel-next-2015-05-08' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge tag 'topic/drm-misc-2015-05-19' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge tag 'drm-amdkfd-next-2015-05-19' of git://people.freedesktop.org/~gabbayo/linux into drm-next
Backmerge v4.1-rc4 into into drm-next
Merge branch 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge branch 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge branch 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux into drm-next
Merge tag 'drm-intel-next-2015-05-22' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
Merge tag 'drm-intel-next-fixes-2015-05-29' of git://anongit.freedesktop.org/drm-intel into drm-next
Add virtio gpu driver.
Merge tag 'drm-amdkfd-next-2015-06-03' of git://people.freedesktop.org/~gabbayo/linux into drm-next
Merge tag 'topic/drm-misc-2015-05-27' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge tag 'v4.1-rc6' into drm-next
Merge branch 'linux-4.1.0-rc5-tilcdc-refactor' of https://github.com/jsarha/linux into drm-next
Merge branch 'virtio-gpu-drm-next' of git://git.kraxel.org/linux into drm-next
Merge branch 'drm-next-4.2-amdgpu' of git://people.freedesktop.org/~agd5f/linux into drm-next
virtgpu: include linux/types.h to avoid warning.
Merge branch 'drm-next-4.2-amdgpu' of git://people.freedesktop.org/~agd5f/linux into drm-next
Merge branch '2015-06-08-st-drm-next' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next
Merge tag 'drm-amdkfd-next-fixes-2015-06-10' of git://people.freedesktop.org/~gabbayo/linux into drm-next
Merge tag 'drm-intel-next-fixes-2015-06-11' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next
Merge tag 'omapdrm-4.2-atomic' of git://git.kernel.org/.../tomba/linux into drm-next
drm/virtgpu: initialise fbdev after getting initial display info
virtio-gpu: add locking for vbuf pool
Merge tag 'drm-amdkfd-next-fixes-2015-06-16' of git://people.freedesktop.org/~gabbayo/linux into drm-next
Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge tag 'drm/tegra/for-4.2-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
Merge tag 'drm/panel/for-4.2-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
Merge branch 'virtio-gpu-drm-next' of git://git.kraxel.org/linux into drm-next
Merge tag 'drm-intel-next-fixes-2015-06-18' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge tag 'topic/drm-misc-2015-06-22' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge branch 'exynos-drm-next' of git://git.kernel.org/.../daeinki/drm-exynos into drm-next
of: add EXPORT_SYMBOL for of_graph_get_endpoint_by_regs
Merge tag 'drm-intel-next-fixes-2015-06-22' of git://anongit.freedesktop.org/drm-intel into drm-next
drm/dp/mst: take lock around looking up the branch device on hpd irq
drm/dp/mst: close deadlock in connector destruction.

David Herrmann (3):
drm: drop unused 'magicfree' list
drm: simplify authentication management
drm: simplify master cleanup

David Zhang (1):
drm/amdgpu: remove the VI hardware semaphore in ring sync

Deepak S (6):
drm/i915/chv: Remove Wait for a previous gfx force-off
drm/i915: Re-adjusting rc6 promotional timer for chv
drm/i915: Setup static bias for GPU
drm/i915/vlv: Remove wait for for punit to updates freq.
drm/i915/chv: Extend set idle rps wa to chv
drm/i915/chv: Set min freq to efficient frequency on chv

Denys Vlasenko (1):
radeon: Deinline indirect register accessor functions

Doug Anderson (1):
drm/bridge: dw-hdmi: Return number of EDID modes

Durgadoss R (1):
drm/i915: PSR: Keep sink state consistent with source

Eric Nelson (1):
drm/panel: simple: Add display timing for HannStar HSD100PXN1

Fabian Frederick (3):
drm/i915: use ERR_CAST instead of ERR_PTR/PTR_ERR
drm/msm: use IS_ERR() to check msm_ioremap() return
drm/msm: use IS_ERR() to check regulator_get() return

Fabio Estevam (1):
drm/bridge: dw-hdmi: Staticize dw_hdmi_bridge_funcs

Firo Yang (1):
drm/amdkfd: Remove unessary void pointer cast

Francisco Jerez (3):
drm/i915: Fix command parser to validate multiple register access with the same command.
drm/i915: Extend the parser to check register writes against a mask/value pair.
drm/i915: Add SCRATCH1 and ROW_CHICKEN3 to the register whitelist.

Frediano Ziglio (11):
drm/qxl: Do not cause spice-server to clean our objects
drm/qxl: Do not leak memory if qxl_release_list_add fails
drm/qxl: Fix print statement not using uninitialized variable
drm/qxl: Avoid double free on error
drm/qxl: Handle all errors in qxl_surface_evict
drm/qxl: Fix return for qxl_release_alloc
drm/qxl: Handle correctly failures in qxl_alloc_relase_reserved
drm/qxl: Remove format string errors
drm/qxl: Move main reference counter to GEM object instead of TTM ones
drm/qxl: Simplify cleaning qxl processing command
drm/qxl: Propagate correctly errors from qxlhw_handle_to_bo

Geert Uytterhoeven (2):
drm/bridge: ptn3460: Include linux/gpio/consumer.h
drm/bridge: ps8622: Include linux/gpio/consumer.h

Gerd Hoffmann (5):
drm/qxl: rewrite framebuffer support
break kconfig dependency loop
drm_vblank_get: don't WARN_ON in case vblanks are not initialized
Add MAINTAINERS entry for virtio-gpu.
Add virtio-vga bits.

Gustavo Padovan (17):
drm/atomic: remove duplicated assignment of old_plane_state
drm/exynos: atomic phase 1: use drm_plane_helper_update()
drm/exynos: atomic phase 1: use drm_plane_helper_disable()
drm/exynos: atomic phase 1: add .mode_set_nofb() callback
drm/exynos: atomic phase 2: wire up state reset(), duplicate() and destroy()
drm/exynos: atomic phase 2: keep track of framebuffer pointer
drm/exynos: atomic phase 3: atomic updates of planes
drm/exynos: atomic phase 3: use atomic .set_config helper
drm/exynos: atomic phase 3: convert page flips
drm/exynos: remove exported functions from exynos_drm_plane
drm/exynos: don't disable unused functions at init
drm/exynos: move exynos_drm_crtc_disable()
drm/exynos: add exynos specific .atomic_commit()
drm/exynos: atomic dpms support
drm/exynos: remove unnecessary calls to disable_plane()
drm/exynos: split exynos_crtc->dpms in enable() and disable()
drm/exynos: add error messages if clks failed to get enabled

Hai Li (8):
dt-bindings: Add MSM DSI controller documentation
dt-bindings: Add MSM eDP controller documentation
drm/msm: Use customized function to wait for atomic commit done
drm/msm/mdp5: Wait for PP_DONE irq for command mode CRTC atomic commit
drm/msm/dsi: Add DSI PLL clock driver support
drm/msm/dsi: Enable PLL driver in MSM DSI
drm/msm/dsi: Separate PHY to another platform device
drm/msm/mdp5: Always generate active-high sync signals for DSI

Heiko Schocher (1):
drm/panel: simple: Add support for LG LB070WV8 800x480 7" panel

Hyungwon Hwang (17):
drm/exynos: dsi: check whether dsi is enabled before sending data
drm/exynos: ipp: fix wrong index referencing a config element
drm/exynos: ipp: validate a GEM handle with multiple planes
drm/exynos: remove the dependency of DP driver for ARCH_EXYNOS
drm/exynos: Add the dependency for DRM_EXYNOS to DPI/DSI/DP
drm/exynos: add drm_iommu_attach_device_if_possible()
drm/exynos: fix the input prompt of Exynos7 DECON
of: add helper for getting endpoint node of specific identifiers
drm/exynos: mic: add MIC driver
drm/exynos: dsi: rename pll_clk to sclk_clk
drm/exynos: dsi: add macros for register access
drm/exynos: dsi: make use of driver data for static values
drm/exynos: dsi: make use of array for clock access
drm/exynos: dsi: add support for Exynos5433
drm/exynos: dsi: add support for MIC driver as a bridge
drm/exynos: dsi: do not set TE GPIO direction by input
ARM: dts: rename the clock of MIPI DSI 'pll_clk' to 'sclk_mipi'

Imre Deak (15):
drm/i915: use proper FBC base register on all new platforms
drm/i915/bxt: map GTT as uncached
drm/i915/gen9: fix PIPE_CONTROL flush for VS_INVALIDATE
drm/i915/bxt: add bxt_init_clock_gating
drm/i915/bxt: add GEN8_SDEUNIT_CLOCK_GATE_DISABLE workaround
drm/i915/bxt: support for HPD long/short status decoding
drm/i915/bxt: add description about the BXT PHYs
drm/i915/bxt: add bxt_find_best_dpll
drm/i915: suppress false PLL state warnings on non-GMCH platforms
drm/i915: factor out ddi_get_encoder_port
drm/i915: fix intel_prepare_ddi
drm/i915/bxt: limit WaDisableMaskBasedCammingInRCC to stepping A
drm/i915/skl: add F0 stepping ID
drm/i915/bxt: fix WaForceContextSaveRestoreNonCoherent on steppings B0+
drm/i915/skl: enable WaForceContextSaveRestoreNonCoherent

Inki Dae (5):
drm/exynos: vidi: remove unused varables
drm/exynos: add a dependency on FB_S3C to DECON driver
drm/exynos: fimd: fix page fault issue with iommu
drm/exynos: do not wait for vblank at atomic operation
of: fix a build error to of_graph_get_endpoint_by_regs function

Jack Xiao (3):
drm/amdgpu: fix error check issue in amdgpu_mn_invalidate_range_start
drm/amdgpu: allow unaligned memory access (v2)
drm/amdgpu: add zero timeout check in amdgpu_fence_wait_seq_timeout

Jammy Zhou (10):
drm/amdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UC
drm/amdgpu: add ctx_id to the WAIT_CS IOCTL (v4)
drm/amdgpu: check context id for context switching (v2)
drm/amdgpu: add flags for amdgpu_ib structure
drm/amdgpu: add CE preamble flag v3
drm/amdgpu: expose the max virtual address
drm/amdgpu: do necessary NULL check
drm/amdgpu: switch to amdgpu folder for firmware files v2
drm/amdgpu: rewording some left radeons
drm/amdgpu: remove unused AMDGPU_IB_FLAG_GDS

Jani Nikula (26):
drm/i915: rename GMBUS_PORT_* macros as GMBUS_PIN_*
drm/i915: refer to pin instead of port in the intel_i2c.c interfaces
drm/i915: index gmbus tables using the pin pair number
drm/i915: base gmbus pin validity check on the gmbus pin map array
drm/i915: add i915 specific connector debugfs file for DPCD
drm/i915: fix build for DEBUG_FS=n
drm/i915: add bxt gmbus support
drm/i915/hdmi: fix vlv infoframe port check
drm/i915/hdmi: check port in ibx_infoframe_enabled
drm/i915: make drm_crtc_helper_funcs const data
drm/i915/audio: do not mess with audio registers if port is invalid
drm/sysfs: add a helper for extracting connector type from kobject
drm/sysfs: make optional attribute groups per connector type
drm/sysfs: split DVI-I and TV-out attributes
drm/sysfs: remove unnecessary connector type checks
drm/i915: constify find_section in VBT parsing
drm/i915: constify validate_vbt in VBT parsing
drm/i915: don't register invalid gmbus pins for bdw
drm/i915: don't register invalid gmbus pins for skl
drm/i915: clean up dsi pll calculation
drm/i915/dsi: add support for DSI PLL N1 divisor values
drm/i915/bios: remove a redundant NULL pointer check
drm/i915/bios: abstract finding VBT in BIOS to a separate function
drm/i915/bios: be more explicit about discarding iomem address space
drm/i915/dp: make link rate printing prettier
drm/i915: add HAS_DP_MST feature test macro

Javier Martinez Canillas (1):
drm/bridge: ptn3460: Fix I2C ID table to match the reported modalias

Jeff McGee (4):
drm/i915: Split SSEU init into functions by platform
drm/i915/bxt: Determine BXT slice/subslice/EU info
drm/i915: Split-up SSEU device status by platform
drm/i915/bxt: Support BXT in SSEU device status dump

Jesse Barnes (4):
drm/i915/vlv: check port in infoframe_enabled v2
drm/i915/bxt: fix panel fitter setup in crtc disable/enable
drm/i915/vlv: remove wait for previous GFX clk disable request
drm/i915/vlv: remove wait for previous GFX clk disable request

Joe Perches (2):
drm/radeon: Use DECLARE_BITMAP
drm/amdkfd: Use DECLARE_BITMAP

John Harrison (4):
drm/i915: Rename 'do_execbuf' to 'execbuf_submit'
drm/i915: Make intel_logical_ring_begin() static
drm/i915: Move common request allocation code into a common function
drm/i915: Fix for ringbuf space wait in LRC mode

Jon Hunter (1):
drm/dp: Fix comment in DP helper

Joonas Lahtinen (6):
drm/i915: Do not clear mappings beyond VMA size
drm/i915: Do not make assumptions on GGTT VMA sizes
drm/i915: Consider object pinned if any VMA is pinned
drm/i915: Add a partial GGTT view type
drm/i915: Use partial view in mmap fault handler
drm/i915: Reject huge tiled objects

Joonyoung Shim (6):
drm/exynos: fix source data argument for plane
drm/exynos: use adjusted_mode of crtc_state instead of mode
drm/exynos: remove to call mixer_wait_for_vblank
drm/exynos: remove chained calls to enable
drm/exynos: initialize VIDCON0 when fimd is disabled
drm/exynos: add Exynos5433 decon driver

Josef Holzmayr (1):
DRM: Don't re-poll connector for disconnect

Jyri Sarha (5):
drm/tilcdc: Fix module unloading
drm/tilcdc: Remove tilcdc slave support for tda998x driver
drm/tilcdc: Add support for external tda998x encoder
drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding support
drm/tilcdc: Force building of DRM_TILCDC_SLAVE_COMPAT

Ken Wang (5):
drm/amdgpu add max_memory_clock for interface query (v2)
drm/amdgpu add ce_ram_size for interface query
drm/amdgpu: add me/ce/pfp_feature_version interface query
drm/amdgpu: add ib_size/start_alignment interface query
drm/amdgpu: add vram_type and vram_bit_width for interface query (v2)

Krzysztof Kozlowski (1):
drm/exynos: Remove unused vma field of exynos_drm_gem_obj

Laurent Pinchart (57):
drm: adv7511: Fix crash in IRQ handler when no encoder is associated
drm: rcar-du: Document the rcar_du_crtc structure
drm: rcar-du: Document the rcar_du_plane_state structure
drm: rcar-du: Move properties from rcar_du_planes to rcar_du_device
drm: rcar-du: Embed rcar_du_planes structure into rcar_du_group
drm: rcar-du: Rename to_rcar_du_plane_state to to_rcar_plane_state
drm: rcar-du: Add plane allocation debugging
drm: rcar-du: Keep plane to CRTC associations when disabling a plane
drm: rcar-du: Consider plane to CRTC associations in the plane allocator
drm: rcar-du: Store the number of CRTCs per group in the group structure
drm: rcar-du: Split planes pre-association 4/4 between CRTCs
drm/msm/atomic: Clean up planes in the error paths of .atomic_commit()
drm: omapdrm: Store the rotation property in dev->mode_config
drm: omapdrm: Apply settings synchronously
drm: omapdrm: Rename omap_crtc_page_flip_locked to omap_crtc_page_flip
drm: omapdrm: Rename omap_crtc page flip-related fields
drm: omapdrm: Simplify IRQ registration
drm: omapdrm: Cancel pending page flips when closing device
drm: omapdrm: Rework page flip handling
drm: omapdrm: Turn vblank on/off when enabling/disabling CRTC
drm: omapdrm: Fix page flip race with CRTC disable
drm: omapdrm: Clean up #include's
drm: omapdrm: Rename CRTC DSS operations with an omap_crtc_dss_ prefix
drm: omapdrm: Rework CRTC enable/disable for atomic updates
drm: omapdrm: Implement encoder .disable() and .enable() operations
drm: omapdrm: Wire up atomic state object scaffolding
drm: omapdrm: Implement planes atomic operations
drm: omapdrm: Handle primary plane config through atomic plane ops
drm: omapdrm: Switch plane update to atomic helpers
drm: omapdrm: Switch mode config to atomic helpers
drm: omapdrm: Switch connector DPMS to atomic helpers
drm: omapdrm: Replace encoder mode_fixup with atomic_check
drm: omapdrm: Implement asynchronous commit support
drm: omapdrm: Switch page flip to atomic helpers
drm: omapdrm: Drop manual framebuffer pin handling
drm: omapdrm: Switch crtc and plane set_property to atomic helpers
drm: omapdrm: Move plane info and win out of the plane structure
drm: omapdrm: Move crtc info out of the crtc structure
drm: omapdrm: Remove omap_crtc enabled field
drm: omapdrm: Remove omap_plane enabled field
drm: omapdrm: Make the omap_crtc_flush function static
drm: omapdrm: Don't get/put dispc in omap_crtc_flush()
drm: omapdrm: omap_crtc_flush() isn't called with modeset locked
drm: omapdrm: Support unlinking page flip events prematurely
drm: omapdrm: Remove nested PM get/sync when configuring encoders
drm: omapdrm: Simplify DSS power management
drm: omapdrm: Move encoder setup to encoder operations
drm: omapdrm: Don't flush CRTC when enabling or disabling it
drm: omapdrm: Don't setup planes manually from CRTC .enable()/.disable()
drm: rcar-du: Print the error value when DRM/KMS init fails
drm: rcar-du: Disable all planes when stopping the CRTC
drm: rcar-du: Fix crash with groups that have less than 9 planes
drm: rcar-du: Clarify error message when encoder initialization fails
drm: rcar-du: Convert rcar_du_encoders_init_one() return value to 0/<0
drm: rcar-du: Clean up planes in the error paths of .atomic_commit()
drm: rcar-du: Use the drm atomic state duplication helpers for planes
drm/atomic: Don't set crtc_state->enable manually

Leo Liu (2):
drm/amdgpu: recalculate VCE firmware BO size
drm/amdgpu: implement VCE two instances support

Lukas Wunner (1):
drm/nouveau: Pause between setting gpu to D3hot and cutting the power

Maarten Lankhorst (17):
drm/i915: use kref_put_mutex in i915_gem_request_unreference__unlocked
drm/i915: Remove implicitly disabling primary plane for now
drm/i915: Add a way to disable planes without updating state
drm/i915: Use the disable callback for disabling planes.
drm/i915: get rid of primary_enabled and use atomic state
drm/i915: Move intel_(pre_disable/post_enable)_primary to intel_display.c, and use it there.
drm/i915: Rename intel_crtc_dpms_overlay.
drm/i915: Move toggling planes out of crtc enable/disable.
drm/i915: get rid of -Iinclude/drm
drm/core: get rid of -Iinclude/drm
drm/atomic: add drm_atomic_get_existing_*_state helpers
drm/atomic: Allow drivers to subclass drm_atomic_state, v3
drm/i915: Always keep crtc_state->active in sync with enable
drm/atomic: add commit_planes_on_crtc helper
drm/atomic: add drm_atomic_add_affected_planes
drm/atomic: add all affected planes in drm_atomic_helper_check_modeset
drm/atomic: Clear crtc_state->active in drm_atomic_helper_set_config.

Magnus Damm (1):
drm/cma: Fix 64-bit size_t build warnings

Marek Ol??k (8):
drm/radeon: add a GPU reset counter queryable by userspace
drm/amdgpu: remove unsafe context releasing
drm/amdgpu: make the CTX ioctl thread-safe
drm/amdgpu: add and implement the GPU reset status query
drm/amdgpu: don't set unused tiling flags
drm/amdgpu: rework tiling flags
drm/amdgpu: rename GEM_OP_SET_INITIAL_DOMAIN -> GEM_OP_SET_PLACEMENT
drm/amdgpu: only support IBs in the buffer list (v2)

Marek Szyprowski (3):
drm/exynos: fimd: ensure proper hw state in fimd_clear_channel()
drm/exynos: iommu: detach from default dma-mapping domain on init
drm/exynos: iommu: improve a check for non-iommu dma_ops

Mario Kleiner (3):
drm: Prevent invalid use of vblank_disable_immediate. (v2)
drm: Zero out invalid vblank timestamp in drm_update_vblank_count. (v2)
drm/qxl: Fix qxl_noop_get_vblank_counter()

Masanari Iida (1):
drm/i915: Fix typo in intel_runtime_pm.c

Matt Roper (3):
drm/i915: Switch to full atomic helpers for plane updates/disable, take two
drm/i915: Clear crtc atomic flags at beginning of transaction
drm/i915: Set crtc_state->active to false when CRTC is disabled (v2)

Michel D?nzer (2):
drm: Fix off-by-one in vblank hardware counter wraparound handling
drm/radeon: Fix max_vblank_count value for current display engines

Michel Thierry (17):
drm/i915: Remove _entry from PPGTT page structures
drm/i915: Remove unnecessary gen8_ppgtt_unmap_pages
drm/i915/gen8: Initialize page tables
drm/i915/gen8: Add dynamic allocation macros and helper functions
drm/i915/gen8: page directories rework allocation
drm/i915/gen8: pagetable allocation rework
drm/i915/gen8: Update pdp switch and point unused PDPs to scratch page
drm/i915: num_pd_pages/num_pd_entries isn't useful
drm/i915: Extract PPGTT param from page_directory alloc
drm/i915/gen8: Split out mappings
drm/i915/gen8: begin bitmap tracking
drm/i915/gen8: Dynamic page table allocations
drm/i915: Use complete address space in true PPGTT
drm/i915: Remove unused variable from execlists_context_queue
drm/i915: Fix 32b overflow check in gen8_ppgtt_alloc_page_directories
drm/i915: Remove unnecessary null check in execlists_context_unqueue
drm/i915: limit PPGTT size to 2GB in 32-bit platforms

Mika Kahola (2):
drm/i915: eDP link training optimization
drm/i915: DP link training optimization

Mika Kuoppala (6):
drm/i915: Move vm page allocation in proper place
drm/i915/gtt: Allocate va range only if vma is not bound
drm/i915: Clear vma->bound on unbinding
drm/i915: Free wa_batchbuffer when freeing error state
drm/i915/gtt: Fix the boundary check for vm area
drm/i915: Don't read dpcd for disconnected ports

Mikko Rapeli (1):
drm/msm: use __s32, __s64, __u32 and __u64 from linux/types.h for uabi

Nicholas Mc Guire (6):
drm/msm: fixup wait_for_completion_timeout handling
drm/msm: fix HZ dependency of timeout
drm/msm: drop redundant output in debug message
drm/msm: match wait_for_completion_timeout return type
drm/msm: wait_for_completion_timeout return is never negative
drm/msm: drop redundant debug output

Nick Hoath (14):
drm/i915/bxt: HardWare WorkAround ring initialisation for Broxton
drm/i915/bxt: Add Broxton steppings
drm/i915/bxt: Add WaDisableThreadStallDopClockGating
drm/i915/bxt: Add WaDisableSbeCacheDispatchPortSharing
drm/i915/bxt: Add WaForceContextSaveRestoreNonCoherent
drm/i915/bxt: Mark WaDisablePartialInstShootdown as for Broxton also.
drm/i915/bxt: Mark workaround as for Skylake & Broxton
drm/i915/bxt: Enable WaDisableDgMirrorFixInHalfSliceChicken5 for Broxton
drm/i915/bxt: Enable WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken for Broxton
drm/i915/bxt: Enable WaEnableYV12BugFixInHalfSliceChicken7 for Broxton
drm/i915/bxt: Move WaForceEnableNonCoherent to Skylake only
drm/i915/bxt: Mark Wa4x4STCOptimizationDisable as for Broxton also.
drm/i915/bxt: Mark WaDisablePartialResolveInVc as for Broxton also.
drm/i915/bxt: Mark WaCcsTlbPrefetchDisable as for Broxton also.

Oded Gabbay (11):
drm/amdkfd: reformat some debug prints
drm/amdkfd: Use new struct for asic specific ops
drm/amdkfd: make the sdma vm init to be asic specific
MAINTAINERS: update amdkfd Oded's email address
drm/radeon: Add init interrupt kfd->kgd interface
drm/amdkfd: Add module parameter of send_sigterm
drm/amdkfd: change driver version to 0.7.2
drm/amdkfd: add debug print to kfd_events.c
drm/amdkfd: Add missing properties to CZ device info
drm/amdkfd: remove not used defines from cik_regs.h
drm/radeon: remove obsolete kfd_bo from radeon_device

Oleg Drokin (1):
drm: fix a memleak on mutex failure path

Paulo Zanoni (1):
drm/i915: disable IPS while getting the sink CRCs

Peter Antoine (1):
drm/i915: Warn when execlists changes context without IRQs

Philipp Zabel (1):
drm/panel: simple: Add bus format for HannStar HSD100PXN1

Rebecca N. Palmer (1):
drm/i915: Fix possible security hole in command parsing

Rickard Strandqvist (2):
drm/armada: armada_output: Remove some unused functions
drm/armada: armada_drv: Remove unused function

Rob Clark (11):
drm/msm/adreno: dump scratch regs and other info on hang
drm/msm: add missing DRIVER_ATOMIC flag
drm/msm: update generated headers
drm/msm/mdp4: Support NV12MT format in mdp4
drm/msm: clarify downstream bus scaling
drm/msm: adreno a306 support
drm/msm: workaround for missing irq on a306/8x16
drm/msm/mdp5: fix for crash in disable path
drm/msm/edp: fix build warning - missing prototype
drm/msm: fix timeout calculation
drm/msm: restart queued submits after hang

Robert Beckett (1):
drm/i915/bxt: add workaround to avoid PTE corruption

Rodrigo Vivi (8):
drm/i915/bdw: WaProgramL3SqcReg1Default
drm/i915: PSR: Remove wrong LINK_DISABLE.
drm/i915: PSR: Fix DP_PSR_NO_TRAIN_ON_EXIT logic
drm/i915: PSR: deprecate link_standby support for core platforms.
drm/i915: PSR VLV: Add single frame update.
drm/i915: Return the frontbuffer flip to enable intel_crtc_enable_planes.
drm/i915: Another fbdev hack to avoid PSR on fbcon.
drm/i915/skl: Fix DMC API version in firmware file name

Russell King (3):
drm/i2c: tda998x: use drm_hdmi_avi_infoframe_from_display_mode()
drm/i2c: tda998x: fix compiler warning for ssize_t
drm: clean up drm_mm debugfs output

Sagar Kamble (2):
drm/i915: Naming constants to be written to GEN9_PG_ENABLE
drm/i915: Disable Render power gating

Satheeshakrishna M (8):
drm/i915/bxt: Add IS_BROXTON macro
drm/i915/bxt: Define BXT power domains
drm/i915/bxt: Restrict PORT_CLK_SEL programming below gen9
drm/i915/bxt: Define bxt DDI PLLs and implement enable/disable sequence
drm/i915/bxt: BXT clock divider calculation
drm/i915/bxt: Assign PLL for pipe
drm/i915/bxt: Determine PLL attached to pipe
drm/i915/bxt: Determine programmed frequency

Shashank Sharma (4):
drm/i915/bxt: DDI Hotplug interrupt setup
drm/i915/bxt: Add DDI hpd handler
drm/i915/bxt: Add BXT support in gen8_irq functions
drm/i915/bxt: Enable GMBUS IRQ

Sonika Jindal (8):
drm/i915/skl: Enabling PSR2 SU with frame sync
drm/i915/skl: Allow universal planes to position
drm/i915/skl: Support for 90/270 rotation
drm/i915/skl: Add back HDMI translation table
drm/i915/skl: Add module parameter to select edp vswing table
drm/i915: Rename dp rates array as per platform
drm/i915/skl: Swapping 90 and 270 to be compliant with Xrandr
Documentation/drm: Update rotation property

Sonny Jiang (4):
drm/amdgpu fix amdgpu.dpm=0 (v2)
drm/amdgpu: enable uvd dpm and powergating
drm/amdgpu: enable vce powergating
drm/amdgpu: fix a amdgpu_dpm=0 bug

Stephane Viau (3):
drm/msm/mdp: Add support for more 32-bit RGB formats
drm/msm/hdmi: Point to the right struct device
drm/msm/hdmi: Use pinctrl in HDMI driver

Suketu Shah (6):
drm/i915/bxt: Add DC9 Trigger sequence
drm/i915/skl: Add DC5 Trigger Sequence
drm/i915/skl: Assert the requirements to enter or exit DC5.
drm/i915/skl: Add DC6 Trigger sequence.
drm/i915/skl: Assert the requirements to enter or exit DC6.
drm/i915/skl: Enable runtime PM

Sumit Singh (1):
drm/i915/bxt: Enable PTE encoding

Thierry Reding (7):
drm/bridge: Remove stale ptn3460.h include
drm/panel: Constify OF match tables
drm/panel: ld9040: Remove useless padding
drm/tegra: dpaux: Fix transfers larger than 4 bytes
drm/tegra: gem: Take into account IOMMU aperture
drm/tegra: gem: Flush pages after allocation
drm/tegra: dpaux: Registers are 32-bit

Thomas Richter (2):
Enabled dithering in the intel VCH DVO for 18bpp pipelines.
drm/i915:?Enable dithering on NatSemi DVO2501 for Fujitsu S6010

Todd Previte (8):
drm/i915: Add automated testing support for Displayport compliance testing
drm/i915: Add a delay in Displayport AUX transactions for compliance testing
drm: Fix the 'native defer' message in drm_dp_i2c_do_msg()
drm: Fix for DP CTS test 4.2.2.5 - I2C DEFER handling
drm/i915: Move Displayport test request and sink IRQ logic to intel_dp_detect()
drm: Add edid_corrupt flag for Displayport Link CTS 4.2.2.6
drm/i915: Implement the intel_dp_autotest_edid function for DP EDID complaince tests
drm/i915: Add debugfs test control files for Displayport compliance testing

Tomasz Figa (1):
drm/prime: Allow internal imports without import_sg_table

Tomi Valkeinen (7):
drm/tilcdc: use pm_runtime_irq_safe()
drm: omapdrm: omap_plane_setup() cannot fail, use WARN
drm: omapdrm: inline omap_plane_setup into update/disable
drm: omapdrm: if omap_plane_atomic_update fails, disable plane
drm: omapdrm: add lock for fb pinning
drm: omapdrm: merge omap_crtc_flush and omap_crtc_atomic_flush
drm: omapdrm: new vblank and event handling

Tvrtko Ursulin (7):
drm/i915: Fix view type in warning message
drm/i915: Simplify and fix object to display tracking
drm/i915: Fixup kerneldoc for struct intel_context
drm/i915/skl: Support Y tiling in MMIO flips
drm/i915: Remove duplicated intel_tile_height declaration
drm/i915: Output scaler related pipe config debug in a single line
drm/i915: Dump some DPLL fields in pipe config debug

Uwe Kleine-K?nig (3):
drm/bridge: ps8622: Pass flags to devm_gpiod_get()
drm/bridge: ptn3460: Pass flags to devm_gpiod_get()
drm/msm: use devm_gpiod_get_optional for optional reset gpio

Valentin Rothberg (1):
drm/amdkfd: avoid CONFIG_ prefix for non-Kconfig symbols

Vandana Kannan (10):
drm/i915/bxt: Increase DDI buf idle timeout
drm/i915/bxt: don't use unsupported port detection
drm/i915: Rename vlv_cdclk_freq to cdclk_freq
drm/i915/bxt: add display initialize/uninitialize sequence (CDCLK)
drm/i915/bxt: add display initialize/uninitialize sequence (PHY)
drm/i915/bxt: VSwing programming sequence
drm/i915/bxt: Update max level of vswing
drm/i915/bxt: BLC implementation
drm/i915/bxt: Port PLL programming BUN
drm/i915/bxt: Move around lane stagger calculation

Ville Syrj?l? (44):
drm/i915: Convert BUGs to WARNs in the video overlay code
drm/i915: Convert overlay->{active, pfit_active} to bools
drm/i915: Mark the overlay active only if we got ring space
drm/i915: Enable DVO 2x clock around DVO encoder init
drm/i915: Return more precise cdclk for gen2/3
drm/i915: ILK cdclk seems to be 450MHz
drm/i915: Assume 400MHz cdclk for the rest of gen4-7
drm/i915: Simplify ilk_get_aux_clock_divider
drm/i915: Convert the ddi cdclk code to get_display_clock_speed
drm/i915: Silence a sparse warning
drm/i915: Fix the VBT child device parsing for BSW
drm/edid: Fix up DMT modes
drm/edid: Add the DMT ID in the comments
drm/edid: Add DMT modes with ID > 0x50
drm/i915: Use POSTING_READ() in intel_sdvo_write_sdvox()
drm/i915: s/9/intel_freq_opcode(450)/
drm/i915: Add missing POSTING_READ()s to BXT dbuf enable sequence
drm/i915: Implement chv display PHY lane stagger setup
drm/i915: Work around DISPLAY_PHY_CONTROL register corruption on CHV
Revert "drm/i915: Hack to tie both common lanes together on chv"
drm/i915: Only wait for required lanes in vlv_wait_port_ready()
drm/edid: Add CEA modes before inferred modes
drm/i915: Remove excess inline keywords
drm/i915: Use HOTPLUG_INT_STATUS_G4X on VLV/CHV
drm/i915: Remove a bogus 12bpc "toggle" from intel_disable_hdmi()
drm/i915: Remove the double register write from intel_disable_hdmi()
drm/i915: Clarfify the DP code platform checks
drm/i915: Clean up the CPT DP .get_hw_state() port readout
drm/i915: Fix DP enhanced framing for CPT
drm/i915: Write the SDVO reg twice on IBX
drm/i915: Fix the IBX transcoder B workarounds
drm/i915: Disable HDMI port after the pipe on PCH platforms
drm/i915: Disable SDVO port after the pipe on PCH platforms
drm/i915: Disable CRT port after pipe on PCH platforms
drm/i915: Disable FDI RX/TX before the ports
drm/i915: Use ilk_init_lp_watermarks() on BDW
drm/i915: Move WaProgramL3SqcReg1Default:bdw to init_clock_gating()
drm/i915: Enable GTT caching on gen8
drm/i915: Use the default 600ns LDO programming sequence delay
drm/i915: Throw out WIP CHV power well definitions
drm/i915: Kill intel_flush_primary_plane()
drm/i915: s/dpio_lock/sb_lock/
drm/i915: Adjust sideband locking a bit for CHV/VLV
drm/i915: Don't skip request retirement if the active list is empty

Vincent Abriou (4):
drm/sti: missing first pixel column on HDMI display
drm/sti: VTG interrupt names are badly displayed
drm/sti: hdmi fix CEA-861E video format timing error
drm/sti: vtg fix CEA-861E video format timing error

Wei Yongjun (2):
drm/i915/audio: remove duplicated include from intel_audio.c
drm/sti: correctly test devm_ioremap() return

Yair Shachar (9):
drm/radeon: Add H/W debugger kfd->kgd functions
drm/amdkfd: add H/W debugger IOCTL set definitions
drm/amdkfd: Add static user-mode queues support
drm/amdkfd: Add skeleton H/W debugger module support
drm/amdkfd: Add wave control operation to debugger
drm/amdkfd: Add address watch operation to debugger
drm/amdkfd: Implement (un)register debugger IOCTLs
drm/amdkfd: Implement wave control debugger IOCTL
drm/amdkfd: Implement address watch debugger IOCTL

jilai wang (1):
drm/msm: Call drm_prime_gem_destroy to clean up imported GEM object

kbuild test robot (1):
drm/i915: fix semicolon.cocci warnings

monk.liu (10):
drm/amdgpu: fix bug occurs when bo_list is NULL
drm/amdgpu: let bo_list handler start from 1
drm/amdgpu: fix userptr BO unpin bug (v2)
drm/amdgpu: fix bug of vm_bo_map (v2)
drm/amdgpu: max_pde_used usage should be under protect
drm/amdgpu: sync fence of clear_invalids (v2)
drm/amdgpu: fence should be added to shared slot
drm/amdgpu: remove all sh mem register modification in vm flush
drm/amdgpu: fix no hdp flush for compute ring
drm/amdgpu: add hdp flush for gfx8 compute ring

yanyang1 (1):
drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2)

Documentation/DocBook/drm.tmpl | 64 +-
Documentation/devicetree/bindings/drm/msm/dsi.txt | 120 +
Documentation/devicetree/bindings/drm/msm/edp.txt | 60 +
Documentation/devicetree/bindings/drm/msm/hdmi.txt | 6 +
.../devicetree/bindings/drm/tilcdc/slave.txt | 18 -
.../devicetree/bindings/drm/tilcdc/tilcdc.txt | 27 +
.../bindings/panel/hannstar,hsd100pxn1.txt | 7 +
.../devicetree/bindings/panel/lg,lb070wv8.txt | 7 +
.../devicetree/bindings/video/exynos-mic.txt | 51 +
.../devicetree/bindings/video/exynos5433-decon.txt | 65 +
.../devicetree/bindings/video/exynos_dsim.txt | 31 +-
MAINTAINERS | 11 +-
arch/arm/boot/dts/exynos4.dtsi | 2 +-
arch/x86/kernel/early-quirks.c | 1 +
drivers/gpu/drm/Kconfig | 23 +
drivers/gpu/drm/Makefile | 6 +-
drivers/gpu/drm/amd/amdgpu/Kconfig | 17 +
drivers/gpu/drm/amd/amdgpu/Makefile | 81 +
drivers/gpu/drm/amd/amdgpu/ObjectID.h | 736 +
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2337 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 768 +
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.h | 445 +
drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.c | 105 +
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 1598 +
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 206 +
drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 572 +
drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 221 +
drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 363 +
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 268 +
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1907 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.h | 42 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 796 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 193 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2003 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 832 +
drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 955 +
drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 85 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 545 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.h | 48 +
drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c | 245 +
drivers/gpu/drm/amd/amdgpu/amdgpu_family.h | 62 +
drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 421 +
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 1133 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 371 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gds.h | 72 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 716 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 72 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 30 +
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 395 +
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.h | 44 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 354 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 216 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h | 62 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ioc32.c | 47 +
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 458 +
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 92 +
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 697 +
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 322 +
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 586 +
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 670 +
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 203 +
drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c | 350 +
drivers/gpu/drm/amd/amdgpu/amdgpu_pll.h | 38 +
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 807 +
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.h | 35 +
drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 125 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 561 +
drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 419 +
drivers/gpu/drm/amd/amdgpu/amdgpu_semaphore.c | 102 +
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 234 +
drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 552 +
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 208 +
drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c | 9 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1215 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 317 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 176 +
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 984 +
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h | 39 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 724 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 47 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1269 +
drivers/gpu/drm/amd/amdgpu/atom-bits.h | 48 +
drivers/gpu/drm/amd/amdgpu/atom-names.h | 100 +
drivers/gpu/drm/amd/amdgpu/atom-types.h | 42 +
drivers/gpu/drm/amd/amdgpu/atom.c | 1408 +
drivers/gpu/drm/amd/amdgpu/atom.h | 159 +
drivers/gpu/drm/amd/amdgpu/atombios.h | 8555 +++++
drivers/gpu/drm/amd/amdgpu/atombios_crtc.c | 807 +
drivers/gpu/drm/amd/amdgpu/atombios_crtc.h | 58 +
drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 775 +
drivers/gpu/drm/amd/amdgpu/atombios_dp.h | 42 +
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 2066 ++
drivers/gpu/drm/amd/amdgpu/atombios_encoders.h | 73 +
drivers/gpu/drm/amd/amdgpu/atombios_i2c.c | 158 +
drivers/gpu/drm/amd/amdgpu/atombios_i2c.h | 31 +
drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 6699 ++++
drivers/gpu/drm/amd/amdgpu/ci_dpm.h | 348 +
drivers/gpu/drm/amd/amdgpu/ci_smc.c | 279 +
drivers/gpu/drm/amd/amdgpu/cik.c | 2513 ++
drivers/gpu/drm/amd/amdgpu/cik.h | 33 +
drivers/gpu/drm/amd/amdgpu/cik_dpm.h | 30 +
drivers/gpu/drm/amd/amdgpu/cik_ih.c | 471 +
drivers/gpu/drm/amd/amdgpu/cik_ih.h | 29 +
drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 1407 +
drivers/gpu/drm/amd/amdgpu/cik_sdma.h | 29 +
drivers/gpu/drm/amd/amdgpu/cikd.h | 555 +
drivers/gpu/drm/amd/amdgpu/clearstate_ci.h | 944 +
drivers/gpu/drm/amd/amdgpu/clearstate_defs.h | 44 +
drivers/gpu/drm/amd/amdgpu/clearstate_vi.h | 944 +
drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 1941 ++
drivers/gpu/drm/amd/amdgpu/cz_dpm.h | 237 +
drivers/gpu/drm/amd/amdgpu/cz_ih.c | 452 +
drivers/gpu/drm/amd/amdgpu/cz_ih.h | 29 +
drivers/gpu/drm/amd/amdgpu/cz_ppsmc.h | 185 +
drivers/gpu/drm/amd/amdgpu/cz_smc.c | 962 +
drivers/gpu/drm/amd/amdgpu/cz_smumgr.h | 94 +
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 3802 +++
drivers/gpu/drm/amd/amdgpu/dce_v10_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 3801 +++
drivers/gpu/drm/amd/amdgpu/dce_v11_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 3753 +++
drivers/gpu/drm/amd/amdgpu/dce_v8_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 5644 ++++
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h | 37 +
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4329 +++
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.h | 33 +
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 1339 +
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h | 36 +
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 1301 +
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h | 36 +
drivers/gpu/drm/amd/amdgpu/iceland_dpm.c | 195 +
drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 450 +
drivers/gpu/drm/amd/amdgpu/iceland_ih.h | 29 +
drivers/gpu/drm/amd/amdgpu/iceland_sdma_pkt_open.h | 2167 ++
drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 675 +
drivers/gpu/drm/amd/amdgpu/iceland_smumgr.h | 41 +
drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 3343 ++
drivers/gpu/drm/amd/amdgpu/kv_dpm.h | 229 +
drivers/gpu/drm/amd/amdgpu/kv_smc.c | 219 +
drivers/gpu/drm/amd/amdgpu/ppsmc.h | 196 +
drivers/gpu/drm/amd/amdgpu/pptable.h | 698 +
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 1417 +
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.h | 29 +
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 1483 +
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/smu7.h | 170 +
drivers/gpu/drm/amd/amdgpu/smu7_discrete.h | 514 +
drivers/gpu/drm/amd/amdgpu/smu7_fusion.h | 300 +
drivers/gpu/drm/amd/amdgpu/smu8.h | 72 +
drivers/gpu/drm/amd/amdgpu/smu8_fusion.h | 127 +
drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_cz.h | 147 +
drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_vi.h | 100 +
drivers/gpu/drm/amd/amdgpu/tonga_dpm.c | 194 +
drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 473 +
drivers/gpu/drm/amd/amdgpu/tonga_ih.h | 29 +
drivers/gpu/drm/amd/amdgpu/tonga_ppsmc.h | 198 +
drivers/gpu/drm/amd/amdgpu/tonga_sdma_pkt_open.h | 2240 ++
drivers/gpu/drm/amd/amdgpu/tonga_smc.c | 852 +
drivers/gpu/drm/amd/amdgpu/tonga_smumgr.h | 42 +
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 905 +
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.h | 29 +
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 844 +
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 824 +
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 663 +
drivers/gpu/drm/amd/amdgpu/vce_v2_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 573 +
drivers/gpu/drm/amd/amdgpu/vce_v3_0.h | 29 +
drivers/gpu/drm/amd/amdgpu/vi.c | 1377 +
drivers/gpu/drm/amd/amdgpu/vi.h | 33 +
drivers/gpu/drm/amd/amdgpu/vi_dpm.h | 36 +
drivers/gpu/drm/amd/amdgpu/vid.h | 368 +
drivers/gpu/drm/amd/amdkfd/Makefile | 2 +
drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c | 66 +
drivers/gpu/drm/amd/amdkfd/cik_int.h | 41 +
drivers/gpu/drm/amd/amdkfd/cik_regs.h | 177 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 395 +-
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c | 886 +
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h | 193 +
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 168 +
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h | 294 +
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 60 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 82 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 27 +-
.../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 18 +-
.../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 10 +-
drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 15 +-
drivers/gpu/drm/amd/amdkfd/kfd_events.c | 969 +
drivers/gpu/drm/amd/amdkfd/kfd_events.h | 84 +
drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 188 +
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 5 +-
drivers/gpu/drm/amd/amdkfd/kfd_module.c | 9 +-
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 46 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers.h | 6 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h | 290 +
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 99 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 49 +-
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 18 +-
drivers/gpu/drm/amd/include/amd_shared.h | 81 +
.../gpu/drm/amd/include/asic_reg/bif/bif_4_1_d.h | 921 +
.../drm/amd/include/asic_reg/bif/bif_4_1_sh_mask.h | 10250 ++++++
.../gpu/drm/amd/include/asic_reg/bif/bif_5_0_d.h | 1068 +
.../drm/amd/include/asic_reg/bif/bif_5_0_enum.h | 1198 +
.../drm/amd/include/asic_reg/bif/bif_5_0_sh_mask.h | 11494 +++++++
.../gpu/drm/amd/include/asic_reg/bif/bif_5_1_d.h | 3577 ++
.../drm/amd/include/asic_reg/bif/bif_5_1_enum.h | 1068 +
.../drm/amd/include/asic_reg/bif/bif_5_1_sh_mask.h | 33080 +++++++++++++++++++
.../gpu/drm/amd/include/asic_reg/dce/dce_10_0_d.h | 7350 ++++
.../drm/amd/include/asic_reg/dce/dce_10_0_enum.h | 1773 +
.../amd/include/asic_reg/dce/dce_10_0_sh_mask.h | 16647 ++++++++++
.../gpu/drm/amd/include/asic_reg/dce/dce_11_0_d.h | 7648 +++++
.../drm/amd/include/asic_reg/dce/dce_11_0_enum.h | 6129 ++++
.../amd/include/asic_reg/dce/dce_11_0_sh_mask.h | 17557 ++++++++++
.../gpu/drm/amd/include/asic_reg/dce/dce_8_0_d.h | 5703 ++++
.../drm/amd/include/asic_reg/dce/dce_8_0_sh_mask.h | 13109 ++++++++
.../gpu/drm/amd/include/asic_reg/gca/gfx_7_0_d.h | 2532 ++
.../gpu/drm/amd/include/asic_reg/gca/gfx_7_2_d.h | 2557 ++
.../drm/amd/include/asic_reg/gca/gfx_7_2_enum.h | 6274 ++++
.../drm/amd/include/asic_reg/gca/gfx_7_2_sh_mask.h | 18444 +++++++++++
.../gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h | 2811 ++
.../drm/amd/include/asic_reg/gca/gfx_8_0_enum.h | 6858 ++++
.../drm/amd/include/asic_reg/gca/gfx_8_0_sh_mask.h | 20776 ++++++++++++
.../gpu/drm/amd/include/asic_reg/gmc/gmc_7_0_d.h | 657 +
.../drm/amd/include/asic_reg/gmc/gmc_7_0_sh_mask.h | 6116 ++++
.../gpu/drm/amd/include/asic_reg/gmc/gmc_7_1_d.h | 1464 +
.../drm/amd/include/asic_reg/gmc/gmc_7_1_sh_mask.h | 14416 ++++++++
.../gpu/drm/amd/include/asic_reg/gmc/gmc_8_1_d.h | 1708 +
.../drm/amd/include/asic_reg/gmc/gmc_8_1_enum.h | 1198 +
.../drm/amd/include/asic_reg/gmc/gmc_8_1_sh_mask.h | 15682 +++++++++
.../gpu/drm/amd/include/asic_reg/gmc/gmc_8_2_d.h | 910 +
.../drm/amd/include/asic_reg/gmc/gmc_8_2_enum.h | 1068 +
.../drm/amd/include/asic_reg/gmc/gmc_8_2_sh_mask.h | 7850 +++++
.../gpu/drm/amd/include/asic_reg/oss/oss_2_0_d.h | 642 +
.../drm/amd/include/asic_reg/oss/oss_2_0_sh_mask.h | 2476 ++
.../gpu/drm/amd/include/asic_reg/oss/oss_2_4_d.h | 471 +
.../drm/amd/include/asic_reg/oss/oss_2_4_enum.h | 1340 +
.../drm/amd/include/asic_reg/oss/oss_2_4_sh_mask.h | 2544 ++
.../gpu/drm/amd/include/asic_reg/oss/oss_3_0_1_d.h | 593 +
.../drm/amd/include/asic_reg/oss/oss_3_0_1_enum.h | 1464 +
.../amd/include/asic_reg/oss/oss_3_0_1_sh_mask.h | 3558 ++
.../gpu/drm/amd/include/asic_reg/oss/oss_3_0_d.h | 688 +
.../drm/amd/include/asic_reg/oss/oss_3_0_enum.h | 1497 +
.../drm/amd/include/asic_reg/oss/oss_3_0_sh_mask.h | 3660 ++
.../gpu/drm/amd/include/asic_reg/smu/smu_7_0_0_d.h | 741 +
.../amd/include/asic_reg/smu/smu_7_0_0_sh_mask.h | 3842 +++
.../gpu/drm/amd/include/asic_reg/smu/smu_7_0_1_d.h | 1314 +
.../amd/include/asic_reg/smu/smu_7_0_1_sh_mask.h | 5456 +++
.../gpu/drm/amd/include/asic_reg/smu/smu_7_1_0_d.h | 1344 +
.../drm/amd/include/asic_reg/smu/smu_7_1_0_enum.h | 1191 +
.../amd/include/asic_reg/smu/smu_7_1_0_sh_mask.h | 5648 ++++
.../gpu/drm/amd/include/asic_reg/smu/smu_7_1_1_d.h | 1123 +
.../drm/amd/include/asic_reg/smu/smu_7_1_1_enum.h | 1205 +
.../amd/include/asic_reg/smu/smu_7_1_1_sh_mask.h | 4864 +++
.../gpu/drm/amd/include/asic_reg/smu/smu_7_1_2_d.h | 1273 +
.../drm/amd/include/asic_reg/smu/smu_7_1_2_enum.h | 1246 +
.../amd/include/asic_reg/smu/smu_7_1_2_sh_mask.h | 5834 ++++
.../gpu/drm/amd/include/asic_reg/smu/smu_8_0_d.h | 671 +
.../drm/amd/include/asic_reg/smu/smu_8_0_enum.h | 1072 +
.../drm/amd/include/asic_reg/smu/smu_8_0_sh_mask.h | 2964 ++
.../gpu/drm/amd/include/asic_reg/uvd/uvd_4_2_d.h | 95 +
.../drm/amd/include/asic_reg/uvd/uvd_4_2_sh_mask.h | 800 +
.../gpu/drm/amd/include/asic_reg/uvd/uvd_5_0_d.h | 114 +
.../drm/amd/include/asic_reg/uvd/uvd_5_0_enum.h | 1211 +
.../drm/amd/include/asic_reg/uvd/uvd_5_0_sh_mask.h | 1046 +
.../gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_d.h | 115 +
.../drm/amd/include/asic_reg/uvd/uvd_6_0_enum.h | 1081 +
.../drm/amd/include/asic_reg/uvd/uvd_6_0_sh_mask.h | 1034 +
.../gpu/drm/amd/include/asic_reg/vce/vce_2_0_d.h | 68 +
.../drm/amd/include/asic_reg/vce/vce_2_0_sh_mask.h | 104 +
.../gpu/drm/amd/include/asic_reg/vce/vce_3_0_d.h | 73 +
.../drm/amd/include/asic_reg/vce/vce_3_0_sh_mask.h | 120 +
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 23 +
drivers/gpu/drm/armada/armada_drm.h | 2 -
drivers/gpu/drm/armada/armada_drv.c | 10 -
drivers/gpu/drm/armada/armada_output.c | 16 -
drivers/gpu/drm/armada/armada_output.h | 6 -
drivers/gpu/drm/bridge/dw_hdmi.c | 6 +-
drivers/gpu/drm/bridge/ps8622.c | 27 +-
drivers/gpu/drm/bridge/ptn3460.c | 34 +-
drivers/gpu/drm/drm_atomic.c | 299 +-
drivers/gpu/drm/drm_atomic_helper.c | 186 +-
drivers/gpu/drm/drm_auth.c | 178 +-
drivers/gpu/drm/drm_bridge.c | 242 +
drivers/gpu/drm/drm_cache.c | 5 +-
drivers/gpu/drm/drm_crtc.c | 652 +-
drivers/gpu/drm/drm_crtc_helper.c | 96 +-
drivers/gpu/drm/drm_dp_helper.c | 12 +-
drivers/gpu/drm/drm_dp_mst_topology.c | 67 +-
drivers/gpu/drm/drm_drv.c | 22 +-
drivers/gpu/drm/drm_edid.c | 238 +-
drivers/gpu/drm/drm_edid_load.c | 7 +-
drivers/gpu/drm/drm_flip_work.c | 4 +-
drivers/gpu/drm/drm_fops.c | 12 +-
drivers/gpu/drm/drm_gem_cma_helper.c | 4 +-
drivers/gpu/drm/drm_internal.h | 1 -
drivers/gpu/drm/drm_ioctl.c | 5 +-
drivers/gpu/drm/drm_irq.c | 109 +-
drivers/gpu/drm/drm_mm.c | 4 +-
drivers/gpu/drm/drm_modes.c | 87 +
drivers/gpu/drm/drm_modeset_lock.c | 8 +-
drivers/gpu/drm/drm_prime.c | 10 +-
drivers/gpu/drm/drm_probe_helper.c | 4 +-
drivers/gpu/drm/drm_sysfs.c | 160 +-
drivers/gpu/drm/exynos/Kconfig | 22 +-
drivers/gpu/drm/exynos/Makefile | 2 +
drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 660 +
drivers/gpu/drm/exynos/exynos7_drm_decon.c | 173 +-
drivers/gpu/drm/exynos/exynos_dp_core.c | 21 +-
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 201 +-
drivers/gpu/drm/exynos/exynos_drm_dpi.c | 26 +-
drivers/gpu/drm/exynos/exynos_drm_drv.c | 429 +-
drivers/gpu/drm/exynos/exynos_drm_drv.h | 49 +-
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 539 +-
drivers/gpu/drm/exynos/exynos_drm_encoder.c | 35 +-
drivers/gpu/drm/exynos/exynos_drm_fb.c | 39 +
drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 3 -
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 323 +-
drivers/gpu/drm/exynos/exynos_drm_gem.h | 2 -
drivers/gpu/drm/exynos/exynos_drm_iommu.c | 21 +-
drivers/gpu/drm/exynos/exynos_drm_iommu.h | 11 +
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 81 +-
drivers/gpu/drm/exynos/exynos_drm_mic.c | 490 +
drivers/gpu/drm/exynos/exynos_drm_plane.c | 137 +-
drivers/gpu/drm/exynos/exynos_drm_plane.h | 11 -
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 125 +-
drivers/gpu/drm/exynos/exynos_hdmi.c | 32 +-
drivers/gpu/drm/exynos/exynos_mixer.c | 118 +-
drivers/gpu/drm/i2c/adv7511.c | 2 +-
drivers/gpu/drm/i2c/tda998x_drv.c | 27 +-
drivers/gpu/drm/i915/Makefile | 5 +-
drivers/gpu/drm/i915/dvo_ivch.c | 21 +-
drivers/gpu/drm/i915/dvo_ns2501.c | 670 +-
drivers/gpu/drm/i915/i915_cmd_parser.c | 209 +-
drivers/gpu/drm/i915/i915_debugfs.c | 733 +-
drivers/gpu/drm/i915/i915_dma.c | 283 +-
drivers/gpu/drm/i915/i915_drv.c | 120 +-
drivers/gpu/drm/i915/i915_drv.h | 296 +-
drivers/gpu/drm/i915/i915_gem.c | 989 +-
drivers/gpu/drm/i915/i915_gem_batch_pool.c | 84 +-
drivers/gpu/drm/i915/i915_gem_batch_pool.h | 42 +
drivers/gpu/drm/i915/i915_gem_context.c | 39 +-
drivers/gpu/drm/i915/i915_gem_debug.c | 92 +-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 90 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 1118 +-
drivers/gpu/drm/i915/i915_gem_gtt.h | 121 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 8 +-
drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/i915_gem_userptr.c | 15 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 30 +-
drivers/gpu/drm/i915/i915_irq.c | 329 +-
drivers/gpu/drm/i915/i915_params.c | 8 +
drivers/gpu/drm/i915/i915_reg.h | 610 +-
drivers/gpu/drm/i915/i915_trace.h | 44 +-
drivers/gpu/drm/i915/intel_atomic.c | 184 +-
drivers/gpu/drm/i915/intel_atomic_plane.c | 48 +-
drivers/gpu/drm/i915/intel_audio.c | 24 +-
drivers/gpu/drm/i915/intel_bios.c | 183 +-
drivers/gpu/drm/i915/intel_bios.h | 4 +-
drivers/gpu/drm/i915/intel_crt.c | 17 +-
drivers/gpu/drm/i915/intel_csr.c | 467 +
drivers/gpu/drm/i915/intel_ddi.c | 912 +-
drivers/gpu/drm/i915/intel_display.c | 3457 +-
drivers/gpu/drm/i915/intel_dp.c | 593 +-
drivers/gpu/drm/i915/intel_dp_mst.c | 27 +-
drivers/gpu/drm/i915/intel_drv.h | 156 +-
drivers/gpu/drm/i915/intel_dsi.c | 8 +-
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 4 +-
drivers/gpu/drm/i915/intel_dsi_pll.c | 80 +-
drivers/gpu/drm/i915/intel_dvo.c | 27 +-
drivers/gpu/drm/i915/intel_fbc.c | 2 +-
drivers/gpu/drm/i915/intel_fbdev.c | 28 +-
drivers/gpu/drm/i915/intel_frontbuffer.c | 2 +
drivers/gpu/drm/i915/intel_hdmi.c | 192 +-
drivers/gpu/drm/i915/intel_i2c.c | 118 +-
drivers/gpu/drm/i915/intel_lrc.c | 523 +-
drivers/gpu/drm/i915/intel_lrc.h | 5 +-
drivers/gpu/drm/i915/intel_lvds.c | 4 +-
drivers/gpu/drm/i915/intel_overlay.c | 68 +-
drivers/gpu/drm/i915/intel_panel.c | 87 +-
drivers/gpu/drm/i915/intel_pm.c | 354 +-
drivers/gpu/drm/i915/intel_psr.c | 118 +-
drivers/gpu/drm/i915/intel_ringbuffer.c | 196 +-
drivers/gpu/drm/i915/intel_ringbuffer.h | 15 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 476 +-
drivers/gpu/drm/i915/intel_sdvo.c | 85 +-
drivers/gpu/drm/i915/intel_sideband.c | 18 +-
drivers/gpu/drm/i915/intel_sprite.c | 374 +-
drivers/gpu/drm/i915/intel_uncore.c | 98 +-
drivers/gpu/drm/msm/Kconfig | 7 +
drivers/gpu/drm/msm/Makefile | 5 +
drivers/gpu/drm/msm/adreno/a2xx.xml.h | 6 +-
drivers/gpu/drm/msm/adreno/a3xx.xml.h | 168 +-
drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 15 +-
drivers/gpu/drm/msm/adreno/a4xx.xml.h | 420 +-
drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 3 +-
drivers/gpu/drm/msm/adreno/adreno_common.xml.h | 6 +-
drivers/gpu/drm/msm/adreno/adreno_device.c | 12 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 34 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 9 +-
drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h | 31 +-
drivers/gpu/drm/msm/dsi/dsi.c | 43 +-
drivers/gpu/drm/msm/dsi/dsi.h | 61 +-
drivers/gpu/drm/msm/dsi/dsi.xml.h | 163 +-
drivers/gpu/drm/msm/dsi/dsi_host.c | 120 +-
drivers/gpu/drm/msm/dsi/dsi_manager.c | 79 +-
drivers/gpu/drm/msm/dsi/dsi_phy.c | 315 +-
drivers/gpu/drm/msm/dsi/mmss_cc.xml.h | 12 +-
drivers/gpu/drm/msm/dsi/pll/dsi_pll.c | 164 +
drivers/gpu/drm/msm/dsi/pll/dsi_pll.h | 89 +
drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm.c | 652 +
drivers/gpu/drm/msm/dsi/sfpb.xml.h | 12 +-
drivers/gpu/drm/msm/edp/edp.xml.h | 101 +-
drivers/gpu/drm/msm/edp/edp_aux.c | 12 +-
drivers/gpu/drm/msm/edp/edp_ctrl.c | 9 +-
drivers/gpu/drm/msm/hdmi/hdmi.xml.h | 99 +-
drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 43 +-
drivers/gpu/drm/msm/hdmi/qfprom.xml.h | 12 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h | 32 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 39 +
drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c | 2 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 9 +
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h | 3 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_lcdc_encoder.c | 2 +-
drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 22 +
drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h | 398 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 20 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 128 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c | 11 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h | 3 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 24 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 7 +
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h | 1 +
drivers/gpu/drm/msm/mdp/mdp_common.xml.h | 16 +-
drivers/gpu/drm/msm/mdp/mdp_format.c | 6 +
drivers/gpu/drm/msm/mdp/mdp_kms.h | 2 +-
drivers/gpu/drm/msm/msm_atomic.c | 46 +-
drivers/gpu/drm/msm/msm_drv.c | 27 +-
drivers/gpu/drm/msm/msm_drv.h | 4 +-
drivers/gpu/drm/msm/msm_gem.c | 4 +-
drivers/gpu/drm/msm/msm_gem.h | 1 +
drivers/gpu/drm/msm/msm_gem_submit.c | 1 -
drivers/gpu/drm/msm/msm_gpu.c | 52 +-
drivers/gpu/drm/msm/msm_gpu.h | 6 +-
drivers/gpu/drm/msm/msm_kms.h | 3 +
drivers/gpu/drm/nouveau/nouveau_drm.c | 2 +
drivers/gpu/drm/omapdrm/omap_connector.c | 12 +-
drivers/gpu/drm/omapdrm/omap_crtc.c | 541 +-
drivers/gpu/drm/omapdrm/omap_debugfs.c | 6 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 19 +-
drivers/gpu/drm/omapdrm/omap_drv.c | 224 +-
drivers/gpu/drm/omapdrm/omap_drv.h | 59 +-
drivers/gpu/drm/omapdrm/omap_encoder.c | 99 +-
drivers/gpu/drm/omapdrm/omap_fb.c | 27 +-
drivers/gpu/drm/omapdrm/omap_fbdev.c | 6 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 4 +-
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 4 +-
drivers/gpu/drm/omapdrm/omap_irq.c | 106 +-
drivers/gpu/drm/omapdrm/omap_plane.c | 424 +-
drivers/gpu/drm/panel/panel-ld9040.c | 10 +-
drivers/gpu/drm/panel/panel-s6e8aa0.c | 2 +-
drivers/gpu/drm/panel/panel-simple.c | 54 +
drivers/gpu/drm/qxl/qxl_cmd.c | 11 +-
drivers/gpu/drm/qxl/qxl_display.c | 2 +-
drivers/gpu/drm/qxl/qxl_drv.c | 2 +-
drivers/gpu/drm/qxl/qxl_drv.h | 2 +-
drivers/gpu/drm/qxl/qxl_fb.c | 275 +-
drivers/gpu/drm/qxl/qxl_gem.c | 10 +-
drivers/gpu/drm/qxl/qxl_ioctl.c | 46 +-
drivers/gpu/drm/qxl/qxl_object.c | 11 +-
drivers/gpu/drm/qxl/qxl_release.c | 13 +-
drivers/gpu/drm/radeon/atombios_dp.c | 8 +-
drivers/gpu/drm/radeon/cik.c | 25 +
drivers/gpu/drm/radeon/cik_reg.h | 58 +-
drivers/gpu/drm/radeon/cikd.h | 10 +-
drivers/gpu/drm/radeon/evergreen.c | 69 +
drivers/gpu/drm/radeon/ni.c | 102 +
drivers/gpu/drm/radeon/nid.h | 7 +
drivers/gpu/drm/radeon/r100.c | 22 +
drivers/gpu/drm/radeon/r300.c | 25 +
drivers/gpu/drm/radeon/r600.c | 47 +
drivers/gpu/drm/radeon/radeon.h | 243 +-
drivers/gpu/drm/radeon/radeon_asic.c | 21 +
drivers/gpu/drm/radeon/radeon_asic.h | 6 +
drivers/gpu/drm/radeon/radeon_audio.c | 18 +-
drivers/gpu/drm/radeon/radeon_audio.h | 2 -
drivers/gpu/drm/radeon/radeon_device.c | 2 +
drivers/gpu/drm/radeon/radeon_drv.c | 3 +-
drivers/gpu/drm/radeon/radeon_irq_kms.c | 10 +-
drivers/gpu/drm/radeon/radeon_kfd.c | 172 +-
drivers/gpu/drm/radeon/radeon_kms.c | 3 +
drivers/gpu/drm/radeon/radeon_mode.h | 2 +-
drivers/gpu/drm/radeon/radeon_vce.c | 28 +-
drivers/gpu/drm/radeon/radeon_vm.c | 53 +-
drivers/gpu/drm/radeon/si.c | 167 +
drivers/gpu/drm/radeon/si_dpm.c | 109 +-
drivers/gpu/drm/radeon/sid.h | 29 +
drivers/gpu/drm/radeon/trinity_dpm.c | 83 +
drivers/gpu/drm/radeon/vce_v1_0.c | 197 +
drivers/gpu/drm/radeon/vce_v2_0.c | 16 +-
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 74 +-
drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 14 +
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.h | 6 +
drivers/gpu/drm/rcar-du/rcar_du_group.c | 6 +
drivers/gpu/drm/rcar-du/rcar_du_group.h | 10 +-
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 136 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 84 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.h | 21 +-
drivers/gpu/drm/sti/sti_dvo.c | 4 +-
drivers/gpu/drm/sti/sti_hdmi.c | 4 +-
drivers/gpu/drm/sti/sti_vtg.c | 56 +-
drivers/gpu/drm/tegra/dpaux.c | 39 +-
drivers/gpu/drm/tegra/drm.c | 12 +-
drivers/gpu/drm/tegra/gem.c | 25 +-
drivers/gpu/drm/tilcdc/Kconfig | 12 +
drivers/gpu/drm/tilcdc/Makefile | 5 +-
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 36 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 99 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 6 +-
drivers/gpu/drm/tilcdc/tilcdc_external.c | 166 +
.../tilcdc/{tilcdc_slave.h => tilcdc_external.h} | 17 +-
drivers/gpu/drm/tilcdc/tilcdc_slave.c | 411 -
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.c | 270 +
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dts | 72 +
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.h | 25 +
drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 9 +-
drivers/gpu/drm/vgem/vgem_drv.c | 2 +
drivers/gpu/drm/virtio/Kconfig | 14 +
drivers/gpu/drm/virtio/Makefile | 11 +
drivers/gpu/drm/virtio/virtgpu_debugfs.c | 64 +
drivers/gpu/drm/virtio/virtgpu_display.c | 473 +
drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 95 +
drivers/gpu/drm/virtio/virtgpu_drv.c | 136 +
drivers/gpu/drm/virtio/virtgpu_drv.h | 352 +
drivers/gpu/drm/virtio/virtgpu_fb.c | 431 +
drivers/gpu/drm/virtio/virtgpu_fence.c | 119 +
drivers/gpu/drm/virtio/virtgpu_gem.c | 140 +
drivers/gpu/drm/virtio/virtgpu_kms.c | 175 +
drivers/gpu/drm/virtio/virtgpu_object.c | 170 +
drivers/gpu/drm/virtio/virtgpu_plane.c | 120 +
drivers/gpu/drm/virtio/virtgpu_ttm.c | 467 +
drivers/gpu/drm/virtio/virtgpu_vq.c | 623 +
drivers/iommu/Kconfig | 3 +
drivers/media/platform/Kconfig | 2 +-
drivers/of/base.c | 34 +
include/drm/bridge/ptn3460.h | 45 -
include/drm/drmP.h | 19 +-
include/drm/drm_atomic.h | 95 +-
include/drm/drm_atomic_helper.h | 5 +
include/drm/drm_crtc.h | 65 +-
include/drm/drm_dp_helper.h | 6 +-
include/drm/drm_dp_mst_helper.h | 4 +
include/drm/drm_modes.h | 4 +
include/drm/i915_pciids.h | 4 +
include/linux/of_graph.h | 8 +
include/uapi/drm/amdgpu_drm.h | 631 +
include/uapi/drm/drm.h | 2 +
include/uapi/drm/drm_fourcc.h | 15 +
include/uapi/drm/drm_mode.h | 20 +
include/uapi/drm/i915_drm.h | 9 +-
include/uapi/drm/msm_drm.h | 76 +-
include/uapi/drm/radeon_drm.h | 1 +
include/uapi/linux/Kbuild | 1 +
include/uapi/linux/kfd_ioctl.h | 135 +-
include/uapi/linux/virtio_gpu.h | 206 +
include/uapi/linux/virtio_ids.h | 1 +
include/video/exynos5433_decon.h | 165 +
569 files changed, 453841 insertions(+), 9861 deletions(-)
create mode 100644 Documentation/devicetree/bindings/drm/msm/dsi.txt
create mode 100644 Documentation/devicetree/bindings/drm/msm/edp.txt
delete mode 100644 Documentation/devicetree/bindings/drm/tilcdc/slave.txt
create mode 100644 Documentation/devicetree/bindings/panel/hannstar,hsd100pxn1.txt
create mode 100644 Documentation/devicetree/bindings/panel/lg,lb070wv8.txt
create mode 100644 Documentation/devicetree/bindings/video/exynos-mic.txt
create mode 100644 Documentation/devicetree/bindings/video/exynos5433-decon.txt
create mode 100644 drivers/gpu/drm/amd/amdgpu/Kconfig
create mode 100644 drivers/gpu/drm/amd/amdgpu/Makefile
create mode 100644 drivers/gpu/drm/amd/amdgpu/ObjectID.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_family.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gds.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ioc32.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_pll.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_semaphore.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atom-bits.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atom-names.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atom-types.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atom.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atom.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_crtc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_crtc.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_dp.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_dp.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_encoders.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/atombios_i2c.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/ci_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/ci_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/ci_smc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik_ih.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik_ih.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik_sdma.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cik_sdma.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cikd.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/clearstate_ci.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/clearstate_defs.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/clearstate_vi.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_ih.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_ih.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_ppsmc.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_smc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/cz_smumgr.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v10_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v11_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v8_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_ih.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_ih.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_sdma_pkt_open.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_smc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/iceland_smumgr.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/kv_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/kv_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/kv_smc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/ppsmc.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/pptable.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu7.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu7_discrete.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu7_fusion.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu8.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu8_fusion.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_cz.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_vi.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_dpm.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_ih.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_ih.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_ppsmc.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_sdma_pkt_open.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_smc.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_smumgr.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v2_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v3_0.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vi.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/vi.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vi_dpm.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vid.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/cik_int.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_events.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_events.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h
create mode 100644 drivers/gpu/drm/amd/include/amd_shared.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_4_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_4_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_1_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/bif/bif_5_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_10_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_10_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_10_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_8_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_8_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_7_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_7_2_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_7_2_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_7_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_7_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_7_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_7_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_7_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_1_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_2_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_2_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gmc/gmc_8_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_2_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_2_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_2_4_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_2_4_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_2_4_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_1_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/oss/oss_3_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_0_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_0_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_0_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_0_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_1_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_1_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_2_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_2_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_8_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_8_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_8_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_4_2_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_4_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_5_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_5_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_5_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_enum.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vce/vce_2_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vce/vce_2_0_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vce/vce_3_0_d.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vce/vce_3_0_sh_mask.h
create mode 100644 drivers/gpu/drm/exynos/exynos5433_drm_decon.c
create mode 100644 drivers/gpu/drm/exynos/exynos_drm_mic.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_batch_pool.h
create mode 100644 drivers/gpu/drm/i915/intel_csr.c
create mode 100644 drivers/gpu/drm/msm/dsi/pll/dsi_pll.c
create mode 100644 drivers/gpu/drm/msm/dsi/pll/dsi_pll.h
create mode 100644 drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm.c
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_external.c
rename drivers/gpu/drm/tilcdc/{tilcdc_slave.h => tilcdc_external.h} (63%)
delete mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave.c
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.c
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dts
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.h
create mode 100644 drivers/gpu/drm/virtio/Kconfig
create mode 100644 drivers/gpu/drm/virtio/Makefile
create mode 100644 drivers/gpu/drm/virtio/virtgpu_debugfs.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_display.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_drm_bus.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_drv.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_drv.h
create mode 100644 drivers/gpu/drm/virtio/virtgpu_fb.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_fence.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_gem.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_kms.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_object.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_plane.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_ttm.c
create mode 100644 drivers/gpu/drm/virtio/virtgpu_vq.c
delete mode 100644 include/drm/bridge/ptn3460.h
create mode 100644 include/uapi/drm/amdgpu_drm.h
create mode 100644 include/uapi/linux/virtio_gpu.h
create mode 100644 include/video/exynos5433_decon.h


2015-06-26 20:38:06

by Dave Airlie

[permalink] [raw]
Subject: Re: [git pull] drm tree for 4.2

On 26 June 2015 at 18:05, Christian König <[email protected]> wrote:
> Hey Dave,
>
> I'm not 100% sure, but didn't you wanted to send this pull request out for
> drm-next-merged instead of drm-next?
>
> Cause I'm still getting merge conflicts when I try to merge 4.1 into
> drm-next.

No generally Linus likes to do his own merges with hints from us.

unless it's really tricky.

Dave.

2015-06-26 20:41:11

by Linus Torvalds

[permalink] [raw]
Subject: Re: [git pull] drm tree for 4.2

On Fri, Jun 26, 2015 at 1:37 PM, Dave Airlie <[email protected]> wrote:
>
> No generally Linus likes to do his own merges with hints from us.
>
> unless it's really tricky.

Yup. And this time all the merges were trivial. My merge ended up
differing from Dave's simply because of an ordering of statements that
could be done in either direction, and the "natural" direction ended
up depending mainly on which way the merge was done (ie me pulling
Dave's tree, or Dave pulling mine).

I'm running it on my machine now, just waiting for the allmodconfig
build to also finish before pushing it out.

Linus

2015-06-26 21:43:57

by Linus Torvalds

[permalink] [raw]
Subject: Re: [git pull] drm tree for 4.2

On Thu, Jun 25, 2015 at 6:00 PM, Dave Airlie <[email protected]> wrote:
>
> This is the main drm pull request for v4.2.

It seems to work ok for me, but it causes quite a few new warnings on
my Sony VAIO Pro laptop. It's (once more) a regular i5-4200U CPU (aka
Haswell, aka 4th gen Intel Core i5)

Most of them are in check_crtc_state(), and I currently have 18 of
these in my log:

[drm:check_crtc_state [i915]] *ERROR* mismatch in
dpll_hw_state.wrpll (expected 0x90280202, found 0x00000000)
WARNING: CPU: 0 PID: 115 at
drivers/gpu/drm/i915/intel_display.c:12319
check_crtc_state+0x8be/0xf60 [i915]()
pipe state doesn't match!

but there's a few others too:

WARNING: CPU: 3 PID: 1871 at
drivers/gpu/drm/i915/intel_display.c:1362 hsw_disable_ips+0x34/0x160
[i915]()
plane A assertion failure (expected on, current off)

WARNING: CPU: 3 PID: 1871 at drivers/gpu/drm/drm_irq.c:1162
drm_wait_one_vblank+0x148/0x1a0 [drm]()
vblank not available on crtc 0, ret=-22

and the backtraces aren't all that interesting, but I'm attaching the
cleaned-up dmesg, duplicate callchains and all.

Linus


Attachments:
out (35.60 kB)
Subject: Re: [git pull] drm tree for 4.2

On Fri, 2015-06-26 at 14:43 -0700, Linus Torvalds wrote:
> On Thu, Jun 25, 2015 at 6:00 PM, Dave Airlie <[email protected]> wrote:
> >
> > This is the main drm pull request for v4.2.
>
> It seems to work ok for me, but it causes quite a few new warnings on
> my Sony VAIO Pro laptop. It's (once more) a regular i5-4200U CPU (aka
> Haswell, aka 4th gen Intel Core i5)
>
> Most of them are in check_crtc_state(), and I currently have 18 of
> these in my log:
>
> [drm:check_crtc_state [i915]] *ERROR* mismatch in
> dpll_hw_state.wrpll (expected 0x90280202, found 0x00000000)
> WARNING: CPU: 0 PID: 115 at
> drivers/gpu/drm/i915/intel_display.c:12319
> check_crtc_state+0x8be/0xf60 [i915]()
> pipe state doesn't match!
>
> but there's a few others too:
>
> WARNING: CPU: 3 PID: 1871 at
> drivers/gpu/drm/i915/intel_display.c:1362 hsw_disable_ips+0x34/0x160
> [i915]()
> plane A assertion failure (expected on, current off)
>
> WARNING: CPU: 3 PID: 1871 at drivers/gpu/drm/drm_irq.c:1162
> drm_wait_one_vblank+0x148/0x1a0 [drm]()
> vblank not available on crtc 0, ret=-22
>
> and the backtraces aren't all that interesting, but I'm attaching the
> cleaned-up dmesg, duplicate callchains and all.

Please provide a full dmesg with drm.debug=0x1f in the kernel command
line.

Thanks,
Ander

2015-06-29 14:47:45

by Jani Nikula

[permalink] [raw]
Subject: Re: [git pull] drm tree for 4.2

On Mon, 29 Jun 2015, Ander Conselvan De Oliveira <[email protected]> wrote:
> On Fri, 2015-06-26 at 14:43 -0700, Linus Torvalds wrote:
>> On Thu, Jun 25, 2015 at 6:00 PM, Dave Airlie <[email protected]> wrote:
>> >
>> > This is the main drm pull request for v4.2.
>>
>> It seems to work ok for me, but it causes quite a few new warnings on
>> my Sony VAIO Pro laptop. It's (once more) a regular i5-4200U CPU (aka
>> Haswell, aka 4th gen Intel Core i5)
>>
>> Most of them are in check_crtc_state(), and I currently have 18 of
>> these in my log:
>>
>> [drm:check_crtc_state [i915]] *ERROR* mismatch in
>> dpll_hw_state.wrpll (expected 0x90280202, found 0x00000000)
>> WARNING: CPU: 0 PID: 115 at
>> drivers/gpu/drm/i915/intel_display.c:12319
>> check_crtc_state+0x8be/0xf60 [i915]()
>> pipe state doesn't match!
>>
>> but there's a few others too:
>>
>> WARNING: CPU: 3 PID: 1871 at
>> drivers/gpu/drm/i915/intel_display.c:1362 hsw_disable_ips+0x34/0x160
>> [i915]()
>> plane A assertion failure (expected on, current off)
>>
>> WARNING: CPU: 3 PID: 1871 at drivers/gpu/drm/drm_irq.c:1162
>> drm_wait_one_vblank+0x148/0x1a0 [drm]()
>> vblank not available on crtc 0, ret=-22
>>
>> and the backtraces aren't all that interesting, but I'm attaching the
>> cleaned-up dmesg, duplicate callchains and all.
>
> Please provide a full dmesg with drm.debug=0x1f in the kernel command
> line.

Ander, I think I was able to reproduce this on the BDW NUC here. Bisect
points at...

commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Fri May 15 13:34:29 2015 +0300

drm/i915: Don't overwrite (e)DP PLL selection on SKL

In the following commit, the place where the contents of dpll_hw_state
in crtc_state where zeroed was changed. Prior to that commit, it
happened when the new state was allocated, but now that happens just
before the call the .crtc_compute_clock() hook. The DP code for SKL,
however, sets up the (private) PLL in the encoder compute config
function that has already run by the time that memset() is reached,
causing the previous value to be lost.

This patch fixes the issue by moving the memset() down the call chain,
so that it is only called if the values in dpll_hw_state are going to be
updated.

commit 4978cc93d9ac240b435ce60431aef24239b4c270
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Tue Apr 21 17:13:21 2015 +0300

drm/i915: Preserve shared DPLL information in new pipe_config

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90462
Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
Reviewed-by: Damien Lespiau <[email protected]>
Reported-and-tested-by: Tvrtko Ursulin <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>

This doesn't revert cleanly on Linus' master, and I didn't have the time
to look deeper right now. However I confirmed that this commit fails and
its parent doesn't.


BR,
Jani.


--
Jani Nikula, Intel Open Source Technology Center

2015-06-29 15:33:00

by Daniel Vetter

[permalink] [raw]
Subject: Re: [Intel-gfx] [git pull] drm tree for 4.2

On Mon, Jun 29, 2015 at 05:50:09PM +0300, Jani Nikula wrote:
> On Mon, 29 Jun 2015, Ander Conselvan De Oliveira <[email protected]> wrote:
> > On Fri, 2015-06-26 at 14:43 -0700, Linus Torvalds wrote:
> >> On Thu, Jun 25, 2015 at 6:00 PM, Dave Airlie <[email protected]> wrote:
> >> >
> >> > This is the main drm pull request for v4.2.
> >>
> >> It seems to work ok for me, but it causes quite a few new warnings on
> >> my Sony VAIO Pro laptop. It's (once more) a regular i5-4200U CPU (aka
> >> Haswell, aka 4th gen Intel Core i5)
> >>
> >> Most of them are in check_crtc_state(), and I currently have 18 of
> >> these in my log:
> >>
> >> [drm:check_crtc_state [i915]] *ERROR* mismatch in
> >> dpll_hw_state.wrpll (expected 0x90280202, found 0x00000000)
> >> WARNING: CPU: 0 PID: 115 at
> >> drivers/gpu/drm/i915/intel_display.c:12319
> >> check_crtc_state+0x8be/0xf60 [i915]()
> >> pipe state doesn't match!
> >>
> >> but there's a few others too:
> >>
> >> WARNING: CPU: 3 PID: 1871 at
> >> drivers/gpu/drm/i915/intel_display.c:1362 hsw_disable_ips+0x34/0x160
> >> [i915]()
> >> plane A assertion failure (expected on, current off)
> >>
> >> WARNING: CPU: 3 PID: 1871 at drivers/gpu/drm/drm_irq.c:1162
> >> drm_wait_one_vblank+0x148/0x1a0 [drm]()
> >> vblank not available on crtc 0, ret=-22
> >>
> >> and the backtraces aren't all that interesting, but I'm attaching the
> >> cleaned-up dmesg, duplicate callchains and all.
> >
> > Please provide a full dmesg with drm.debug=0x1f in the kernel command
> > line.
>
> Ander, I think I was able to reproduce this on the BDW NUC here. Bisect
> points at...
>
> commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
> Author: Ander Conselvan de Oliveira <[email protected]>
> Date: Fri May 15 13:34:29 2015 +0300
>
> drm/i915: Don't overwrite (e)DP PLL selection on SKL
>
> In the following commit, the place where the contents of dpll_hw_state
> in crtc_state where zeroed was changed. Prior to that commit, it
> happened when the new state was allocated, but now that happens just
> before the call the .crtc_compute_clock() hook. The DP code for SKL,
> however, sets up the (private) PLL in the encoder compute config
> function that has already run by the time that memset() is reached,
> causing the previous value to be lost.
>
> This patch fixes the issue by moving the memset() down the call chain,
> so that it is only called if the values in dpll_hw_state are going to be
> updated.
>
> commit 4978cc93d9ac240b435ce60431aef24239b4c270
> Author: Ander Conselvan de Oliveira <[email protected]>
> Date: Tue Apr 21 17:13:21 2015 +0300
>
> drm/i915: Preserve shared DPLL information in new pipe_config
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90462
> Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
> Reviewed-by: Damien Lespiau <[email protected]>
> Reported-and-tested-by: Tvrtko Ursulin <[email protected]>
> Signed-off-by: Daniel Vetter <[email protected]>
>
> This doesn't revert cleanly on Linus' master, and I didn't have the time
> to look deeper right now. However I confirmed that this commit fails and
> its parent doesn't.

Note that there seems to be two bugs here: Firs one is display state
checker getting annoyed, which is probably the one Jani bisected to here
(please confirm).

The other is the two backtraces complaining that the pipe is off (both the
drm_irq.c and the one in hsw_display_ips amount to that) because we seem
to call disable_planes on a disable pipe, which is bullocks (with runtime
pm the hw is dead and will just drop the writes).
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2015-06-30 12:58:08

by Jani Nikula

[permalink] [raw]
Subject: Re: [Intel-gfx] [git pull] drm tree for 4.2

On Mon, 29 Jun 2015, Daniel Vetter <[email protected]> wrote:
> On Mon, Jun 29, 2015 at 05:50:09PM +0300, Jani Nikula wrote:
>> On Mon, 29 Jun 2015, Ander Conselvan De Oliveira <[email protected]> wrote:
>> > On Fri, 2015-06-26 at 14:43 -0700, Linus Torvalds wrote:
>> >> On Thu, Jun 25, 2015 at 6:00 PM, Dave Airlie <[email protected]> wrote:
>> >> >
>> >> > This is the main drm pull request for v4.2.
>> >>
>> >> It seems to work ok for me, but it causes quite a few new warnings on
>> >> my Sony VAIO Pro laptop. It's (once more) a regular i5-4200U CPU (aka
>> >> Haswell, aka 4th gen Intel Core i5)
>> >>
>> >> Most of them are in check_crtc_state(), and I currently have 18 of
>> >> these in my log:
>> >>
>> >> [drm:check_crtc_state [i915]] *ERROR* mismatch in
>> >> dpll_hw_state.wrpll (expected 0x90280202, found 0x00000000)
>> >> WARNING: CPU: 0 PID: 115 at
>> >> drivers/gpu/drm/i915/intel_display.c:12319
>> >> check_crtc_state+0x8be/0xf60 [i915]()
>> >> pipe state doesn't match!
>> >>
>> >> but there's a few others too:
>> >>
>> >> WARNING: CPU: 3 PID: 1871 at
>> >> drivers/gpu/drm/i915/intel_display.c:1362 hsw_disable_ips+0x34/0x160
>> >> [i915]()
>> >> plane A assertion failure (expected on, current off)
>> >>
>> >> WARNING: CPU: 3 PID: 1871 at drivers/gpu/drm/drm_irq.c:1162
>> >> drm_wait_one_vblank+0x148/0x1a0 [drm]()
>> >> vblank not available on crtc 0, ret=-22
>> >>
>> >> and the backtraces aren't all that interesting, but I'm attaching the
>> >> cleaned-up dmesg, duplicate callchains and all.
>> >
>> > Please provide a full dmesg with drm.debug=0x1f in the kernel command
>> > line.
>>
>> Ander, I think I was able to reproduce this on the BDW NUC here. Bisect
>> points at...
>>
>> commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
>> Author: Ander Conselvan de Oliveira <[email protected]>
>> Date: Fri May 15 13:34:29 2015 +0300
>>
>> drm/i915: Don't overwrite (e)DP PLL selection on SKL
>>
>> In the following commit, the place where the contents of dpll_hw_state
>> in crtc_state where zeroed was changed. Prior to that commit, it
>> happened when the new state was allocated, but now that happens just
>> before the call the .crtc_compute_clock() hook. The DP code for SKL,
>> however, sets up the (private) PLL in the encoder compute config
>> function that has already run by the time that memset() is reached,
>> causing the previous value to be lost.
>>
>> This patch fixes the issue by moving the memset() down the call chain,
>> so that it is only called if the values in dpll_hw_state are going to be
>> updated.
>>
>> commit 4978cc93d9ac240b435ce60431aef24239b4c270
>> Author: Ander Conselvan de Oliveira <[email protected]>
>> Date: Tue Apr 21 17:13:21 2015 +0300
>>
>> drm/i915: Preserve shared DPLL information in new pipe_config
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90462
>> Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
>> Reviewed-by: Damien Lespiau <[email protected]>
>> Reported-and-tested-by: Tvrtko Ursulin <[email protected]>
>> Signed-off-by: Daniel Vetter <[email protected]>
>>
>> This doesn't revert cleanly on Linus' master, and I didn't have the time
>> to look deeper right now. However I confirmed that this commit fails and
>> its parent doesn't.
>
> Note that there seems to be two bugs here: Firs one is display state
> checker getting annoyed, which is probably the one Jani bisected to here
> (please confirm).

Right, the above bisect is for the "[drm:check_crtc_state [i915]]
*ERROR* mismatch in dpll_hw_state.wrpll (expected 0x90280202, found
0x00000000)" warning.

> The other is the two backtraces complaining that the pipe is off (both the
> drm_irq.c and the one in hsw_display_ips amount to that) because we seem
> to call disable_planes on a disable pipe, which is bullocks (with runtime
> pm the hw is dead and will just drop the writes).

The "vblank not available on crtc 0, ret=-22" warning bisects to

commit 8c7b5ccb729870e606321b3703e2c2e698c49a95
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Tue Apr 21 17:13:19 2015 +0300

drm/i915: Use atomic helpers for computing changed flags

Replace the drivers own logic for computing mode_changed, active_changed
and planes_changed flags with the check_modeset() atomic helper. Since
that function needs to compare the crtc's new mode with the current,
this patch also moves the set up of crtc_state->mode earlier in the call
chain.

Note that for the call to check_plane() to work properly, we need to
check new plane state against new crtc state. But since we still use the
plane update helper, which doesn't have a full atomic state, we need to
hack around that in intel_plane_atomic_check().

Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
Reviewed-by: Maarten Lankhorst <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>


BR,
Jani.


> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

--
Jani Nikula, Intel Open Source Technology Center

Subject: [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
That can happen if a crtc that was previously driving an HDMI connector
switches to a DP connector. In that case, the wrpll field was left with
its old value, leading to warnings like the one below:

[drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
------------[ cut here ]------------
WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
pipe state doesn't match!

This regression was indroduced in

commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Fri May 15 13:34:29 2015 +0300

drm/i915: Don't overwrite (e)DP PLL selection on SKL

Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
---

Only compile tested, for the wrpll warning.

Thanks,
Ander

drivers/gpu/drm/i915/intel_dp.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 4ebfc3a..fbd9ac3 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1147,6 +1147,9 @@ skl_edp_set_pll_config(struct intel_crtc_state *pipe_config, int link_clock)
static void
hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
{
+ memset(&pipe_config->dpll_hw_state, 0,
+ sizeof(pipe_config->dpll_hw_state));
+
switch (link_bw) {
case DP_LINK_BW_1_62:
pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
--
2.1.0

2015-06-30 13:45:02

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

On Tue, 30 Jun 2015, Ander Conselvan de Oliveira <[email protected]> wrote:
> Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
> config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
> That can happen if a crtc that was previously driving an HDMI connector
> switches to a DP connector. In that case, the wrpll field was left with
> its old value, leading to warnings like the one below:
>
> [drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
> pipe state doesn't match!
>
> This regression was indroduced in
>
> commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
> Author: Ander Conselvan de Oliveira <[email protected]>
> Date: Fri May 15 13:34:29 2015 +0300
>
> drm/i915: Don't overwrite (e)DP PLL selection on SKL
>
> Signed-off-by: Ander Conselvan de Oliveira <[email protected]>

Reported-by: Linus Torvalds <[email protected]>
Tested-by: Jani Nikula <[email protected]>

> ---
>
> Only compile tested, for the wrpll warning.
>
> Thanks,
> Ander
>
> drivers/gpu/drm/i915/intel_dp.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 4ebfc3a..fbd9ac3 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1147,6 +1147,9 @@ skl_edp_set_pll_config(struct intel_crtc_state *pipe_config, int link_clock)
> static void
> hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
> {
> + memset(&pipe_config->dpll_hw_state, 0,
> + sizeof(pipe_config->dpll_hw_state));
> +
> switch (link_bw) {
> case DP_LINK_BW_1_62:
> pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
> --
> 2.1.0
>

--
Jani Nikula, Intel Open Source Technology Center

2015-06-30 14:20:53

by Daniel Vetter

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

On Tue, Jun 30, 2015 at 04:47:06PM +0300, Jani Nikula wrote:
> On Tue, 30 Jun 2015, Ander Conselvan de Oliveira <[email protected]> wrote:
> > Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
> > config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
> > That can happen if a crtc that was previously driving an HDMI connector
> > switches to a DP connector. In that case, the wrpll field was left with
> > its old value, leading to warnings like the one below:
> >
> > [drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
> > ------------[ cut here ]------------
> > WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
> > pipe state doesn't match!
> >
> > This regression was indroduced in
> >
> > commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
> > Author: Ander Conselvan de Oliveira <[email protected]>
> > Date: Fri May 15 13:34:29 2015 +0300
> >
> > drm/i915: Don't overwrite (e)DP PLL selection on SKL
> >
> > Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
>
> Reported-by: Linus Torvalds <[email protected]>
> Tested-by: Jani Nikula <[email protected]>

Yeah makes sense as a fix for 4.2. But for 4.3 I wonder whether the
original commit that started this chain needs to be changed a bit:

commit 4978cc93d9ac240b435ce60431aef24239b4c270
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Tue Apr 21 17:13:21 2015 +0300

drm/i915: Preserve shared DPLL information in new pipe_config

All the trouble this caused is because it not only preserves the sharing
config (in crtc_state->shared_dpll) but also the ->dpll_hw_state. And I
think with Maarten's latest code (for 4.3) we'd just do an unconditional
compute_config (need it for fast pfit updates and fastboot), which means
the bogus values in ->dpll_hw_state aren't a problem any more since we'll
overwrite them again. And then we could remove that sprinkle of memsets we
have all over, which would be good (since the current approach is
obviously a bit fragile). Anyway:

Reviewed-by: Daniel Vetter <[email protected]>

Thanks, Daniel

>
> > ---
> >
> > Only compile tested, for the wrpll warning.
> >
> > Thanks,
> > Ander
> >
> > drivers/gpu/drm/i915/intel_dp.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 4ebfc3a..fbd9ac3 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -1147,6 +1147,9 @@ skl_edp_set_pll_config(struct intel_crtc_state *pipe_config, int link_clock)
> > static void
> > hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
> > {
> > + memset(&pipe_config->dpll_hw_state, 0,
> > + sizeof(pipe_config->dpll_hw_state));
> > +
> > switch (link_bw) {
> > case DP_LINK_BW_1_62:
> > pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
> > --
> > 2.1.0
> >
>
> --
> Jani Nikula, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2015-06-30 15:43:53

by Jani Nikula

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

On Tue, 30 Jun 2015, Daniel Vetter <[email protected]> wrote:
> On Tue, Jun 30, 2015 at 04:47:06PM +0300, Jani Nikula wrote:
>> On Tue, 30 Jun 2015, Ander Conselvan de Oliveira <[email protected]> wrote:
>> > Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
>> > config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
>> > That can happen if a crtc that was previously driving an HDMI connector
>> > switches to a DP connector. In that case, the wrpll field was left with
>> > its old value, leading to warnings like the one below:
>> >
>> > [drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
>> > ------------[ cut here ]------------
>> > WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
>> > pipe state doesn't match!
>> >
>> > This regression was indroduced in
>> >
>> > commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
>> > Author: Ander Conselvan de Oliveira <[email protected]>
>> > Date: Fri May 15 13:34:29 2015 +0300
>> >
>> > drm/i915: Don't overwrite (e)DP PLL selection on SKL
>> >
>> > Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
>>
>> Reported-by: Linus Torvalds <[email protected]>
>> Tested-by: Jani Nikula <[email protected]>
>
> Yeah makes sense as a fix for 4.2. But for 4.3 I wonder whether the
> original commit that started this chain needs to be changed a bit:
>
> commit 4978cc93d9ac240b435ce60431aef24239b4c270
> Author: Ander Conselvan de Oliveira <[email protected]>
> Date: Tue Apr 21 17:13:21 2015 +0300
>
> drm/i915: Preserve shared DPLL information in new pipe_config
>
> All the trouble this caused is because it not only preserves the sharing
> config (in crtc_state->shared_dpll) but also the ->dpll_hw_state. And I
> think with Maarten's latest code (for 4.3) we'd just do an unconditional
> compute_config (need it for fast pfit updates and fastboot), which means
> the bogus values in ->dpll_hw_state aren't a problem any more since we'll
> overwrite them again. And then we could remove that sprinkle of memsets we
> have all over, which would be good (since the current approach is
> obviously a bit fragile). Anyway:
>
> Reviewed-by: Daniel Vetter <[email protected]>

Pushed to drm-intel-next-fixes, thanks for the patch and review. One
down, another one left to fix.

BR,
Jani.


>
> Thanks, Daniel
>
>>
>> > ---
>> >
>> > Only compile tested, for the wrpll warning.
>> >
>> > Thanks,
>> > Ander
>> >
>> > drivers/gpu/drm/i915/intel_dp.c | 3 +++
>> > 1 file changed, 3 insertions(+)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> > index 4ebfc3a..fbd9ac3 100644
>> > --- a/drivers/gpu/drm/i915/intel_dp.c
>> > +++ b/drivers/gpu/drm/i915/intel_dp.c
>> > @@ -1147,6 +1147,9 @@ skl_edp_set_pll_config(struct intel_crtc_state *pipe_config, int link_clock)
>> > static void
>> > hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
>> > {
>> > + memset(&pipe_config->dpll_hw_state, 0,
>> > + sizeof(pipe_config->dpll_hw_state));
>> > +
>> > switch (link_bw) {
>> > case DP_LINK_BW_1_62:
>> > pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
>> > --
>> > 2.1.0
>> >
>>
>> --
>> Jani Nikula, Intel Open Source Technology Center
>> _______________________________________________
>> Intel-gfx mailing list
>> [email protected]
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

--
Jani Nikula, Intel Open Source Technology Center

Subject: Re: [Intel-gfx] [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

On Tue, 2015-06-30 at 18:41 +0300, Jani Nikula wrote:
> On Tue, 30 Jun 2015, Daniel Vetter <[email protected]> wrote:
> > On Tue, Jun 30, 2015 at 04:47:06PM +0300, Jani Nikula wrote:
> >> On Tue, 30 Jun 2015, Ander Conselvan de Oliveira <[email protected]> wrote:
> >> > Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
> >> > config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
> >> > That can happen if a crtc that was previously driving an HDMI connector
> >> > switches to a DP connector. In that case, the wrpll field was left with
> >> > its old value, leading to warnings like the one below:
> >> >
> >> > [drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
> >> > ------------[ cut here ]------------
> >> > WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
> >> > pipe state doesn't match!
> >> >
> >> > This regression was indroduced in
> >> >
> >> > commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
> >> > Author: Ander Conselvan de Oliveira <[email protected]>
> >> > Date: Fri May 15 13:34:29 2015 +0300
> >> >
> >> > drm/i915: Don't overwrite (e)DP PLL selection on SKL
> >> >
> >> > Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
> >>
> >> Reported-by: Linus Torvalds <[email protected]>
> >> Tested-by: Jani Nikula <[email protected]>
> >
> > Yeah makes sense as a fix for 4.2. But for 4.3 I wonder whether the
> > original commit that started this chain needs to be changed a bit:
> >
> > commit 4978cc93d9ac240b435ce60431aef24239b4c270
> > Author: Ander Conselvan de Oliveira <[email protected]>
> > Date: Tue Apr 21 17:13:21 2015 +0300
> >
> > drm/i915: Preserve shared DPLL information in new pipe_config
> >
> > All the trouble this caused is because it not only preserves the sharing
> > config (in crtc_state->shared_dpll) but also the ->dpll_hw_state. And I
> > think with Maarten's latest code (for 4.3) we'd just do an unconditional
> > compute_config (need it for fast pfit updates and fastboot), which means
> > the bogus values in ->dpll_hw_state aren't a problem any more since we'll
> > overwrite them again. And then we could remove that sprinkle of memsets we
> > have all over, which would be good (since the current approach is
> > obviously a bit fragile). Anyway:
> >
> > Reviewed-by: Daniel Vetter <[email protected]>
>
> Pushed to drm-intel-next-fixes, thanks for the patch and review. One
> down, another one left to fix.

I made some progress on the second issue, but I'm afraid Jani might have
a found a third bug. The warning he gets happens because we try to wait
for vblanks while updating the primary plane during the modeset. At that
point, the crtc is off. The problem is in intel_check_primary_plane(),
which is called from drm_atomic_helper_check_planes(). That function
makes decisions about waiting for a vblank based on intel_crtc->active.
Since the check is called before we disable the crtcs, active might be
true, even though the plane update is done with crtcs disable.

The patch below makes the warning go away, but I still need to figure
out how to set crtc_state->planes_changed properly if we are going down
that route.

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index dcb1d25..f14727c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12480,10 +12480,6 @@ intel_modeset_compute_config(struct drm_crtc *crtc,

intel_dump_pipe_config(to_intel_crtc(crtc), pipe_config,"[modeset]");

- ret = drm_atomic_helper_check_planes(state->dev, state);
- if (ret)
- return ERR_PTR(ret);
-
return pipe_config;
}


The backtrace on Linus' machine is different, though. It comes from the
call to intel_crtc_disable_planes() in __intel_set_mode(). That would
indicate we have a crtc with crtc->state->enable == true but that is
actually inactive. I'm still not sure how we can get in that state.

Ander

2015-07-01 14:59:58

by Daniel Vetter

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()

On Wed, Jul 01, 2015 at 05:54:06PM +0300, Ander Conselvan De Oliveira wrote:
> On Tue, 2015-06-30 at 18:41 +0300, Jani Nikula wrote:
> > On Tue, 30 Jun 2015, Daniel Vetter <[email protected]> wrote:
> > > On Tue, Jun 30, 2015 at 04:47:06PM +0300, Jani Nikula wrote:
> > >> On Tue, 30 Jun 2015, Ander Conselvan de Oliveira <[email protected]> wrote:
> > >> > Similarly to what is done for SKL, clear the dpll_hw_state of the pipe
> > >> > config in hsw_dp_set_ddi_pll_sel(), since it main contain stale values.
> > >> > That can happen if a crtc that was previously driving an HDMI connector
> > >> > switches to a DP connector. In that case, the wrpll field was left with
> > >> > its old value, leading to warnings like the one below:
> > >> >
> > >> > [drm:check_crtc_state [i915]] *ERROR* mismatch in dpll_hw_state.wrpll (expected 0xb035061f, found 0x00000000)
> > >> > ------------[ cut here ]------------
> > >> > WARNING: CPU: 1 PID: 767 at drivers/gpu/drm/i915/intel_display.c:12324 check_crtc_state+0x975/0x10b0 [i915]()
> > >> > pipe state doesn't match!
> > >> >
> > >> > This regression was indroduced in
> > >> >
> > >> > commit dd3cd74acf12723045a64f1f2c6298ac7b34a5d5
> > >> > Author: Ander Conselvan de Oliveira <[email protected]>
> > >> > Date: Fri May 15 13:34:29 2015 +0300
> > >> >
> > >> > drm/i915: Don't overwrite (e)DP PLL selection on SKL
> > >> >
> > >> > Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
> > >>
> > >> Reported-by: Linus Torvalds <[email protected]>
> > >> Tested-by: Jani Nikula <[email protected]>
> > >
> > > Yeah makes sense as a fix for 4.2. But for 4.3 I wonder whether the
> > > original commit that started this chain needs to be changed a bit:
> > >
> > > commit 4978cc93d9ac240b435ce60431aef24239b4c270
> > > Author: Ander Conselvan de Oliveira <[email protected]>
> > > Date: Tue Apr 21 17:13:21 2015 +0300
> > >
> > > drm/i915: Preserve shared DPLL information in new pipe_config
> > >
> > > All the trouble this caused is because it not only preserves the sharing
> > > config (in crtc_state->shared_dpll) but also the ->dpll_hw_state. And I
> > > think with Maarten's latest code (for 4.3) we'd just do an unconditional
> > > compute_config (need it for fast pfit updates and fastboot), which means
> > > the bogus values in ->dpll_hw_state aren't a problem any more since we'll
> > > overwrite them again. And then we could remove that sprinkle of memsets we
> > > have all over, which would be good (since the current approach is
> > > obviously a bit fragile). Anyway:
> > >
> > > Reviewed-by: Daniel Vetter <[email protected]>
> >
> > Pushed to drm-intel-next-fixes, thanks for the patch and review. One
> > down, another one left to fix.
>
> I made some progress on the second issue, but I'm afraid Jani might have
> a found a third bug. The warning he gets happens because we try to wait
> for vblanks while updating the primary plane during the modeset. At that
> point, the crtc is off. The problem is in intel_check_primary_plane(),
> which is called from drm_atomic_helper_check_planes(). That function
> makes decisions about waiting for a vblank based on intel_crtc->active.
> Since the check is called before we disable the crtcs, active might be
> true, even though the plane update is done with crtcs disable.
>
> The patch below makes the warning go away, but I still need to figure
> out how to set crtc_state->planes_changed properly if we are going down
> that route.
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index dcb1d25..f14727c 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12480,10 +12480,6 @@ intel_modeset_compute_config(struct drm_crtc *crtc,
>
> intel_dump_pipe_config(to_intel_crtc(crtc), pipe_config,"[modeset]");
>
> - ret = drm_atomic_helper_check_planes(state->dev, state);
> - if (ret)
> - return ERR_PTR(ret);
> -
> return pipe_config;
> }
>
>
> The backtrace on Linus' machine is different, though. It comes from the
> call to intel_crtc_disable_planes() in __intel_set_mode(). That would
> indicate we have a crtc with crtc->state->enable == true but that is
> actually inactive. I'm still not sure how we can get in that state.

Using intel_crtc->active to precompute any kind of decisions won't work. I
guess we just need to delay the decision whether to make a vblank wait or
not to where we do the vblank wait, and use the (then current
intel_crtc->active) there. This will be fixed properly in 4.3.

I suspect Linus' backtrace is something similar - we try to precompute
what needs to be updated, get it wrong and the go boom. Sprinkling an

if (!intel_crtc->active)
return;

early return into the set_mode should help. But I haven't looked at what
4.2 looks precisely yet in this area - too much flux because of the atomic
conversion.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch