All of lore.kernel.org
 help / color / mirror / Atom feed
* [git pull] drm for v4.8
@ 2016-08-02  1:32 ` Dave Airlie
  0 siblings, 0 replies; 24+ messages in thread
From: Dave Airlie @ 2016-08-02  1:32 UTC (permalink / raw)
  To: torvalds; +Cc: DRI mailing list, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 170880 bytes --]


Hi Linus,

This is the main drm pull request for 4.8, I'm down with a cold at the moment
so hopefully this isn't in too bad a state, I finished pulling stuff last 
week mostly (nouveau fixes just went in today), so only this message should
be influenced by illness. Apologies to anyone who's major feature I missed :-)

Dave.

Core:
	Lockless GEM BO freeing
	Non-blocking atomic work
	Documentation changes (rst/sphinx)
	Prep for new fencing changes
	Simple display helpers
	Master/auth changes
	Register/unregister rework
	Loads of trivial patches/fixes.

New stuff:
	ARM Mali display driver (not the 3D chip)
	sii902x RGB->HDMI bridge

Panel:
	Support for new panels
	Improved backlight support

Bridge:
	Convert ADV7511 to bridge driver
	ADV7533 support
	TC358767 (DSI/DPI to eDP) encoder chip support

i915:
	BXT support enabled by default
	GVT-g infrastructure
	GuC command submission and fixes
	BXT workarounds
	SKL/BKL workarounds
	Demidlayering device registration
	Thundering herd fixes
	Missing pci ids
	Atomic updates

amdgpu/radeon:
	ATPX improvements for better dGPU power control on PX systems
	New power features for CZ/BR/ST
	Pipelined BO moves and evictions in TTM
	GPU scheduler improvements
	GPU reset improvements
	Overclocking on dGPUs with amdgpu
	Polaris powermanagement enabled

nouveau:
	GK20A/GM20B volt and clock improvements.
    	Initial support for GP100/GP104 GPUs, GP104 will not yet support
	acceleration due to NVIDIA having not released firmware for them as of yet.

exynos:
	Exynos5433 SoC with IOMMU support.

vc4:
	Shader validation for branching
	
imx-drm:
	Atomic mode setting conversion
	Reworked DMFC FIFO allocation
	External bridge support

analogix-dp:
	RK3399 eDP support
	Lots of fixes.

rockchip:
	Lots of small fixes.

msm:
	DT bindings cleanups
	Shrinker and madvise support
	ASoC HDMI codec support

tegra:
	Host1x driver cleanups
	SOR reworking for DP support
	Runtime PM support

omapdrm:
	PLL enhancements
	Header refactoring
	Gamma table support

arcgpu:
	Simulator support

virtio-gpu:
	Atomic modesetting fixes.

rcar-du:
	Misc fixes.

mediatek:
	MT8173 HDMI support

sti:
	ASOC HDMI codec support
	Minor fixes

fsl-dcu:
	Suspend/resume support
	Bridge support
	
amdkfd:
	Minor fixes.

etnaviv:
	Enable GPU clock gating

hisilicon:
	Vblank and other fixes

The following changes since commit 523d939ef98fd712632d93a5a2b588e477a7565e:

  Linux 4.7 (2016-07-24 12:23:50 -0700)

are available in the git repository at:

  git://people.freedesktop.org/~airlied/linux tags/drm-for-v4.8

for you to fetch changes up to 753e7c8cbd8c503b962294303c7b5e9ea8513443:

  Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next (2016-08-02 11:16:02 +1000)

----------------------------------------------------------------
Alex Deucher (59):
      drm/amdgpu: load different smc firmware on some CI variants
      drm/radeon: load different smc firmware on some SI variants
      drm/radeon: load different smc firmware on some CI variants
      drm/amdgpu/gfx7: expand cp jt size to handle GDS as well
      drm/radeon/gfx7: expand cp jt size to handle GDS as well
      drm/amdgpu/gfx8: add state setup for CZ/ST GFX power gating
      drm/amdgpu/gfx8: rename some pg functions
      drm/amdgpu: add new GFX powergating types
      drm/amdgpu/gfx8: add powergating support for CZ/ST
      drm/amdgpu/gfx8: clean up polaris11 PG enable
      drm/amdgpu: disable power control on hybrid laptops
      drm/amdgpu: clean up atpx power control handling
      drm/amdgpu: add a delay after ATPX dGPU power off
      drm/amdgpu/atpx: add a query for ATPX dGPU power control
      drm/amdgpu: use PCI_D3hot for PX systems without dGPU power control
      drm/amdgpu/atpx: drop forcing of dGPU power control
      drm/radeon: disable power control on hybrid laptops
      drm/radeon: clean up atpx power control handling
      drm/radeon: add a delay after ATPX dGPU power off
      drm/radeon/atpx: add a query for ATPX dGPU power control
      drm/radeon: use PCI_D3hot for PX systems without dGPU power control
      drm/radeon/atpx: drop forcing of dGPU power control
      drm/amdgpu/atpx: track whether if this is a hybrid graphics platform
      drm/amdgpu/atpx: hybrid platforms use d3cold
      drm/amdgpu: drop explicit pci D3/D0 setting for ATPX power control
      drm/radeon/atpx: track whether if this is a hybrid graphics platform
      drm/radeon/atpx: hybrid platforms use d3cold
      drm/radeon: drop explicit pci D3/D0 setting for ATPX power control
      drm/amdgpu: work around lack of upstream ACPI support for D3cold
      drm/radeon: work around lack of upstream ACPI support for D3cold
      drm/amdgpu: properly clean up runtime pm
      drm/amdgpu/gfx8: fix CP jump table size
      drm/amdgpu/gfx7: fix CP jump table size
      drm/radeon/cik: fix CP jump table size
      drm/amdgpu: disable compute pipeline sync workaround when using fixed fw
      drm/amdgpu/gmc: make some functions static
      drm/amdgpu: drop wait_for_mc_idle asic callback
      drm/amdgpu: move get_gpu_clock_counter into the gfx struct
      drm/amdgpu: move select_se_sh into the gfx struct
      drm/amdgpu/gfx7: switch to using the existing rlc callbacks
      drm/amdgpu/gfx7: make gfx_v7_0_rlc_stop static
      drm/amdgpu/dce11: update async flip update time
      drm/amdgpu/powerplay/cz: add missing call to powergate VCE
      drm/amdgpu: add IP helpers for wait_for_idle and is_idle
      drm/amdgpu: add missing breaks
      drm/amdgpu: skip invalid ip blocks in ip helpers
      drm/amdgpu/gmc8: remove duplicate wait_for_idle functions
      drm/amdgpu/gmc7: remove duplicate wait_for_idle functions
      drm/amdgpu: remove more of the ring backup code
      drm/amdgpu/powerplay: endian fixes for ppatomctrl.c
      drm/amdgpu: support backlight control for UNIPHY3
      drm/radeon: support backlight control for UNIPHY3
      drm/amdgpu: disable GFX PG on CZ/BR/ST
      drm/radeon: fix firmware info version checks
      drm/amdgpu: fix firmware info version checks
      drm/amdgpu: init atpx at switcheroo register time (v2)
      drm/radeon: init atpx at switcheroo register time v2
      drm/radeon: drop confusing message about backlight control
      drm/amdgpu/powerplay: partial revert of endian fixes

Alex Xie (3):
      drm/amdgpu: Change some variable names to make code easier understood
      drm/amdgpu: Add comment to describe the purpose of one difficult if statement
      drm/amdgpu: Initialize the variables in a straight-forward way

Alexandre Courbot (21):
      drm/nouveau/tegra: fetch gpu_speedo_id
      drm/nouveau/volt/gk20a: make unused public functions static
      drm/nouveau/volt/gk20a: constify and name v_scale
      drm/nouveau/volt/gk20a: rename constructor
      drm/nouveau/volt/gm20b: add support for vmin parameter
      drm/nouveau/clk/gk20a: properly protect macro argument
      drm/nouveau/clk/gk20a: setup slide once during init
      drm/nouveau/clk/gk20a: reorganize MNP calculation a bit
      drm/nouveau/clk/gk20a: use nvkm_ functions in slide()
      drm/nouveau/clk/gk20a: add and use MNP programming functions
      drm/nouveau/clk/gk20a: parameterize PLL settings
      drm/nouveau/clk/gk20a: factorize n_lo computation code
      drm/nouveau/clk/gk20a: improve MNP programming
      drm/nouveau/clk/gk20a: rename constructor
      drm/nouveau/clk/gm20b: add glitchless and DFS support
      drm/nouveau/secboot: fix kerneldoc for secure boot structures
      drm/nouveau/gr/gf100: handle secure boot errors
      drm/nouveau/secboot/gm200: make firmware loading re-callable
      drm/nouveau/secboot: lazy-load firmware and be more resilient
      drm/nouveau/ttm: remove special handling of coherent objects
      drm/nouveau/bus: remove cpu_coherent flag

Alexandre Demers (2):
      drm/amd/powerplay: fix trivial typo and tidy comment
      drm/amd/powerplay: fix typos in comment in polaris' hwmgr

Alexey Brodkin (2):
      ARCv2: [vdk] Enable ARC PGU on HS38 VDK
      ARC: [nsimosci] Enable ARC PGU on nSIM OSCI virtual platforms

Alexey Khoroshilov (1):
      drm_aux-dev: fix error handling in drm_dp_aux_dev_init()

Ander Conselvan de Oliveira (14):
      drm/i915: Set crtc_state->lane_count for HDMI
      drm/i915: Unduplicate CHV signal level code
      drm/i915: Unduplicate chv_data_lane_soft_reset()
      drm/i915: Unduplicate CHV phy-releated pre pll enabling code
      drm/i915: Unduplicate CHV pre-encoder enabling phy logic
      drm/i915: Unduplicate CHV encoders' post pll disable code
      drm/i915: Unduplicate VLV signal level code
      drm/i915: Unduplicate VLV phy pre pll enabling code
      drm/i915: Unduplicate pre encoder enabling phy code
      drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c
      drm/i915: Remove intel_clock_t typedef
      drm/i915: Remove intel_range_t and intel_p2_t typedefs
      drm/i915: Remove intel_limit_t typedef
      drm/i915: Fix NULL pointer deference when out of PLLs in IVB

Andrey Gusakov (1):
      drm/bridge: tc358767: Add DPI to eDP bridge driver

Ankitprasad Sharma (2):
      drm/i915: Use insert_page for pwrite_fast
      drm/i915: Support for pread/pwrite from/to non shmem backed objects

Archit Taneja (42):
      drm/i2c: adv7511: Convert to drm_bridge
      drm/i2c: adv7511: Move to bridge folder
      drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled
      drm/bridge: adv7533: Initial support for ADV7533
      drm/bridge: adv7533: Create a MIPI DSI device
      drm/bridge: adv7533: Use internal timing generator
      drm/bridge: adv7533: Change number of DSI lanes dynamically
      dt-bindings: drm/bridge: Update bindings for ADV7533
      drm/msm: Use correct type for physical addresses
      drm/msm: Print the correct virtual addresses in map/unmap funcs
      drm/msm/mdp5: Don't get source of MDP core clock
      drm/msm/mdp4: Clean up some MDP4 clocks
      dt-bindings: msm/mdp: Fix up clock related bindings
      drm/msm/dsi: Modify port parsing
      drm/msm/dsi: Use generic PHY bindings
      drm/msm/dsi: Use a standard DT binding for data lanes
      dt-bindings: msm/dsi: Use standard data lanes binding
      dt-bindings: msm/dsi: Modify port and PHY bindings
      dt-bindings: msm/dsi: Add assigned clocks bindings
      dt-bindings: msm/dsi: Some binding doc cleanups
      drm/msm: Drop the id_table in platform_driver
      drm/msm: Remove unused fields
      drm/msm: Get irq number within kms driver itself
      drm/msm/mdp5: Add MDSS top level driver
      drm/msm/mdp5: Create a separate MDP5 device
      drm/msm/mdp5: Prepare new kms_init funcs
      drm/msm/mdp5: Use the new hierarchy and drop old irq management
      drm/msm/mdp5: Remove old kms init/destroy funcs
      drm/msm/mdp5: Use updated MDP5 register names
      drm/msm/mdp5: Update the register offsets of MDP5 sub-blocks
      drm/msm: Call pm_runtime_enable/disable for newly created devices
      drm/msm/mdp5: Add missing mdp5_enable/disable calls
      drm/msm: Create separate funcs for adding display/gpu components
      drm/msm: Add display components by parsing MDP ports
      drm/msm: Add components for MDP5
      drm/msm: Drop the gpu binding
      drm/msm/mdp5: Update compatible strings for MDSS/MDP5
      drm/msm/dsi: Don't get DSI index from DT
      dt-bindings: msm/mdp4: Create a separate binding doc for MDP4
      dt-bindings: msm/mdp5: Add MDP5 display bindings
      dt-bindings: msm/mdp: Provide details on MDP interface ports
      drm: rcar-du: Remove i2c slave encoder interface for hdmi encoder

Arindam Nath (2):
      drm/amd/amdgpu: make sure VCE is disabled by default
      drm/amd/powerplay: make sure VCE is disabled by default

Arnaud Pouliquen (1):
      drm: sti: Add ASoC generic hdmi codec support.

Arnd Bergmann (3):
      drm: rockchip: select DRM_GEM_CMA_HELPER
      drm/mediatek: Remove IOMMU_DMA select
      amdgpu: use NULL instead of 0 for pointer

Ben Skeggs (71):
      drm/nouveau/top: take nvkm_device as argument to public functions
      drm/nouveau/top: add function to lookup interrupt mask for a given device
      drm/nouveau/mc: allow construction of subclassed device
      drm/nouveau/mc: take nvkm_device as argument to public functions
      drm/nouveau/mc: expose device enable/disable separately, as well as reset
      drm/nouveau/mc: s/intr_mask/intr_stat/
      drm/nouveau/mc: support for temporarily masking interrupts from a specific device
      drm/nouveau/mc/gt215: support for masking interrupts
      drm/nouveau/mc/gf100-: support for masking interrupts
      drm/nouveau/mc/gk104-: add pmu reset mask
      drm/nouveau/secboot: use nvkm_mc_intr_mask/unmask()
      drm/nouveau/secboot: use nvkm_mc_enable/disable()
      drm/nouveau/ltc/gm107-: decode interrupt status to human-readable strings
      drm/nouveau/disp/nv50-: fix lookup of udisp table under certain circumstances
      drm/nouveau/fifo/gk104-: translate engidx into human-readable name in debug output
      drm/nouveau/bios: guard against out-of-bounds accesses to image
      drm/nouveau/bios: pointers beyond end of first image need special handling
      drm/nouveau/disp/g94: implement workaround for dvi issue on fx380
      drm/nouveau: prevent oops if no mmu subdev present
      drm/nouveau/fb/gf100-: allow selection of an alternate big page size
      drm/nouveau/core: increase maximum ce instances to 6
      drm/nouveau/core: increase maximum nvenc instances to 3
      drm/nouveau/core: recognise GP100 chipset
      drm/nouveau/top/gp100: initial support
      drm/nouveau/mc/gp100: initial support
      drm/nouveau/pci/gp100: initial support
      drm/nouveau/tmr/gp100: initial support
      drm/nouveau/bios/gp100: initial support
      drm/nouveau/bios/dp: initial support for 4.2
      drm/nouveau/bios/pll: initial support for BIT 'C' version 2
      drm/nouveau/bios/rammap: 32-bit bios pointers
      drm/nouveau/devinit/gp100: initial support
      drm/nouveau/imem/gp100: initial implementation
      drm/nouveau/fb/gp100: initial support
      drm/nouveau/mmu/gp100: initial support
      drm/nouveau/bar/gp100: initial support
      drm/nouveau/bus/gp100: initial support
      drm/nouveau/fuse/gp100: initial support
      drm/nouveau/gpio/gp100: initial support
      drm/nouveau/i2c/gm204: initial support
      drm/nouveau/ibus/gp100: initial support
      drm/nouveau/ltc/gp100: initial support
      drm/nouveau/secboot/gm200: initial support
      drm/nouveau/dma/gp100: initial implementation
      drm/nouveau/disp/gp100: initial support
      drm/nouveau/fifo/gp100: initial support
      drm/nouveau/ce/gp100: initial support
      drm/nouveau/gr/gp100: initial support
      drm/nouveau/sw/gp100: initial support
      drm/nouveau/core: recognise GP104 chipset
      drm/nouveau/top/gp104: initial support
      drm/nouveau/mc/gp104: initial support
      drm/nouveau/pci/gp104: initial support
      drm/nouveau/tmr/gp104: initial support
      drm/nouveau/bios/gp104: initial support
      drm/nouveau/devinit/gp104: initial support
      drm/nouveau/imem/gp104: initial support
      drm/nouveau/fb/gp104: initial support
      drm/nouveau/mmu/gp104: initial support
      drm/nouveau/bar/gp104: initial support
      drm/nouveau/bus/gp104: initial support
      drm/nouveau/fuse/gp104: initial support
      drm/nouveau/gpio/gp104: initial support
      drm/nouveau/i2c/gp104: initial support
      drm/nouveau/ibus/gp104: initial support
      drm/nouveau/ltc/gp104: initial support
      drm/nouveau/dma/gp104: initial support
      drm/nouveau/disp/gp104: initial support
      drm/nouveau/fifo/gp104: initial support
      drm/nouveau/ce/gp104: initial support
      drm/nouveau: check for supported chipset before booting fbdev off the hw

Benjamin Gaignard (5):
      drm: sti: remove useless call to dev->struct_mutex
      drm: Add callbacks for late registering
      drm: sti: use late_register and early_unregister callbacks
      drm: sti: rework init sequence
      drm: sti: fix clocking issues in crtc

Benjamin Herrenschmidt (1):
      drm: Fix broken use of _PAGE_NO_CACHE on powerpc

Bhaktipriya Shridhar (4):
      gpu: host1x: hw: intr_hw: Remove create_workqueue
      drm/amdkfd: Remove create_workqueue()
      drm/qxl: Remove deprecated create_singlethread_workqueue
      drm/radeon: Remove deprecated create_singlethread_workqueue

Bich Hemon (1):
      drm/sti: adjust delay for AWG

Bob Paauwe (1):
      drm/i915: Set legacy properties when using legacy gamma set IOCTL. (v2)

Boris Brezillon (23):
      drm/atomic: Handle funcs->best_encoder == NULL case
      drm/atomic: Fix remaining places where !funcs->best_encoder is valid
      drm: mediatek: Rely on the default ->best_encoder() behavior
      drm: msm: Rely on the default ->best_encoder() behavior where appropriate
      drm: sti: Rely on the default ->best_encoder() behavior
      drm: arc: Rely on the default ->best_encoder() behavior
      drm: atmel-hlcdc: Rely on the default ->best_encoder() behavior
      drm: exynos: Rely on the default ->best_encoder() behavior
      drm: fsl-dcu: Rely on the default ->best_encoder() behavior
      drm: rcar-du: Rely on the default ->best_encoder() behavior
      drm: rockchip: Rely on the default ->best_encoder() behavior
      drm: sun4i: Rely on the default ->best_encoder() behavior
      drm: tegra: Rely on the default ->best_encoder() behavior
      drm: vc4: Rely on the default ->best_encoder() behavior
      drm: virtgpu: Rely on the default ->best_encoder() behavior
      drm: omap: Rely on the default ->best_encoder() behavior
      drm/bridge: anx78xx: Rely on the default ->best_encoder() behavior
      drm/bridge: ptn3460: Rely on the default ->best_encoder() behavior
      drm/bridge: ps8622: Rely on the default ->best_encoder() behavior
      drm/bridge: dw-hdmi: Use drm_atomic_helper_best_encoder()
      drm: i915: Rely on the default ->best_encoder() behavior where appropriate
      drm/bridge: Add sii902x driver
      drm/bridge: Add sii902x DT bindings doc

Brian Norris (1):
      drm/rockchip: fix compile warnings for 64-bit

Brian Starkey (1):
      drm/arm: mali-dp: Set crtc.port to the port instead of the endpoint

Chris Wilson (254):
      drm/i915: Protect gen7 irq_seqno_barrier with uncore lock
      drm/i915: Propagate error from drm_gem_object_init()
      drm/i915/fbdev: Call intel_unpin_fb_obj() on release
      drm/i915/overlay: Replace i915_gem_obj_ggtt_offset() with the known flip_addr
      io-mapping: Specify mapping size for io_mapping_map_wc()
      drm/i915: Introduce i915_vm_to_ggtt()
      drm/i915: Move ioremap_wc tracking onto VMA
      drm/i915: Use i915_vma_pin_iomap on the ringbuffer object
      drm/i915: Mark the current context as lost on suspend
      drm/i915: L3 cache remapping is part of context switching
      drm/i915: Consolidate L3 remapping LRI
      drm/i915: Remove early l3-remap
      drm/i915: Rearrange switch_context to load the aliasing ppgtt on first use
      drm/i915: Unify intel_ring_begin()
      drm/i915: Remove the identical implementations of request space reservation
      drm/i915: Manually unwind after a failed request allocation
      drm/i915: Preallocate enough space for the average request
      drm/i915: Update execlists context descriptor format commentary
      drm/i915: Assign every HW context a unique ID
      drm/i915: Replace the pinned context address with its unique ID
      drm/i915: Refactor execlists default context pinning
      drm/i915: Move the magical deferred context allocation into the request
      drm/i915: Move releasing of the GEM request from free to retire/cancel
      drm/i915: Track the previous pinned context inside the request
      drm/i915: Unify GPU resets upon shutdown
      drm/i915: Bump reserved size for legacy gen8 semaphore emission
      drm/i915: Trim the flush for the legacy request emission
      drm/i915: Trim the flush for the execlists request emission
      drm/i915: Apply strongly ordered RCS breadcrumb to gen8/legacy
      drm/i915: Fix ordering of sanitize ppgtt and sanitize execlists
      drm/i915: Fix gen8 semaphores id for legacy mode
      drm/i915: Fix serialisation of pipecontrol write vs semaphore signal
      drm/i915: Reload PD tables after semaphore wait on gen8
      drm/i915: Enable semaphores for legacy submission on gen8
      drm/i915: Report command parser version 0 if disabled
      drm/i915: Unexport i915_ppgtt_init()
      drm/i915/execlists: Refactor common engine setup
      drm/i915: Store a i915 backpointer from engine, and use it
      x86: Silence 32bit compiler warning in intel_graphics_stolen()
      drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c
      drm/i915: Convert intel_overlay.c to use native drm_i915_private pointers
      drm/i915: Move get-reset-stats ioctl from intel_uncore.c to i915_gem_context.c
      drm/i915: Complete pending resets before get-reset-stats ioctl
      drm/i915: Stop retiring requests from busy/wait ioctls
      drm/i915: Stop automatically retiring requests after a GPU hang
      drm/i915: Add distinct stubs for PM hibernation phases
      drm/i915: Update domain tracking for GEM objects on hibernation
      drm/i915: Lazily migrate the objects after hibernation
      drm/i915: Skip clearing the GGTT on full-ppgtt systems
      drm/i915/userptr: Convert to drm_i915_private
      drm/i915/opregion: Convert to using native drm_i915_private
      drm/i915/opregion: Rename init/fini functions to register/unregister
      drm/i915: Rename struct intel_context
      drm/i915: Apply lockdep annotations to i915_gem_context.c
      drm/i915: Rename and inline i915_gem_context_get()
      drm/i915: Name the inner most per-engine intel_context struct
      drm/i915: Move pinning of dev_priv->kernel_context into its creator
      drm/i915: Show i915_gem_context owner in debugfs
      drm/i915: Put the kernel_context in drm_i915_private next to its friends
      drm/i915: Merge legacy+execlists context structs
      drm/i915: Rearrange i915_gem_context
      drm/i915/debugfs: Show context objects in i915_gem_objects
      drm/i915: Only ignore eDP ports that are connected
      drm/i915: Silence "unexpected child device config size" for VBT on 845g
      drm: Only create a cmdline mode if no probed modes match
      drm: Store the plane's index
      drm/i915: Add support for mapping an object page by page
      drm/i915: Introduce i915_gem_object_get_dma_address()
      drm: Export drm_dev_init() for subclassing
      drm: Add a callback from connector registering
      drm: Make drm_connector_register() safe against multiple calls
      drm: Automatically unregister the connector during cleanup
      drm/i915: Serialise presentation with imported dmabufs
      drm: Pass the drm_dp_aux->hw_mutex to i2c for its locking
      drm: Minimally initialise drm_dp_aux
      drm: Automatically register/unregister all connectors
      drm: Protect drm_connector_register_all() under DRIVER_MODESET
      drm/i915: Move intel_connector->unregister to connector->early_unregister
      drm/i915: Move backlight unregistration to connector unregistration
      drm/i915: Avoid use-after-free of intel_encoder in intel_dp_connector_destrpy
      drm/i915: Extract checking for backing struct pages to a helper
      drm/i915: pwrite/pread do not require obj->base.filp, just pages
      drm: Prevent NULL deref in drm_name_info()
      drm/i915: use ORIGIN_CPU for frontbuffer invalidation on WC mmaps
      drm/i915/fbdev: Perform async fbdev initialisation much later
      drm/i915/fbdev: Limit the global async-domain synchronization
      drm/i915/fbdev: Flush mode configuration before lastclose
      drm/arc: Remove redundant calls to drm_connector_register_all()
      drm/atmel-hlcdc: Remove redundant calls to drm_connector_register_all()
      drm/hisilicon: Remove redundant calls to drm_connector_register_all()
      drm/mediatek: Remove redundant calls to drm_connector_register_all()
      drm/msm: Remove redundant calls to drm_connector_register_all()
      drm/rcar-du: Remove redundant calls to drm_connector_register_all()
      drm/i915/gvt: Mark i915.enable_gvt as false if loading fails
      drm/atmel-hlcdc: Remove redundant call to drm_connector_unregister_all()
      drm/vc4: Remove open-coded drm_connector_register_all()
      drm/sun4i: Remove open-coded drm_connector_register_all()
      drm/fb-helper: Reduce READ_ONCE(master) to lockless_dereference
      drm/i915: Move panel's backlight setup next to panel init
      drm/i915: Move registration actions to connector->late_register
      drm/i915: Move backlight registration to connector registration
      drm/i915: Move connector registration to driver registration
      drm/i915: Register debugfs interface last
      drm/i915: Demidlayer driver loading
      drm/i915: Demidlayer driver unloading
      drm/i915: Remove redundant drm_connector_register_all()
      drm/i915: Start exploiting drm_device subclassing
      drm/i915: Merge i915_dma.c into i915_drv.c
      drm/i915: Remove user controllable DRM_ERROR for i915_getparam()
      drm/i915: Remove user controllable DRM_ERROR for intel_get_pipe_from_crtc_id()
      drm/i915: Split out the PCI driver interface to i915_pci.c
      drm/i915: Move module init/exit to i915_pci.c
      drm/i915: Skip idling an idle engine
      drm/i915: Move legacy kernel context pinning to intel_ringbuffer.c
      drm/i915: Treat kernel context as initialised
      drm/i915: Mark all default contexts as uninitialised after context loss
      drm/i915: No need to wait for idle on L3 remap
      drm/i915: Split idling from forcing context switch
      drm/i915: Only switch to default context when evicting from GGTT
      drm/i915: Remove request->reset_counter
      Revert "drm/i915: Use atomic commits for legacy page_flips"
      drm/i915: Use a hybrid scheme for fast register waits
      drm/i915: Convert sandybridge_pcode_*() to use intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Perform Sandybridge BSD tail write under the forcewake
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915/ringbuffer: Move all generic engine->dispatch_batchbuffer together
      drm/i915/ringbuffer: Move all default irq vfuncs init to a separate func
      drm/i915/shrinker: Flush active on objects before counting
      drm/i915: Delay queuing hangcheck to wait-request
      drm/i915: Remove the dedicated hangcheck workqueue
      drm/i915: Make queueing the hangcheck work inline
      drm/i915: Separate GPU hang waitqueue from advance
      drm/i915: Slaughter the thundering i915_wait_request herd
      drm/i915: Spin after waking up for an interrupt
      drm/i915: Use HWS for seqno tracking everywhere
      drm/i915: Stop mapping the scratch page into CPU space
      drm/i915: Allocate scratch page from stolen
      drm/i915: Refactor scratch object allocation for gen2 w/a buffer
      drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk)
      drm/i915: Check the CPU cached value in HWS of seqno after waking the waiter
      drm/i915: Only apply one barrier after a breadcrumb interrupt is posted
      drm/i915: Stop setting wraparound seqno on initialisation
      drm/i915: Convert trace-irq to the breadcrumb waiter
      drm/i915: Embed signaling node into the GEM request
      drm/i915: Move the get/put irq locking into the caller
      drm/i915: Simplify enabling user-interrupts with L3-remapping
      drm/i915: Remove debug noise on detecting fault-injection of missed interrupts
      drm/i915: Fix random indent in i915_drm_resume()
      drm/915: Fix long lines and random indent in gen6_set_rps_thresholds()
      drm/i915: Fix indentation in i915_gem_framebuffer_info()
      drm/i915: Fix inconsistent indenting in i915_error_state_to_str()
      drm/i915: Match bitmask size to types in intel_fb_initial_config()
      drm/i915: Fix inconsistent indenting in vbt_panel_init()
      drm/i915: Fix buffer overflow in dsi_calc_mnp()
      drm/i915: Fix inconsistent indentation in intel_pre_enable_lvds()
      drm/i915: Remove check for !crtc_state in intel_plane_atomic_calc_changes()
      drm/i915: Only start retire worker when idle
      drm/i915: Do not keep postponing the idle-work
      drm/i915: Remove redundant queue_delayed_work() from throttle ioctl
      drm/i915: Restore waitboost credit to the synchronous waiter
      drm/i915: Add background commentary to "waitboosting"
      drm/i915: Flush the RPS bottom-half when the GPU idles
      drm/i915: Remove stop-rings debugfs interface
      drm/i915: Record the ringbuffer associated with the request
      drm/i915: Allow userspace to request no-error-capture upon GPU hangs
      drm/i915: Hold irq uncore.lock when initialising fw_domains
      drm/i915: Limit i915_ring_test_irq debugfs to actual rings
      drm/i915: Mass convert dev->dev_private to to_i915(dev)
      drm/i915: Replace lockless_dereference(bool) with READ_ONCE()
      drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch()
      drm/i915: Clean up GPU hang message
      drm/i915: Skip capturing an error state if we already have one
      drm/i915: Split out runtime configuration of device info to its own file
      drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk()
      drm/i915: Remove impossible tests for dev->dev_private
      drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm
      drm/i915: Always double check for a missed interrupt for new bottom halves
      drm/i915: Wake up the bottom-half if we steal their interrupt
      drm/i915: Group the irq breadcrumb variables into the same cacheline
      drm/i915: Fill unused GGTT with scratch pages for VT-d
      drm/i915: Select X86_MSR for igt
      drm/i915: Select DRM_VGEM for igt
      drm/vgem: Fix mmaping
      drm/vgem: Enable dmabuf interface for export
      drm: Unexport drm_connector_register_all()
      drm: Do a full device unregister when unplugging
      drm/udl: Unplugging a device now unregisters it
      drm: Restore double clflush on the last partial cacheline
      drm/vgem: Use PAGE_KERNEL in place of x86-specific PAGE_KERNEL_IO
      drm: Don't overwrite user ioctl arg unless requested
      drm/i915/breadcrumbs: Queue hangcheck before sleeping
      drm/vgem: Attach sw fences to exported vGEM dma-buf (ioctl)
      dma-buf: Release module reference on creation failure
      drm/vgem: Remember to offset relative timeouts to mod_timer() by jiffies
      drm/sun4i: Remove redundant call to drm_connector_unregister_all()
      drm: Unexport drm_connector_unregister_all()

Christian König (69):
      dma-buf/fence: make fence context 64 bit v2
      dma-buf/fence: add signal_on_any to the fence array v2
      drm/amdgpu: fix coding style in the scheduler v2
      drm/amdgpu: remove begin_job/finish_job
      drm/amdgpu: remove duplicated timeout callback
      drm/amdgpu: fix coding style in amdgpu_job_free
      drm/amdgpu: remove use_shed hack in job cleanup
      drm/amdgpu: properly abstract scheduler timeout handling
      drm/amdgpu: move locking into the functions who need it
      drm/amdgpu: fix and cleanup job destruction
      drm/amdgpu: document amdgpu_sync_get_fence
      drm/amdgpu: generalize the scheduler fence
      drm/amdgpu: remove amdgpu_sync_wait
      drm/amdgpu: add optional ring to amdgpu_sync_is_idle
      drm/amdgpu: prefer VMIDs idle on the current ring
      drm/amdgpu: reuse VMIDs assigned to a VM only if there is also a free one
      drm/amdgpu: use a fence array for VMID management
      drm/amdgpu: remove now unnecessary checks
      drm/amdgpu: stop trying to schedule() with a spin held
      drm/ttm: cleanup ttm_tt_(unbind|destroy)
      drm/ttm: remove NULL checks when calling ttm_tt_destroy
      drm/ttm: remove dummy bo_move implementations
      drm/ttm: add wait for idle in all drivers bo_move functions
      drm/ttm: wait for BO idle in ttm_bo_move_memcpy
      drm/ttm: drop wait for idle in ttm_bo_move_buffer
      drm/ttm: drop waiting for idle in ttm_bo_evict.
      drm/ttm: wait for BO idle after the move in ttm_bo_swapout
      drm/amdgpu: sync to buffer moves before VM updates
      drm/amdgpu: remove pre move wait
      drm/ttm: remove no_gpu_wait param from ttm_bo_move_accel_cleanup
      drm/ttm: remove TTM_BO_PRIV_FLAG_MOVING
      drm/ttm: simplify ttm_bo_wait
      drm/ttm: add the infrastructure for pipelined evictions
      drm/amdgpu: save the PD addr before scheduling the job
      drm/amdgpu: pipeline evictions as well
      drm/amdgpu: add eviction counter
      drm/amdgpu: validate VM PTs only on eviction
      drm/amdgpu: implement HDP functions for UVD v2
      drm/amdgpu: don't update page tables for VM emulation
      drm/ttm: wait for eviction in ttm_bo_force_list_clean
      drm/ttm: fix stupid parameter inversion in the pipeline code
      drm/amdgpu: stop disabling irqs when it isn't neccessary
      drm/amdgpu: fix user fence handling once more
      drm/amdgpu: shorten amdgpu_job_free_resources
      drm/amdgpu: earlier free SA resources
      drm/amdgpu: remove fence parameter from amd_sched_job_init
      drm/amdgpu: sanitize fence numbers
      drm/amdgpu: cleanup VCE coding style
      drm/amdgpu: allow multiple sessions in the same VCE IB
      drm/amdgpu: cleanup UVD coding style
      drm/amdgpu: cleanup hw reference handling in the IB tests
      drm/amdgpu: remove usec timeout loop from IB tests
      drm/amdgpu: check flush fence context instead of same ring v2
      drm/amdgpu: always signal all fences
      drm/amdgpu: trace need_flush in grab_vm as well
      drm/amdgpu: return -ENOSPC when running out of UVD handles
      drm/amdgpu: implement UVD VM mode for Stoney v2
      drm/amdgpu: increment driver minor
      drm/amdgpu: fix indentation in struct amdgpu_ring
      drm/amdgpu: remove fence_lock
      drm/amdgpu: add begin/end_use ring callbacks
      drm/amdgpu: use begin/end_use for UVD power/clock gating
      drm/amdgpu: use begin/end_use for VCE power/clock gating
      drm/amdgpu: move UVD IB test into common code v2
      drm/amdgpu: add a fence timeout for the IB tests v2
      drm/ttm: partial revert "cleanup ttm_tt_(unbind|destroy)" v3
      drm/amdgpu: enable UVD VM only on polaris
      drm/amdgpu: fix default UVD context size
      drm/amdgpu: enable UVD context buffer for older HW

Chunming Zhou (25):
      drm/amdgpu: add gpu reset to timeout handler
      drm/amdgpu: add return value for pci config reset
      drm/amdgpu: enable BUS master after pci reset
      drm/amdgpu: block scheduler when gpu reset
      drm/amdgpu: evict vram when gpu reset
      drm/amdgpu: add amdgpu_irq_gpu_reset_resume_helper
      drm/amdgpu: must update page table after gpu reset
      drm/amdgpu: save/restore bios scratch when gpu reset
      drm/amdgpu: must update page table after gpu reset
      drm/amdgpu: stop/resume fb access when gpu reset V3
      drm/amdgpu: put old hw fence of job if gpu reset
      drm/amdgpu: remove evict vram
      drm/amd: add parent for sched fence
      drm/amd: add amd_sched_hw_job_reset
      drm/amdgpu: block ttm first before parking scheduler
      drm/amdgpu: force completion for gpu reset
      drm/amdgpu: add amd_sched_job_recovery
      drm/amdgpu: add a bool to specify if needing vm flush V2
      drm/amdgpu: abstract amdgpu_vm_is_gpu_reset
      drm/amdgpu: recovery hw jobs when gpu reset V3
      drm/amdgpu: ib test first after gpu reset
      drm/amdgpu: clean up ring_backup code, no need more
      drm/amd: reset hw count when reset job
      drm/amd: fix deadlock of job_list_lock V2
      drm/amdgpu: increase timeout of IB test

Clint Taylor (1):
      drm/i915/skl: SKL CDCLK change on modeset tracking VCO

Colin Ian King (2):
      drm/vc4: clean up error exit path on failed dpi_connector allocation
      drm/vc4: remove redundant ret status check

Dan Carpenter (6):
      drm/i915/mocs: || vs | typo in get_mocs_settings()
      drm/mediatek/mtk_mipi_tx: checking the wrong variable
      qxl: check for kmap failures
      qxl: silence uninitialized variable warning
      drm/msm: return -EFAULT instead of bytes remaining
      drm/rockchip: fix a couple off by one bugs

Daniel Vetter (139):
      drm/i915: Bail out of pipe config compute loop on LPT
      drm/i915: Update DRIVER_DATE to 20160508
      Revert "mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly"
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Simplify control flow in intel_atomic_check a bit.
      drm/i915/psr: Try to program link training times correctly
      drm/i915/psr: Make idle_frames sensible again
      drm/i915/psr: Order DP aux transactions correctly
      drm/i915/psr: Use ->get_aux_send_ctl functions
      drm/i915/psr: Implement PSR2 w/a for gen9
      drm/i915: Update DRIVER_DATE to 20160522
      drm/doc: Drop vblank_disable_allow wording
      drm/i915: Revert async unpin and nonblocking atomic commit
      drm/doc: Unify KMS Locking docs
      drm/hlcd: Use lockless gem BO free callback
      drm/hisilicon: Use lockless gem BO free callback
      drm/mediatek: Use lockless gem BO free callback
      drm/fb-helper: Remove dead code in setcolreg
      drm/cirrus: Drop redundnant gamma size check
      drm/msm: Nuke dummy gamma_set/get functions
      drm/qxl: Don't set a gamma table size
      drm/vgem: Use lockless gem BO free callback
      drm: Initialize a linear gamma table by default
      drm/vc4: Use drm_gem_object_unreference_unlocked
      drm/vc4: Use lockless gem BO free callback
      drm/armada: Use lockless gem BO free callback
      drm/ast: Use lockless gem BO free callback
      drm/atmel: Use lockless gem BO free callback
      drm/bochs: Use lockless gem BO free callback
      drm/cirrus: Use lockless gem BO free callback
      drm/fls-dcu: Use lockless gem BO free callback
      drm/mga200g: Use lockless gem BO free callback
      drm/nouveau: Use lockless gem BO free callback
      drm/qxl: Use lockless gem BO free callback
      drm/rcar-du: Use lockless gem BO free callback
      drm/rockchip: Use lockless gem BO free callback
      drm/shmob: Use lockless gem BO free callback
      drm/tilcdc: Use lockless gem BO free callback
      drm/virtio: Use lockless gem BO free callback
      drm/sti: Use lockless gem BO free callback
      drm/rockchip: Use cma gem vm ops
      drm/msm: Nuke dummy fb->dirty callback
      drm/omapdrm: Nuke dummy fb->dirty callback
      drm/sun4i: Use lockless gem BO free callback
      drm/arcpgu: Use lockless gem BO free callback
      drm/i915: Revert async unpin and nonblocking atomic commit
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/atomic-helper: use for_each_*_in_state more
      drm/hdlcd: Clean up crtc hooks
      drm/i915: Use drm_atomic_get_existing_plane_state
      drm/msm: Use for_each_*_in_state
      drm/rcar-du: Use for_each_*_in_state
      drm/vc4: Use for_each_plane_in_state
      drm/omap: Use for_each_plane_in_state
      drm/exynos: Use for_each_crtc_in_state
      drm/doc: Appease sphinx
      drm/atomic: Add drm_atomic_crtc_state_for_each_plane_state
      drm: Consolidate connector arrays in drm_atomic_state
      drm: Consolidate plane arrays in drm_atomic_state
      drm: Consolidate crtc arrays in drm_atomic_state
      drm/atomic-docs: Spelling fixups
      drm/doc: Update kerneldoc for drm_crtc.h
      drm/atomic-helper: Fixup kerneldoc for drm_atomic_helper_legacy_gamma_set
      drm/doc: Improve kernel-doc for drm_fb_cma_helper.c
      drm/gpu.tmpl: Don't forget to rename the include directives, too
      drm/doc: Drop kerneldoc for static functions in drm_irq.c
      drm/doc: Switch to sphinx/rst fixed-width quoting
      drm/i915: Update DRIVER_DATE to 20160606
      drm/atomic-helper: Annotate a bunch more RETURNS: sections
      drm: Replace fb_helper->atomic with mode_config->atomic_commit
      drm/arc: Nuke event_list
      drm/fsl-du: Implement some semblance of vblank event handling
      drm/hisilicon: Implement some semblance of vblank event handling
      drm/atomic: kerneldoc for drm_atomic_crtc_needs_modeset
      Revert "drm/i915/ilk: Don't disable SSC source if it's in use"
      drm/atomic-helper: Massage swap_state signature somewhat
      drm/arc: Actually bother with handling atomic events.
      drm/sun4i: Implement some semblance of vblank event handling
      drm/atomic: Add struct drm_crtc_commit to track async updates
      drm/atomic-helper: roll out commit synchronization
      drm/atomic-helper: nonblocking commit support
      drm/arc: Implement nonblocking commit correctly
      drm/hdlcd: Use helper support for nonblocking commits
      drm/rockchip: Disarm vop->is_enabled
      drm/rockchip: Fix crtc_state->event signalling
      drm/rockchip: convert to helper nonblocking atomic commit
      drm/rockchip: Nuke pending event handling in preclose
      drm/virtio: Don't reinvent a flipping wheel
      Merge tag 'sphinx-4.8' of git://git.lwn.net/linux into topic/drm-misc
      drm/atomic-helpers: Stall on the right commit
      drm/atomic-helpers: Clear up cleanup_done a bit
      drm: Nuke legacy maps debugfs files
      drm: Hide hw.lock cleanup in filp->release better
      drm: Link directly from drm_master to drm_device
      drm: Move master functions into drm_auth.c
      drm: Extract drm_master_open
      drm: Extract drm_master_relase
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Signal drm events for atomic
      drm/i915: Roll out the helper nonblock tracking
      drm/i915: nonblocking commit
      drm/i915: Move fb_bits updating later in atomic_commit
      drm/i915: Use atomic commits for legacy page_flips
      drm/sti: Don't call drm_helper_disable_unused_functions
      drm/i915: Update DRIVER_DATE to 20160620
      drm: Only do the hw.lock cleanup in master_relase for !MODESET
      drm: Move authmagic cleanup into drm_master_release
      drm: Protect authmagic with master_mutex
      drm: Mark authmagic ioctls as unlocked
      drm: Mark set/drop master ioctl as unlocked.
      drm/omapdrm: don't call drm_helper_disable_unused_functions
      drm/crtc-helper: disable_unused_functions really isn't for atomic
      drm/amdkfd: Clean up inline handling
      drm: Move master pointer from drm_minor to drm_device
      drm: Clean up drm_crtc.h
      drm: Use dev->name as fallback for dev->unique
      drm/vgem: Stop calling drm_drv_set_unique
      drm: Don't call drm_dev_set_unique from platform drivers
      drm: Nuke SET_UNIQUE ioctl
      drm: Lobotomize set_busid nonsense for !pci drivers
      drm: Refactor drop/set master code a bit
      drm: Extract drm_is_current_master
      drm: Clear up master tracking booleans
      drm: document drm_auth.c
      drm/vc4: Remove unused connector
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20160711
      drm: Resurrect atomic rmfb code
      Revert "drm: Resurrect atomic rmfb code"
      Merge remote-tracking branch 'airlied/drm-next' into topic/drm-misc
      drm/doc: Add kerneldoc for @index
      drm/drm-kms.rst: Remove unused drm_fourcc.h include directive
      drm/doc: document all the properties in drm_mode_config
      drm: Extract&Document drm_irq.h
      drm/doc: Fix missing kerneldoc for drm_dp_helper.c
      drm/dp-mst: Remove tx_down_in_progress
      drm/dp-mst: Missing kernel doc
      drm/doc: Spinx leftovers
      drm: drm_connector->s/connector_id/index/ for consistency

Dave Airlie (46):
      Merge tag 'topic/drm-misc-2016-06-01' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next
      Backmerge tag 'v4.7-rc2' into drm-next
      Merge tag 'topic/lockless-gem-bo-freeing-2016-06-01' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'topic/drm-misc-2016-06-07' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-06-06' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'virtio-gpu-for-airlied' of git://git.kraxel.org/linux into drm-next
      Merge tag 'omapdrm-4.8' of git://git.kernel.org/.../tomba/linux into drm-next
      Merge branch 'topic-arcpgu-sim' of https://github.com/foss-for-synopsys-dwc-arc-processors/linux into drm-next
      Merge tag 'topic/drm-misc-2016-06-15' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next
      Merge tag 'drm-sii902x' of github.com:bbrezillon/linux-at91 into drm-next
      Merge tag 'topic/drm-misc-2016-06-22-updated' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/media into drm-next
      Merge tag 'mediatek-drm-2016-06-20' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'sti-drm-next-2016-06-30' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next
      Back-merge tag 'v4.7-rc5' into drm-next
      Merge branch 'for-next' of http://git.agner.ch/git/linux-drm-fsl-dcu into drm-next
      Merge tag 'asoc-hdmi-codec-pdata' of git://git.kernel.org/.../broonie/sound into drm-next
      Merge tag 'drm-amdkfd-next-2016-07-03' of git://people.freedesktop.org/~gabbayo/linux into drm-next
      Merge branch 'drm-etnaviv-next' of git://git.pengutronix.de/git/lst/linux into drm-next
      Merge tag 'drm-hisilicon-next-2016-07-04' of github.com:xin3liang/linux into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next
      Merge tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-07-11' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-vc4-next-2016-07-12' of https://github.com/anholt/linux into drm-next
      Merge branch 'exynos-drm-next' of git://git.kernel.org/.../daeinki/drm-exynos into drm-next
      Merge tag 'imx-drm-next-2016-07-14' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'upstream/analogix-dp-20160705' of git://github.com/yakir-Yang/linux into drm-next
      Merge tag 'drm/tegra/for-4.8-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge tag 'drm/panel/for-4.8-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge tag 'drm-vc4-next-2016-07-15' of https://github.com/anholt/linux into drm-next
      Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next
      Merge branch 'drm_bridge_for_4.8' of https://github.com/boddob/linux into drm-next
      Merge branch 'drm-rockchip-next-fixes-2016-07-19' of https://github.com/markyzq/kernel-drm-rockchip into drm-next
      Merge branch 'for-next' of http://git.agner.ch/git/linux-drm-fsl-dcu into drm-next
      Backmerge tag 'v4.7' into drm-next
      Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-fixes-2016-07-25' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'topic/drm-misc-2016-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'imx-drm-fixes-2016-07-27' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next

Dave Gordon (29):
      drm/i915: rename i915_gem_alloc_object() to i915_gem_object_create()
      drm/i915: refactor i915_gem_object_pin_map()
      drm/i915: optimise i915_gem_object_map() for small objects
      drm/i915: Introduce & use new lightweight SGL iterators
      drm/i915: Inline sg_next() for the optimised SGL iterator
      drm/i915/guc: rename loader entry points
      drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED
      drm/i915/guc: add enable_guc_loading parameter
      drm/i915/guc: pass request (not client) to i915_guc_{wq_check_space, submit}()
      drm/i915/guc: don't spinwait if the GuC's workqueue is full
      drm/i915/guc: rework guc_add_workqueue_item()
      drm/i915/guc: fix GuC loading/submission check
      drm/i915/guc: disable GuC submission earlier during GuC (re)load
      drm/i915/guc: enable GuC loading & submission by default
      drm/i915/guc: suppress GuC-related message on non-GuC platforms
      drm/i915/guc: prefer 'dev_priv' to 'dev' for static functions
      drm/i915/guc: prefer 'dev_priv' to 'dev' for intra-module functions
      drm/i915/guc: add doorbell map to debugfs/i915_guc_info
      drm/i915/guc: prefer __set/clear_bit() to bitmap_set/clear()
      drm/i915/guc: remove writes to GEN8_DRBREG registers
      drm/i915/guc: move guc_ring_doorbell() nearer to callsite
      drm/i915/guc: refactor doorbell management code
      drm/i915/guc: replace assign_doorbell() with select_doorbell_register()
      drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission
      drm/i915/guc: index host arrays by i915 engine ID, not guc_id
      drm/i915: tweak gen6_for_{each_pde, all_pdes} macros
      drm/i915/guc: don't ever forward VBlank to the GuC
      drm/i915: convert a few more E->dev_private to to_i915(E)
      drm/i915: avoid wait_for_atomic() in non-atomic host2guc_action()

David Mao (2):
      drm/amd/amdgpu : Refine tracepoints to track more information
      drm/amd/amdgpu : adding new tracepoints to track memory information.

David Weinehall (1):
      drm/i915: only disable memory self-refresh on GMCH

Deepak M (3):
      drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT
      drm/i915: Parse LFP brightness control field in VBT
      drm/i915/dsi: CABC support for Panel PWM backlight control

Doug Anderson (1):
      dt-bindings: Add vendor prefix for Starry

Douglas Anderson (2):
      dt-bindings: Add Starry KR122EA0SRA panel binding
      drm/panel: simple: Add support for Starry KR122EA0SRA panel

Edmondo Tommasina (1):
      drm/radeon: allow PACKET3_PFP_SYNC_ME on evergreen

Edward O'Callaghan (7):
      drivers/amdgpu: Remove spurious semicolons
      drivers/amdgpu: Use 'true/false' for bool typed variables
      drivers/amdgpu: Use canonical form in branch predicates
      drivers/amdgpu: Remove redundant NULL check before kfree()
      drivers/amdgpu: Remove redundant casts on kzalloc() calls
      drivers/amdgpu: Use canonical boolean form in various predicates
      drivers/amdgpu: Remove redundant itermediate return val

Eric Anholt (9):
      Merge tag 'drm-vc4-fixes-2016-06-06' into drm-vc4-next
      drm/vc4: Bind the HVS before we bind the individual CRTCs.
      drm/vc4: Add a getparam ioctl for getting the V3D identity regs.
      drm/vc4: Move validation's current/max ip into the validation struct.
      drm/vc4: Add a bitmap of branch targets during shader validation.
      drm/vc4: Add support for branching in shader validation.
      drm/vc4: Add a getparam to signal support for branches.
      drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS
      drm/vc4: Fix a "the the" typo in a comment.

Eric Huang (24):
      drm/amdgpu: add powerplay sclk OD support through sysfs (v2)
      drm/amd/powerplay: add sclk OD support on Fiji
      drm/amd/powerplay: add sclk OD support on Tonga
      drm/amd/powerplay: add sclk OD support on Polaris10
      drm/amdgpu: add the new common pm code to select the clock levels
      drm/amdgpu: add the new common pm code to support sclk OD
      drm/amdgpu: add the CI code to enable clock level selection
      drm/amdgpu: add the CI code to enable sclk OD(OverDrive)
      drm/amdgpu: add the common code to support mclk OD
      drm/amdgpu: add mclk OD(overdrive) support for CI
      drm/amd/powerplay: add mclk OD(overdrive) support for Tonga
      drm/amd/powerplay: add mclk OD(overdrive) support for Fiji
      drm/amd/powerplay: add mclk OD(overdrive) support for Polaris10
      drm/amd/powerplay: set UVD clocks bypass mode for Polaris10
      drm/amd/powerplay: keep soft_pp_table pointer value for re-uploading
      drm/amd/powerplay: add event task of disable dynamic state management
      drm/amd/powerplay: add function disable_dpm_tasks for Fiji
      drm/amd/powerplay: add disable dpm tasks for Tonga
      drm/amd/powerplay: add disable dpm tasks for Polaris10
      drm/amd/powerplay: change backend allocation to backend init
      drm/amd/powerplay: add uploading pptable and resetting powerplay support
      drm/amd/powerplay: remove useless pp_table codes for Tonga/Fiji/Polaris10
      drm/amd/powerplay: remove useless soft pptable in Asic related backend
      drm/amdgpu: some improvement in parsing inputs

Fabio Estevam (3):
      drm/imx: imx-tve: check the value returned by regulator_set_voltage()
      drm/imx: imx-tve: remove unneeded 'or' operation
      drm/imx: imx-tve: fix the error message

Frank Binns (4):
      drm/i915: Fix misleading driver debug message
      drm: fix some spelling mistakes
      drm/amd/amdgpu: Set DRIVER_MODESET feature flag at build time
      drm/vmwgfx: Stop checking minor type directly

Geert Uytterhoeven (1):
      MAINTAINERS: Add file patterns for drm device tree bindings

Gerd Hoffmann (8):
      virtio-gpu: fix output lookup
      virtio-gpu: fix output lookup
      virtio-gpu: add atomic_commit function
      virtio-gpu: switch to atomic cursor interfaces
      add cursor hotspot to drm_framebuffer
      virtio-gpu: pick up hotspot from framebuffer
      virtio-gpu: use src not crtc
      drm/i915: use #defines for qemu subsystem ids

Gustavo Padovan (32):
      dma-buf/fence: add fence_array fences v6
      drm/fence: add fence to drm_pending_event
      dma-buf/sync_file: fix build warning with context format type
      drm/armada: use drm_crtc_send_vblank_event()
      drm/atmel: use drm_crtc_send_vblank_event()
      drm/qxl: use drm_crtc_send_vblank_event()
      drm/udl: use drm_crtc_send_vblank_event()
      drm/virtio: use drm_crtc_send_vblank_event()
      drm/amdgpu: use drm_crtc_vblank_{get,put}()
      drm/armada: use drm_crtc_vblank_{get,put}()
      drm/atmel: use drm_crtc_vblank_{get,put}()
      drm/qxl: use drm_crtc_vblank_{get,put}()
      drm/radeon: use drm_crtc_vblank_{get,put}()
      drm/shmobile: use drm_crtc_vblank_{get,put}()
      Documentation: add fence-array to kernel DocBook
      drm/nouveau: replace legacy vblank helpers
      drm: remove legacy drm_send_vblank_event()
      drm: remove legacy drm_arm_vblank_event()
      drm: make drm_vblank_{get,put}() static
      drm/amdgpu: use drm_crtc_vblank_{on,off}()
      drm/radeon: use drm_crtc_vblank_{on,off}()
      drm/amdgpu: use crtc directly in drm_crtc_vblank_put()
      drm/radeon: use crtc directly in drm_crtc_vblank_put()
      drm/gma500: use drm_crtc_vblank_{on,off}()
      drm: make drm_vblank_count_and_time() static
      drm/armada: use drm_crtc_handle_vblank()
      drm/atmel: use drm_crtc_handle_vblank()
      drm/nouveau: use drm_crtc_handle_vblank()
      drm/rcar-du: use drm_crtc_handle_vblank()
      drm/tilcdc: use drm_crtc_handle_vblank()
      MAINTAINERS: add entry for the Sync File Framework
      dma-buf/sync_file: improve Kconfig description for Sync Files

Heinrich Schuchardt (1):
      drm/mm: avoid possible null pointer dereference

Huang Rui (17):
      drm/amdgpu: add powercontainment module parameter
      drm/amdgpu: factor out the AMDGPU_INFO_FW_VERSION case branch into amdgpu_firmware_info
      drm/amdgpu: introduce a firmware debugfs to dump all current firmware versions
      drm/amdgpu: change pcie_gen_cap magic code to macro
      drm/amdgpu: rename smumgr to smum for dpm
      drm/amdgpu: no need load microcode at sdma if powerplay is enabled
      drm/amdgpu: add ucode_start_address into cgs_firmware_info
      drm/amd/powerplay: add SMU register macro for future use
      drm/amdgpu: add new definitions into ppsmc.h for iceland
      drm/amd/powerplay: add atomctrl_get_voltage_evv function in ppatomctrl
      drm/amd/powerplay: fix the incorrect return value
      drm/amd/powerplay: add pp_tables_get_response_times function in process pptables
      drm/amdgpu: make amdgpu_cgs_call_acpi_method as static
      drm/amdgpu: fix incorrect type of info_id
      drm/amd/powerplay: rename smum header guards
      drm/amdgpu: add new definition in bif header
      drm/amdgpu: add query device id and revision id into system info entry at CGS

Ilia Mirkin (1):
      drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup

Imre Deak (31):
      drm/i915/bdw: Add missing delay during L3 SQC credit programming
      drm/i915: Clean up L3 SQC register field definitions
      drm/i915/chv: Tune L3 SQC credits based on actual latencies
      drm/i915/gen9: Avoid using negative array index in skl_update_plane()
      drm/i915: Add comments about fixed pipe->transcoder/PLL mapping
      drm/i915: Handle error return from dma_set_coherent_mask()
      drm/i915: Remove redundant const from function return type
      drm/i915/gen9: Assume CDCLK PLL is off if it's not locked
      drm/i915/bxt: Sanitize CDCLK to fix breakage during S4 resume
      drm/i915/bxt: Wait for PHY1 GRC calibration synchronously
      drm/i915: Factor out intel_power_well_get/put
      drm/i915/bxt: Move DDI PHY enabling/disabling to the power well code
      drm/i915/bxt: Set DDI PHY lane latency optimization during modeset
      drm/i915/bxt: Rename broxton to bxt in PHY/CDCLK function prefixes
      drm/i915/bxt: Sanitiy check the PHY lane power down status
      drm/i915/ibx, cpt: Don't attempt to register eDP if LVDS was detected
      drm/i915: Initialize the PPS HW before its first use
      drm/i915: Group all the PPS init steps to one place
      drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training
      drm/i915: Deduplicate PPS register retrieval
      drm/i915: Factor out helper to read out PPS HW state
      drm/i915: Sanity check PPS HW state
      drm/i915/bxt: Avoid early timeout during PLL enable
      drm/i915/lpt: Avoid early timeout during FDI PHY reset
      drm/i915/hsw: Avoid early timeout during LCPLL disable/restore
      drm/i915: Avoid early timeout during AUX transfers
      drm/i915: Fix log type for RC6 debug messages
      drm/i915/bxt: Fix sanity check for BIOS RC6 setup
      drm/i915/bxt: Remove the preliminary_hw_support flag
      drm/i915/gen9: Clean up MOCS table definitions
      drm/i915/bxt: Fix inadvertent CPU snooping due to incorrect MOCS config

Jani Nikula (17):
      drm/i915/dsi: don't pretend we support SC GPIOs
      drm/i915/dsi: add support for sequence block v3 gpio for VLV
      drm/i915/dsi: add support for gpio elements on CHV
      drm/i915/lvds: separate border enable readout from panel fitter
      drm/i915: don't mix bitwise and logical operations for has_snoop
      drm/i915/dsi: Add DCS control for Panel PWM
      drm/i915/dsi: fix bxt split screen and color issue
      Documentation/gpu: add new gpu.rst converted from DocBook gpu.tmpl
      Documentation/gpu: split up the gpu documentation
      MAINTAINERS: add Documentation/gpu and Documentation/gpu/i915.rst
      Documentation/gpu: use recommended order of heading markers
      Documentation/gpu: convert the KMS properties table to CSV
      Documentation/gpu: split up mm, kms and kms-helpers from internals
      Documentation/DocBook: remove gpu.tmpl
      drm/i915/opregion: add acpi defines from the spec
      drm/i915/opregion: abstract acpi display type getter for a connector
      drm/i915/opregion: handle missing connector types for acpi display types

Jie Qiu (2):
      drm/mediatek: Add HDMI support
      drm/mediatek: enable hdmi output control bit

John Keeping (4):
      drm/rockchip: dw_hdmi: remove unused #include
      drm/rockchip: fb: add missing header
      drm/rockchip: fix "should it be static?" warnings
      drm/rockchip: allocate correct crtc state structure on reset

Jon Hunter (8):
      drm/tegra: dpaux: Clean-up on probe failure
      drm/tegra: dpaux: Add helpers for setting up pads
      dt-bindings: display: Update Tegra DPAUX documentation
      drm/tegra: Prepare DPAUX for supporting generic PM domains
      dt-bindings: Add bindings for Tegra DPAUX pinctrl driver
      drm/tegra: dpaux: Add pinctrl support
      drm/tegra: dsi: Prepare for generic PM domain support
      drm/tegra: sor: Prepare for generic PM domain support

Joonas Lahtinen (2):
      drm/i915: Canonicalize stolen memory calculations
      drm/i915: Function per early graphics quirk

Joshua Clayton (2):
      drm/panel: simple: Add support for Sharp LQ101K1LY04
      dt-bindings: display: Add Sharp LQ101K1LY04 panel binding

Julia Lawall (1):
      drm/nouveau/gr/gk20a: delete unneeded second newline

Junwei Zhang (1):
      drm/amdgpu/dce8: fix flash with white screen on monitor

Jyri Sarha (4):
      drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt()
      drm/omapdrm: Add gamma table support to DSS dispc
      drm/omapdrm: Workaround for errata i734 (LCD1 Gamma) in DSS dispc
      drm/omapdrm: Implement gamma_lut atomic crtc properties

Karol Herbst (2):
      drm/nouveau/volt: save the voltage range we are able to set
      drm/nouveau/hwmon: add in_min and in_max

Ken Wang (1):
      drm/amdgpu: remove gfx8 registers that vary between asics

Kenneth Graunke (1):
      drm/i915: Allow MI_LOAD_REGISTER_REG between whitelisted registers.

Kumar, Mahesh (3):
      drm/i915/skl+: calculate ddb minimum allocation (v6)
      drm/i915/skl+: calculate plane pixel rate (v4)
      drm/i915/skl+: Use scaling amount for plane data rate calculation (v4)

Kuninori Morimoto (2):
      drm: rcar-du: error message is not needed for drm_vblank_init()
      drm: rcar-du: error message is not needed for EPROBE_DEFER

Laurent Pinchart (7):
      drm: omapdrm: panel-lgphilips-lb035q02: Remove unused backlight GPIO
      drm: omapdrm: Remove unused omap_gem_tiled_size function
      drm: omapdrm: Remove unused omap_framebuffer_bo function
      drm/ast: Remove useless drm_fb_get_bpp_depth() call
      drm/qxl: Remove useless drm_fb_get_bpp_depth() call
      drm: Move format-related helpers to drm_fourcc.c
      drm/msm: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp()

Lee Jones (1):
      drm/sti: use new Reset API

Leo Liu (1):
      drm/amdgpu: free handles after fini the context

Liu Ying (11):
      drm/atomic-helper: Do not call ->mode_fixup for CRTC which will be disabled
      drm/imx: ipuv3 plane: Check different types of plane separately
      gpu: ipu-v3: ipu-dmfc: Use static DMFC FIFO allocation mechanism
      drm/imx: atomic phase 1: Use transitional atomic CRTC and plane helpers
      drm/imx: atomic phase 2 step 1: Wire up state ->reset, ->duplicate and ->destroy
      drm/imx: atomic phase 2 step 2: Track plane_state->fb correctly in ->page_flip
      drm/imx: Remove encoders' ->prepare callbacks
      drm/imx: atomic phase 3 step 1: Use atomic configuration
      drm/bridge: dw-hdmi: Remove the legacy drm_connector_funcs structure
      drm/imx: atomic phase 3 step 2: Legacy callback fixups
      drm/imx: atomic phase 3 step 3: Advertise DRIVER_ATOMIC

Liviu Dudau (5):
      drm: Update obsolete information from {enable/disable}_vblank hooks.
      drm: Fix comment making reference to non-existing function
      dt/bindings: display: Add DT bindings for Mali Display Processors.
      drm/arm: Add support for Mali Display Processors
      MAINTAINERS: Add entry for Mali-DP driver

Lothar Waßmann (1):
      drm/imx: parallel-display: check return code from of_get_drm_display_mode()

Lucas Stach (3):
      drm/etnaviv: improve error reporting in GPU init path
      drm/etnaviv: remove generic GPU init failure reporting
      drm/imx: imx-ldb: check return code on panel attach

Lukas Wunner (21):
      vga_switcheroo: Add helper for deferred probing
      vga_switcheroo: Support deferred probing of audio clients
      drm: Remove dev_pm_ops from drm_class
      drm/i915: Don't unregister fbdev's fb twice
      drm/nouveau: Don't leak runtime pm ref on driver unload
      drm/nouveau: Forbid runtime pm on driver unload
      drm/radeon: Don't leak runtime pm ref on driver unload
      drm/radeon: Don't leak runtime pm ref on driver load
      drm/radeon: Forbid runtime pm on driver unload
      drm/amdgpu: Don't leak runtime pm ref on driver unload
      drm/amdgpu: Don't leak runtime pm ref on driver load
      drm/amdgpu: Forbid runtime pm on driver unload
      drm: Add helpers to turn off CRTCs
      drm/nouveau: Turn off CRTCs on driver unload
      drm/radeon: Turn off CRTCs on driver unload
      drm/amdgpu: Turn off CRTCs on driver unload
      drm: Use helper to turn off CRTC
      drm/i2c/ch7006: Use helper to turn off CRTC
      drm/nouveau/dispnv04: Use helper to turn off CRTC
      vga_switcheroo: Sphinxify docs
      apple-gmux: Sphinxify docs

Lyude (11):
      Revert "drm/i915: start adding dp mst audio"
      drm/i915/ilk: Don't disable SSC source if it's in use
      drm/i915/ilk: Don't disable SSC source if it's in use
      drm/i915/fbc: Disable on HSW by default for now
      drm/radeon: Poll for both connect/disconnect on analog connectors
      drm/amdgpu: Poll for both connect/disconnect on analog connectors
      drm/i915/vlv: Make intel_crt_reset() per-encoder
      drm/i915/vlv: Reset the ADPA in vlv_display_power_well_init()
      drm/i915/vlv: Disable HPD in valleyview_crt_detect_hotplug()
      drm/i915: Enable polling when we don't have hpd
      drm/amdgpu: Disable RPM helpers while reprobing connectors on resume

Maarten Lankhorst (28):
      drm/i915: Dump pipe config when intel_modeset_pipe_config fails.
      drm/core: Add drm_accurate_vblank_count, v5.
      drm/i915: Remove stallcheck special handling, v3.
      drm/i915: Remove intel_finish_page_flip_plane.
      drm/i915: Remove intel_prepare_page_flip, v3.
      drm/i915: Add support for detecting vblanks when hw frame counter is unavailable.
      drm/i915: Unify unpin_work and mmio_work into flip_work, v2.
      Revert "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
      drm/i915: Allow mmio updates on all platforms, v2.
      drm/i915: Convert flip_work to a list.
      drm/i915: Add the exclusive fence to plane_state.
      drm/i915: Rework intel_crtc_page_flip to be almost atomic, v3.
      drm/i915: Remove cs based page flip support.
      drm/i915: Remove use_mmio_flip kernel parameter.
      drm/i915: Remove queue_flip pointer.
      drm/i915: Remove reset_counter from intel_crtc.
      drm/i915: Pass atomic states to fbc update functions.
      drm/i915: Prepare connectors for nonblocking checks.
      drm/i915: Make unpin async.
      Reapply "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
      drm/i915: Check for unpin correctness.
      drm/i915: Allow nonblocking update of pageflips.
      drm/core: Change declaration for gamma_set.
      Reapply "drm/i915: Pass atomic states to fbc update, functions."
      drm/i915: Use connector->name in drrs debugfs.
      drm/i915: Use connector_type instead of intel_encoder->type for DP.
      drm/i915: Use atomic state and connector_type in i915_sink_src
      drm/i915: Use connector_type for printing in intel_connector_info, v2.

Marek Szyprowski (5):
      drm/exynos: iommu: move dma_params configuration code to separate functions
      drm/exynos: iommu: add a check if all sub-devices have iommu controller
      drm/exynos: iommu: remove unused entries from exynos_drm_private strcuture
      drm/exynos: iommu: move ARM specific code to exynos_drm_iommu.h
      drm/exynos: iommu: add support for ARM64 specific code for IOMMU glue

Mario Kleiner (1):
      drm/vc4: Implement precise vblank timestamping.

Mark Yao (2):
      drm/rockchip: vop: correct the source size of uv scale factor setting
      drm/rockchip: vop: correct rk3036 register define

Markus Elfring (32):
      drm/msm/hdmi: Delete an unnecessary check before the function call "kfree"
      drm/msm: Delete unnecessary checks before drm_gem_object_unreference_unlocked()
      drm/msm: Delete an unnecessary check before drm_gem_object_unreference()
      drm/bochs: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/rockchip: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/vc4: Delete unnecessary checks before two function calls
      drm/arcpgu: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      drm/virtgpu: Delete unnecessary checks before drm_gem_object_unreference_unlocked()
      drm/tegra: Delete an unnecessary check before the function call "vunmap"
      drm/cirrus: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/hdlcd: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      drm/ast: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/rockchip: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/ttm: Delete an unnecessary check before the function call "ttm_tt_destroy"
      drm/atomic: Delete an unnecessary check before drm_property_unreference_blob()
      GPU-DRM-sun4i: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      GPU-DRM-Exynos: Delete an unnecessary check before the function call "vunmap"
      GPU-DRM-OMAP: Delete unnecessary checks before two function calls
      GPU-DRM-GMA500: Delete unnecessary checks before two function calls
      drm/bridge: ps8622: Delete an unnecessary check before backlight_device_unregister()
      drm/mgag200: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/qxl: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/vmwgfx: Delete an unnecessary check before the function call "vfree"
      drm/etnaviv: Delete unnecessary checks before two function calls
      drm/etnaviv: Optimize error handling in etnaviv_gem_new_userptr()
      GPU-DRM-Radeon: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/amdgpu: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/amdgpu: One function call less in amdgpu_cgs_acpi_eval_object() after error detection
      drm/amdgpu: Delete a variable in amdgpu_cgs_acpi_eval_object()
      drm/amdgpu: Delete an unnecessary variable initialisation in amdgpu_cgs_acpi_eval_object()
      drm/amdgpu: Change assignment for a variable in amdgpu_cgs_acpi_eval_object()
      drm/amd/powerplay: Change assignment for a buffer variable in phm_dispatch_table() v2

Masanari Iida (1):
      drm: Fix a typo in drm_ioctl.c

Mathias Krause (3):
      dma-buf: propagate errors from dma_buf_describe() on debugfs read
      dma-buf: remove dma_buf directory on bufinfo file creation errors
      dma-buf: remove dma_buf_debugfs_create_file()

Matt Roper (19):
      drm/i915: Reorganize WM structs/unions in CRTC state
      drm/i915: Rename s/skl_compute_pipe_wm/skl_build_pipe_wm/
      drm/i915/gen9: Cache plane data rates in CRTC state
      drm/i915/gen9: Allow calculation of data rate for in-flight state (v2)
      drm/i915/gen9: Store plane minimum blocks in CRTC wm state (v2)
      drm/i915: Track whether an atomic transaction changes the active CRTC's
      drm/i915/gen9: Allow skl_allocate_pipe_ddb() to operate on in-flight state (v3)
      drm/i915: Add distrust_bios_wm flag to dev_priv (v2)
      drm/i915/gen9: Compute DDB allocation at atomic check time (v4)
      drm/i915/gen9: Drop re-allocation of DDB at atomic commit (v2)
      drm/i915/gen9: Calculate plane WM's from state
      drm/i915/gen9: Allow watermark calculation on in-flight atomic state (v3)
      drm/i915/gen9: Use a bitmask to track dirty pipe watermarks
      drm/i915/gen9: Propagate watermark calculation failures up the call chain
      drm/i915/gen9: Calculate watermarks during atomic 'check' (v2)
      drm/i915/gen9: Reject display updates that exceed wm limitations (v2)
      drm/i915: Remove wm_config from dev_priv/intel_atomic_state
      drm/i915: Don't try to calculate relative data rates during hw readout
      drm/i915/gen9: Re-allocate DDB only for changed pipes

Matthew Auld (4):
      drm/i915: tidy up gen8_init_scratch
      drm/i915: remove i915_gem_object_ggtt_unbind
      drm: use seqlock for vblank time/count
      drm: fix send_vblank_event use-after-free error

Matthias Beyer (1):
      drivers: gpu: drm: amd: powerplay: hwmgr: Remove unused variable

Meng Yi (2):
      drm/fsl-dcu: rework codes to support of_graph dt binding for panel
      drm/fsl-dcu: add support for drm bridge

Michał Winiarski (1):
      drm/i915: Set softmin frequency on idle->busy transition

Michel Dänzer (2):
      drm/amdgpu: Unpin BO if we can't get fences in amdgpu_crtc_page_flip
      drm: Only handle _DRM_VBLANK_NEXTONMISS once

Mika Kahola (1):
      drm/i915: Revert DisplayPort fast link training feature

Mika Kuoppala (28):
      drm/i915/skl: Add WaDisableGafsUnitClkGating
      drm/i915/kbl: Init gen9 workarounds
      drm/i915/kbl: Add REVID macro
      drm/i915/kbl: Add WaSkipStolenMemoryFirstPage for A0
      drm/i915/gen9: Always apply WaForceContextSaveRestoreNonCoherent
      drm/i915: Mimic skl with WaForceEnableNonCoherent
      drm/i915/kbl: Add WaEnableGapsTsvCreditFix
      drm/i915/kbl: Add WaDisableFenceDestinationToSLM for A0
      drm/i915/kbl: Add WaDisableSDEUnitClockGating
      drm/i915/edp: Add WaKVMNotificationOnConfigChange:bdw
      drm/i915/kbl: Add WaDisableLSQCROPERFforOCL
      drm/i915/gen9: Enable must set chicken bits in config0 reg
      drm/i915/kbl: Add WaDisableGamClockGating
      drm/i915/kbl: Add WaDisableDynamicCreditSharing
      drm/i915: Add WaInsertDummyPushConstP for bxt and kbl
      drm/i915/gen9: Add WaDisableSkipCaching
      drm/i915/skl: Add WAC6entrylatency
      drm/i915/kbl: Add WaForGAMHang
      drm/i915/kbl: Add WaDisableGafsUnitClkGating
      drm/i915/kbl: Add WaDisableSbeCacheDispatchPortSharing
      drm/i915/gen9: Add WaEnableChickenDCPR
      drm/i915/skl: Extend WaDisableChickenBitTSGBarrierAckForFFSliceCS
      drm/i915/kbl: Add WaClearSlmSpaceAtContextSwitch
      drm/i915/gen9: Add WaFbcTurnOffFbcWatermark
      drm/i915/gen9: Add WaFbcWakeMemOn
      drm/i195/fbc: Add WaFbcNukeOnHostModify
      drm/i915/gen9: Add WaFbcHighMemBwCorruptionAvoidance
      drm/i915/gen9: Add WaInPlaceDecompressionHang

Mikulas Patocka (1):
      drm/nouveau/fbcon: fix font width not divisible by 8

Monk Liu (2):
      drm/amdgpu: clear RB at ring init
      drm/amdgpu: fix ring debugfs bug

Nicholas Mc Guire (1):
      drm/radeon/ci add comment to document intentionally unreachable code

Nick Hoath (1):
      drm/i915/guc: Add Broxton GuC firmware loading support

Nicolai Hähnle (5):
      drm/amdgpu: add amdgpu.cg_mask and amdgpu.pg_mask parameters
      drm/amdgpu: remove cgs_acpi_method_argument member method_length
      drm/amdgpu: add disable_cu parameter
      drm/amdgpu/gfx7: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter
      drm/amdgpu/gfx8: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter

Nils Wallménius (2):
      drm/amd/powerplay: Mark functions of ppevvmath.h static
      drm/amd/powerplay: Delete unused functions in ppevvmath.h

Noralf Trønnes (1):
      drm: Add helper for simple display pipeline

Oded Gabbay (1):
      drm/amdkfd: destroy mutex if process creation fails

Patrik Jakobsson (1):
      drm/i915/dmc: Step away from symbolic links

Paul Bolle (1):
      drm/vmwgfx: use *_32_bits() macros

Paulo Zanoni (2):
      drm/i915/fbc: update busy_bits even for GTT and flip flushes
      drm/i915/fbc: sanitize i915.enable_fbc during FBC init

Peter Antoine (3):
      drm/i915/bxt: reserve space for RC6 in the the GuC WOPCM
      Revert "drm/i915/kbl: drm/i915: Avoid GuC loading for now on Kabylake."
      i915/guc: Add Kabylake GuC Loading

Peter Chen (12):
      gpu: drm: vc4_hdmi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_compositor: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_vdo: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_hqvdp: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_vtg: add missing of_node_put after calling of_parse_phandle
      gpu: drm: rockchip_drm_drv: add missing of_node_put after calling of_parse_phandle
      gpu: drm: omapdrm: connector-dvi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: omapdrm: dss-of: add missing of_node_put after calling of_parse_phandle
      gpu: drm: exynos_hdmi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: arcpgu_drv: add missing of_node_put after calling of_parse_phandle
      drm/fsl-dcu: add missing of_node_put after calling of_parse_phandle
      drm/msm: add missing of_node_put after calling of_parse_phandle

Peter Ujfalusi (23):
      omapfb: panel-tpo-td028ttec1: Remove legacy boot support
      omapfb: panel-nec-nl8048hl11: Remove legacy boot support
      omapfb: panel-tpo-td043mtea1: Remove legacy boot support
      omapfb: panel-sharp-ls037v7dw01: Remove legacy boot support
      omapfb: panel-lgphilips-lb035q02: Remove legacy boot support
      omapfb: panel-dsi-cm: Remove legacy boot support
      omapfb: connector-hdmi: Remove legacy boot support
      omapfb: connector-dvi: Remove legacy boot support
      omapfb: encoder-tfp410: Remove legacy boot support
      omapfb: encoder-tpd12s015: No need to include video/omap-panle-data.h
      drm/omap: displays: Do not include video/omap-panel-data.h if not needed
      omapdss: omap-panel-data.h: Remove struct omap_dss_device declaration
      drm/omap: connector-analog-tv: Support only Composite type in legacy boot
      omapfb: connector-analog-tv: Support only Composite type in legacy boot
      omapdss: omap-panel-data.h: Remove connector_type from atv pdata
      drm/omap: Remove reference to pdata->default_device
      omapfb: Remove reference to pdata->default_device
      platform_data: omapdss: Remove unused members from omap_dss_board_info
      omapdss: hdmi audio: Make header file independent of video/omapdss.h
      drm/omap: Do not include video/omapdss.h directly in drivers
      omapfb: Create new header file for omapfb DSS implementation
      [media] omap_vout: Switch to use the video/omapfb_dss.h header file
      drm/omap: Remove the video/omapdss.h and move it's content to local header file

Peter Wu (4):
      drm/nouveau/acpi: ensure matching ACPI handle and supported functions
      drm/nouveau/acpi: return supported DSM functions
      drm/nouveau/acpi: check for function 0x1B before using it
      drm/nouveau/acpi: fix lockup with PCIe runtime PM

Philipp Zabel (9):
      dt-bindings: drm/mediatek: Add Mediatek HDMI dts binding
      dt-bindings: hdmi-connector: add DDC I2C bus phandle documentation
      drm/imx: remove empty mode_set encoder callbacks
      drm/imx: store internal bus configuration in crtc state
      drm/imx: turn remaining container_of macros into inline functions
      gpu: ipu-v3: ipu-dc: don't bug out on invalid bus_format
      drm/imx: parallel-display: add bridge support
      dt-bindings: tc358767: add DT documentation
      drm/imx: imx-ldb: do not try to dereference crtc->state->state in encoder mode_set

Praveen Paneri (2):
      drm/i915: Unbind objects in shrinker only if device is runtime active
      drm/i915: Add rpm get/put in oom and vmap notifier

Ramalingam C (2):
      drm/i915/BXT: Retrieving the horizontal timing for DSI
      drm/i915/bxt: Adjusting the error in horizontal timings retrieval

Randy Dunlap (1):
      drm/i915: fix build errors when ACPI is not enabled

Rex Zhu (15):
      drm/amd/powerplay: functions's return state was reversed
      drm/amd/powerplay: change condition judgment as function's return value changed.
      drm/amdgpu: get number of shade engine by cgs interface.
      drm/amd/powerplay: add mvdd dpm support.
      drm/amd/powerplay: add shared definitions for di/dt feature.
      drm/amd/powerplay: add definitions related to di/dt feature for fiji and polaris.
      drm/amdgpu: add read/write function for GC CAC programming
      drm/amd/powerplay: don't add invalid voltage.
      drm/amd/powerplay: populate SMC ACPI minimum voltage using VBIOS boot SCLK and MCLK
      drm/amd/powerplay: enable DiDt feature for polaris10/11.
      drm/amd/powerplay: fix typo error when set clock gate state.
      Revert "drm/amd/powerplay: workaround issue that when uvd dpm disabled,"
      drm/amdgpu: add bypass mode for vce3.0
      drm/amd/powerplay: fix issue can't enable vce dpm.
      drm/amdgpu: add destroy session when generate VCE destroy msg.

Rob Clark (11):
      drm/prime: fix error path deadlock fail
      drm/msm: use mutex_lock_interruptible for submit ioctl
      drm/msm: add madvise ioctl
      drm/msm: add put_iova() helper
      drm/msm: shrinker support
      drm/msm: change gem->vmap() to get/put
      drm/msm: wire up vmap shrinker
      drm/msm: deal with arbitrary # of cmd buffers
      drm/msm: bump kernel api version
      drm/msm/rd: split out snapshot_buf helper
      drm/msm/rd: add module param to dump all bo's

Rob Herring (1):
      drm: vc4: enable XBGR8888 and ABGR8888 pixel formats

Robin Murphy (1):
      drm/fb_cma_helper: Implement fb_mmap callback

Rodrigo Vivi (5):
      drm/i915/kbl: Introduce the first official DMC for Kabylake.
      drm/i915: Add more Kabylake PCI IDs.
      drm/i915: Removing PCI IDs that are no longer listed as Kabylake.
      drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
      drm/i915/guc: Revert "drm/i915/guc: enable GuC loading & submission by default"

Roy Spliet (2):
      drm/nouveau/clk/gf100-: Clean up PLL locking test
      drm/nouveau/clk/gf100: Read secondary bypass postdiv when required

Russell King (1):
      drm/etnaviv: enable GPU module level clock gating support

Ruud Derwig (1):
      drm/arcpgu: Make ARC PGU usable on simulation platforms

SF Markus Elfring (1):
      drm/amd/powerplay: Delete an unnecessary variable initialisation in phm_dispatch_table()

Sagar Arun Kamble (1):
      drm/i915: Update GEN6_PMINTRMSK setup with GuC enabled

Sebastian Reichel (1):
      drm: omapdrm: add DSI mapping

Sergei Shtylyov (1):
      rcar-du: add/rename DEFR6 TCON bits

Slava Grigorev (3):
      drm/amdgpu: temporary comment out unused static const structures to fix the build
      drm/amdgpu: comment out unused defaults_bonaire_pro static const structures to     fix the build
      drm/amdgpu: comment out unused defaults_staturn_pro static const structure to fix the build

Srinivas Kandagatla (1):
      drm: msm: Add ASoC generic hdmi audio codec support.

Stefan Agner (7):
      drm/fb_cma_helper: add suspend helper
      drm/fsl-dcu: store layer registers in soc_data
      drm/fsl-dcu: move layer initialization to plane file
      drm/fsl-dcu: use clk helpers
      drm/fsl-dcu: implement suspend/resume using atomic helpers
      drm/fsl-dcu: disable vblank events on CRTC disable
      drm/fsl-dcu: use drm_mode_config_cleanup on initialization errors

Stefan Christ (1):
      drm/gma500: remove unnecessary stub for fb_ioctl()

Sudip Mukherjee (1):
      drm: fb: cma: fix memory leak

Thierry Reding (32):
      drm/panel: simple: Fix a couple of physical sizes
      drm/panel: simple: Remove gratuitous blank line
      drm/dsi: Add uevent callback
      Merge branch 'devel-dt-free-map' of git://git.kernel.org/.../linusw/linux-pinctrl into drm/tegra/for-next
      gpu: host1x: Consistently use unsigned int for counts
      gpu: host1x: Use unsigned int consistently for IDs
      gpu: host1x: channel: Use correct type
      gpu: host1x: cdma: Drop unnecessary local variable
      gpu: host1x: syncpt: Use kcalloc() instead of kzalloc()
      gpu: host1x: Fix a couple of checkpatch warnings
      gpu: host1x: Whitespace cleanup for readability
      gpu: host1x: Remove redundant parentheses
      gpu: host1x: Constify array of action handlers
      gpu: host1x: Remove useless local variable
      drm/tegra: sor: Factor out tegra_sor_set_parent_clock()
      drm/tegra: sor: Rename tegra_sor_calc_config()
      drm/tegra: sor: Split out tegra_sor_apply_config()
      drm/tegra: sor: Extract tegra_sor_mode_set()
      drm/tegra: sor: Do not support deep color modes
      drm/tegra: hdmi: Enable audio over HDMI
      drm/tegra: dc: Implement runtime PM
      drm/tegra: dsi: Implement runtime PM
      drm/tegra: hdmi: Implement runtime PM
      drm/tegra: sor: Implement runtime PM
      drm/panel: simple: Update backlight state property
      drm/qxl: Remove dead code
      drm/dsi: Make set_tear_scanline command consistent
      drm/tegra: sor: Implement sor1_brick clock
      dt-bindings: display: tegra: Add source clock for SOR
      drm/tegra: sor: Use sor1_src clock to set parent for HDMI
      drm/tegra: sor: Make XBAR configurable per SoC
      drm/tegra: sor: Reject HDMI 2.0 modes

Tim Gore (3):
      drm/i915:bxt: implement WaProgramL3SqcReg1DefaultForPerf
      drm/i915/gen9: implement WaConextSwitchWithConcurrentTLBInvalidate
      drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

Tina Ruchandani (1):
      drm/sti: Use 64-bit timestamps

Tobias Jakobi (22):
      drm/exynos: use logical AND in exynos_drm_plane_check_size()
      drm/exynos: make fbdev support really optional
      drm/rockchip: make fbdev support really optional
      drm/rcar-du: make fbdev support really optional
      drm/atmel-hlcdc: make fbdev support really optional
      drm/nouveau: make fbdev support really optional
      drm/arc: make fbdev support really optional
      drm/armada: make fbdev support really optional
      drm/omap: make fbdev support really optional
      drm/mgag200: make fbdev support really optional
      drm/cirrus: make fbdev support really optional
      drm/qxl: make fbdev support really optional
      drm/imx: make fbdev support really optional
      drm/shmobile: make fbdev support really optional
      drm/gma500: make fbdev support really optional
      drm/tilcdc: make fbdev support really optional
      drm/fsl-dcu: make fbdev support really optional
      drm/bochs: make fbdev support really optional
      drm/udl: make fbdev support really optional
      drm/virtio: make fbdev support really optional
      drm/ast: make fbdev support really optional
      drm/arm: make fbdev support really optional

Tom O'Rourke (1):
      drm/i915/guc: Use major_minor version for filename

Tom St Denis (17):
      drm/amdgpu/gfx8: Enable GFX PG on CZ
      drm/amdgpu/gfx8: Add serdes wait for idle in CGCG en/disable
      drm/amd/amdgpu: Convert ring debugfs entries to binary
      drm/amd/amdgpu: ring debugfs is read in increments of 4 bytes
      drm/amdgpu/trace:  Add tracepoints to MMIO read/writes
      drm/amdgpu/gfx8: Switch Stoney to share CZ's RLC functions
      drm/amdgpu/gfx8: Enable CG on Stoney
      drm/amdgpu/gfx8: Enable PG on Stoney
      drm/amdgpu/gfx8: Tidy up various PG helpers
      drm/amdgpu/gfx80:  Add QUICK_PG bit to GFX header and use it.
      drm/amdgpu/uvd6: De-numberify startup
      drm/amd/gfx: add instance field to select_se_sh (v3)
      drm/amd/amdgpu: Add gca config debug entry (v4)
      drm/amd/amdgpu: Add bank selection for MMIO debugfs (v3)
      drm/amd/powerplay:  Unify family defines
      drm/amd/powerplay: move clockgating to after ungating power in pp for uvd/vce
      drm/amd/powerplay: remove enable_clock_power_gatings_tasks from initialize and resume events

Tomasz Figa (1):
      drm/rockchip: Finish initialization before registering DRM device

Tomeu Vizoso (3):
      drm/rockchip: Drop drm_driver.load/unload callbacks
      drm/rockchip: Use atomic PM helpers
      drm/rockchip: Resume DP early

Tomi Valkeinen (33):
      drm/omap: remove unused enum omap_hdmi_flags
      drm/omap: remove unused enum omap_overlay_manager_caps
      drm/omap: fix wrong variable type
      drm/omap: video-pll: add missing data for clkout2 & 3
      drm/omap: copy enum omap_dss_clk_source
      drm/omap: rename omap_dss_clk_source
      drm/omap: remove dss_feat_get_clk_source_name()
      drm/omap: rename dss_get_generic_clk_source_name()
      drm/omap: rename dss_clk_source enums
      drm/omap: Add missing clock sources
      drm/omap: add field for PLL type
      drm/omap: clean up the LCD clk mux code
      drm/omap: add PLL helper funcs
      drm/omap: cleanup dispc_mgr_lclk_rate()
      drm/omap: cleanup dispc_fclk_rate()
      drm/omap: cleanup DPI clock source handling
      drm/omap: fix DPI clkout index handling
      drm/omap: HDMI PLL: use runtime pm
      drm/omap: rename PLL calc functions
      drm/omap: move HDMI PLL calc function to pll.c
      drm/omap: generalize dss_pll_calc_b()
      drm/omap: add comments for PLL calculations
      drm/omap: support type B PLL for DPI
      drm/omap: DPI: rename "DSI" related names
      drm/omap: remove unneeded gpio includes
      drm/omap: remove unnecessary pitch round-up
      drm/omap: remove align_pitch()
      drm/omap: fix pitch round-up
      MAINTAINERS: Add maintainer for OMAP DRM driver
      MAINTAINERS: Add maintainer for TI LCDC DRM driver
      drm/omap: rename panel/encoder Kconfig names
      Merge branch '4.8/omapdrm-pll' (omapdrm PLL work)
      Merge omapdss header refactoring

Tvrtko Ursulin (33):
      drm/i915: Remove i915_gem_obj_size
      drm/i915: Simplify i915_gem_obj_to_ggtt_view
      drm/i915: Simplify i915_gem_obj_ggtt_offset_view
      drm/i915: Simplify i915_gem_obj_ggtt_bound_view
      drm/i915: Store LRC hardware id in the request
      drm/i915: Stop tracking execlists retired requests
      drm/i915: Simplify intel_mark_busy/idle
      drm/i915: Small display interrupt handlers tidy
      drm/i915: Make IS_GENx macros work on a mask
      drm/i915: Promote IS_BROADWELL to a simple macro
      drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx
      drm/i915: Do not use a bitfield for INTEL_INFO->num_pipes
      drm/i915: Introduce IS_GEN macro
      drm/i915/guc: Disable automatic GuC firmware loading
      drm/i915: Fix a buch of kerneldoc warnings
      drm/i915/guc: Remove one unnecessary variable
      drm/i915: Small compaction of the engine init code
      drm/i915/debug: Select PREEMPT_COUNT when enabling debugging
      drm/i915: Use atomic waits for short non-atomic ones
      drm/i915: Consolidate write_tail vfunc initializer
      drm/i915: Consolidate add_request vfunc
      drm/i915: Consolidate seqno_barrier vfunc
      drm/i915: Consolidate get and put irq vfuncs
      drm/i915: Consolidate get/set_seqno
      drm/i915: Consolidate init_hw vfunc
      drm/i915: Consolidate dispatch_execbuffer vfunc
      drm/i915: Consolidate semaphore vfuncs init
      drm/i915: Move semaphore object creation into intel_ring_init_semaphores
      drm/i915: Compact Gen8 semaphore initialization
      drm/i915: Compact gen8_ring_sync
      drm/i915: Consolidate legacy semaphore initialization
      drm/i915: Trim some if-else braces
      drm/i915: Explicitly convert some macros to boolean values

Uwe Kleine-König (3):
      devicetree/bindings: add reset-gpios and vcc-supply for panel-dpi
      drm/omap: panel-dpi: make (limited) use of a reset gpio
      drm/omap: panel-dpi: implement support for a vcc regulator

Valdis Kletnieks (1):
      Fix annoyingly awkward typo in drm_edid_load.c

Ville Syrjälä (76):
      drm/i915: Unify VLV/CHV DPOunit clock gating disable/enable
      drm/i915: Update RAWCLK_FREQ register on VLV/CHV
      drm/i915: Update CDCLK_FREQ register on BDW after changing cdclk frequency
      drm/i915: Use cached cdclk value in i915_audio_component_get_cdclk_freq()
      drm/i915: Fix comments about GMBUSFREQ register
      mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly
      drm: Add helper for DP++ adaptors
      drm/i915: Respect DP++ adaptor TMDS clock limit
      drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed
      drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
      drm/i915: Calculate IPS linetime watermark based on future cdclk
      drm/i915: Add a FIXME about crtc !active vs. watermarks
      drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms
      drm/i915: s/DPPL/DPLL/ for SKL DPLLs
      drm/i915: Drop checks for max_pixclk failures in cdclk computation
      drm/i915: Extract broadwell_calc_cdclk()
      drm/i915: Untangle .fdi_link_train and cdclk vfunc setup
      drm/i915: Don't pass dev_priv to broxton_calc_cdclk()
      drm/i915: Use ilk_max_pixel_rate() for BXT cdclk calculation
      drm/i915: Use skl_cdclk_decimal() on bxt
      drm/i915: Remove 10% cdclk guardband on BXT
      drm/i915: Extract skl_dpll0_disable()
      drm/i915: Kill off dead code from skl_dpll0_enable()
      drm/i915: s/freq/cdclk/
      drm/i915: s/required_vco/vco/ in skl cdclk code
      drm/i915: Program BXT_CDCLK_CD2X_PIPE
      drm/i915: Eliminate the CDCLK_CTL RMW on BXT
      drm/i915: Don't leave old junk in ilk active watermarks on readout
      drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)
      drm/i915: Enable GSE interrupt on BDW+
      drm/i915: Fix BXT min_pixclk after state readout
      drm/i915: Move the SKL DPLL0 VCO computation into intel_dp_compute_config()
      drm/i915: Extract skl_calc_cdclk()
      drm/i915: Actually read out DPLL0 vco on skl from hardware
      drm/i915: Report the current DPLL0 vco on SKL/KBL
      drm/i915: Allow enable/disable of DPLL0 around cdclk changes on SKL
      drm/i915: Keep track of preferred cdclk vco frequency on SKL
      drm/i915: Beef up skl_sanitize_cdclk() a bit
      drm/i915: Unify SKL cdclk init paths
      drm/i915: Move SKL+ DBUF enable/disable to display core init/uninit
      drm/i915: Make 308 and 671 MHz cdclks more accurate on SKL
      drm/i915: Rename skl_vco_freq to cdclk_pll.vco
      drm/i915: Store cdclk PLL reference clock under dev_priv
      drm/i915: Extract bxt DE PLL enable/disable from broxton_set_cdclk()
      drm/i915: Store BXT DE PLL vco and ref clocks in dev_priv
      drm/i915: Update cached cdclk state from broxton_init_cdclk()
      drm/i915: Rewrite broxton_get_display_clock_speed() in terms of the DE PLL vco/refclk
      drm/i915: Make bxt_set_cdclk() operate in terms of the current vs target DE PLL vco
      drm/i915: Replace bxt_verify_cdclk_state() with a more generic cdclk check
      drm/i915: Set BXT cdclk to minimum initially
      drm/i915: Assert the dbuf is enabled when disabling DC5/6
      drm/i915: Reject modeset if the dotclock is too high
      drm/i915: Use crtc->name in debug messages
      drm/i915: Use plane->name in debug prints
      drm/i915: Set crtc->name to "pipe A", "pipe B", etc.
      drm/i915: Don't leak primary/cursor planes on crtc init failure
      drm/i915: Give meaningful names to all the planes
      drm/i915: Give encoders useful names
      drm/i915: kill STANDARD/CURSOR plane screams
      drm/i915: Extract physical display dimensions from VBT
      drm/i915: Check VBT for port presence in addition to the strap on VLV/CHV
      drm: Deal with rotation in drm_plane_helper_check_update()
      drm/i915: Refresh cached DP port register value on resume
      drm/i915: Don't mark eDP encoders as MST capable
      drm/i915: Remove encoder type checks from MST suspend/resume
      drm/i915: Add output_types bitmask into the crtc state
      drm/i915: Unify intel_pipe_has_type() and intel_pipe_will_have_type()
      drm/i915: Replace manual lvds and sdvo/hdmi counting with intel_crtc_has_type()
      drm/i915: Kill has_dp_encoder from pipe_config
      drm/i915: Replace some open coded intel_crtc_has_dp_encoder()s
      drm/i915: s/INTEL_OUTPUT_DISPLAYPORT/INTEL_OUTPUT_DP/
      drm/i915: Kill has_dsi_encoder
      drm/i915: Simplify hdmi_12bpc_possible()
      drm/i915: Check for invalid cloning earlier during modeset
      drm/i915: Unbreak interrupts on pre-gen6
      drm: aux ->transfer() can return 0, deal with it

Vinay Simha BN (1):
      drm/dsi: Implement set tear scanline

Wei Yongjun (11):
      drm/i915: Fix missing unlock on error in i915_ppgtt_info()
      drm/hisilicon: Fix return value check in ade_dts_parse()
      drm/msm/dsi: Fix return value check in msm_dsi_host_set_display_mode()
      drm/msm/hdmi: use PTR_ERR_OR_ZERO() to simplify the code
      drm/vgem: Fix non static symbol warning
      drm/arc: Fix some sparse warnings
      drm/arc: Remove redundant dev_err call in arcpgu_load()
      drm/virtio: Fix non static symbol warning
      drm/rockchip: analogix_dp: add missing clk_disable_unprepare() on error
      drm/arm: mali-dp: Remove redundant dev_err call in malidp_bind()
      drm/arm: mali-dp: Fix error return code in malidp_bind()

Xinliang Liu (2):
      drm/hisilicon: Fix ADE vblank on/off handling
      drm/hisilicon: Fix ADE vblank on/off handling

Yakir Yang (20):
      drm/rockchip: analogix_dp: split the lcdc select setting into device data
      drm/bridge: analogix_dp: correct the register bit define error in ANALOGIX_DP_PLL_REG_1
      drm/bridge: analogix_dp: some rockchip chips need to flip REF_CLK bit setting
      drm/rockchip: analogix_dp: add rk3399 eDP support
      drm/rockchip: analogix_dp: make panel detect to an optional action
      drm/bridge: analogix_dp: passing the connector as an argument in .get_modes()
      drm/rockchip: analogix_dp: correct the connector display color format and bpc
      drm/rockchip: analogix_dp: update the comments about why need to hardcode VOP output mode
      drm/bridge: analogix_dp: fix no drm hpd event when panel plug in
      drm/rockchip: analogix_dp: introduce the pclk for grf
      dt-bindings: analogix_dp: rockchip: correct the wrong compatible name
      dt-bindings: Add LG LP097QX1-SPA1 panel binding
      drm/panel: simple: Add support for LG LP097QX1-SPA1 panel
      dt-bindings: Add Samsung LSN122DL01-C01 panel binding
      drm/panel: simple: Add support for Samsung LSN122DL01-C01 panel
      dt-bindings: Add Sharp LQ123P1JX31 panel binding
      drm/panel: simple: Add support for Sharp LQ123P1JX31 panel
      dt-bindings: Add support for LG LP079QX1-SP0V panel
      drm/panel: simple: Add support for LG LP079QX1-SP0V panel
      drm/rockchip: vop: add uv_vir register field for RK3036 VOP

Yetunde Adebisi (3):
      drm/dp: Add definition for Display Control DPCD Registers capability size
      drm/i915: Read eDP Display control capability registers
      drm/i915: Add Backlight Control using DPCD for eDP connectors (v9)

Zhi Wang (10):
      drm/i915: Factor out i915_pvinfo.h
      drm/i915: Use offsetof() to calculate the offset of members in PVINFO page
      drm/i915: Fold vGPU active check into inner functions
      drm/i915: gvt: Introduce the basic architecture of GVT-g
      drm/i915: Make ring buffer size of a LRC context configurable
      drm/i915: Make addressing mode bits in context descriptor configurable
      drm/i915: Introduce execlist context status change notification
      drm/i915: Support LRC context single submission
      drm/i915: Introduce GVT context creation API
      drm/i915: Set the access right of kernel param "i915.enable_gvt" to read-only.

Zoltan Kuscsik (1):
      drm/hisilicon: add select HISI_KIRIN_DW_DSI

arun.siluvery@linux.intel.com (5):
      drm/i915/gen9: Add WaVFEStateAfterPipeControlwithMediaStateClear
      drm/i915:bxt: Enable Pooled EU support
      drm/i915/bxt: Add WaEnablePooledEuFor2x6
      drm/i915/bxt: Add WaDisablePooledEuLoadBalancingFix
      drm/i915/bxt: Export pooled eu info to userspace

jimqu (2):
      drm/amdgpu: S3 resume fail on Polaris10
      drm/amdgpu: correct coding style

yanyang1 (1):
      drm/amdgpu: print smc fw info in CGS.

 Documentation/.gitignore                           |    1 +
 Documentation/DocBook/Makefile                     |    9 +-
 Documentation/DocBook/device-drivers.tmpl          |    4 +
 Documentation/DocBook/gpu.tmpl                     | 3540 --------------------
 Documentation/Makefile.sphinx                      |   63 +
 Documentation/conf.py                              |  414 +++
 .../devicetree/bindings/display/arm,malidp.txt     |   65 +
 .../bindings/display/bridge/adi,adv7511.txt        |   26 +-
 .../bindings/display/bridge/analogix_dp.txt        |    1 +
 .../devicetree/bindings/display/bridge/sii902x.txt |   35 +
 .../bindings/display/bridge/toshiba,tc358767.txt   |   53 +
 .../bindings/display/connector/hdmi-connector.txt  |    1 +
 .../devicetree/bindings/display/fsl,dcu.txt        |    9 +-
 .../bindings/display/mediatek/mediatek,hdmi.txt    |  148 +
 .../devicetree/bindings/display/msm/dsi.txt        |  117 +-
 .../devicetree/bindings/display/msm/mdp.txt        |   59 -
 .../devicetree/bindings/display/msm/mdp4.txt       |  112 +
 .../devicetree/bindings/display/msm/mdp5.txt       |  160 +
 .../bindings/display/panel/lg,lp079qx1-sp0v.txt    |    7 +
 .../bindings/display/panel/lg,lp097qx1-spa1.txt    |    7 +
 .../bindings/display/panel/panel-dpi.txt           |    2 +
 .../display/panel/samsung,lsn122dl01-c01.txt       |    7 +
 .../bindings/display/panel/sharp,lq101k1ly04.txt   |    7 +
 .../bindings/display/panel/sharp,lq123p1jx31.txt   |    7 +
 .../bindings/display/panel/starry,kr122ea0sra.txt  |    7 +
 .../display/rockchip/analogix_dp-rockchip.txt      |    9 +-
 .../display/tegra/nvidia,tegra20-host1x.txt        |   13 +-
 .../pinctrl/nvidia,tegra124-dpaux-padctl.txt       |   60 +
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 Documentation/dmaengine/provider.txt               |    2 +-
 Documentation/gpu/drm-internals.rst                |  381 +++
 Documentation/gpu/drm-kms-helpers.rst              |  260 ++
 Documentation/gpu/drm-kms.rst                      |  653 ++++
 Documentation/gpu/drm-mm.rst                       |  454 +++
 Documentation/gpu/drm-uapi.rst                     |  111 +
 Documentation/gpu/i915.rst                         |  347 ++
 Documentation/gpu/index.rst                        |   14 +
 Documentation/gpu/introduction.rst                 |   51 +
 Documentation/gpu/kms-properties.csv               |  128 +
 Documentation/gpu/vga-switcheroo.rst               |   98 +
 Documentation/index.rst                            |   24 +
 Documentation/kernel-parameters.txt                |    5 +-
 Documentation/mic/mpssd/mpssd.c                    |    4 +-
 Documentation/security/self-protection.txt         |   28 +-
 Documentation/sphinx/convert_template.sed          |   18 +
 Documentation/sphinx/kernel-doc.py                 |  127 +
 Documentation/sphinx/post_convert.sed              |   23 +
 Documentation/sphinx/tmplcvt                       |   19 +
 Documentation/sync_file.txt                        |    6 +-
 Documentation/zh_CN/CodingStyle                    |  581 ++--
 MAINTAINERS                                        |   42 +-
 Makefile                                           |    5 +-
 arch/arc/boot/dts/nsimosci.dts                     |   14 +-
 arch/arc/boot/dts/nsimosci_hs.dts                  |   14 +-
 arch/arc/boot/dts/nsimosci_hs_idu.dts              |   14 +-
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi               |   13 +-
 arch/arc/boot/dts/vdk_hs38_smp.dts                 |    2 +-
 arch/arc/configs/nsimosci_defconfig                |    3 +-
 arch/arc/configs/nsimosci_hs_defconfig             |    3 +-
 arch/arc/configs/nsimosci_hs_smp_defconfig         |    3 +-
 arch/arc/configs/vdk_hs38_smp_defconfig            |    7 +-
 arch/arm/mach-omap2/board-ldp.c                    |    3 +-
 arch/arm/mach-omap2/board-rx51-video.c             |    4 +-
 arch/arm/mach-omap2/display.c                      |    2 +-
 arch/arm/mach-omap2/display.h                      |    5 +
 arch/arm/mach-omap2/dss-common.c                   |    2 +-
 arch/x86/kernel/early-quirks.c                     |  404 ++-
 drivers/char/agp/intel-gtt.c                       |    8 +
 drivers/dma-buf/Kconfig                            |   15 +-
 drivers/dma-buf/Makefile                           |    2 +-
 drivers/dma-buf/dma-buf.c                          |   59 +-
 drivers/dma-buf/fence-array.c                      |  144 +
 drivers/dma-buf/fence.c                            |    8 +-
 drivers/dma-buf/sync_file.c                        |    2 +-
 drivers/gpu/drm/Makefile                           |    5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |  112 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c         |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c       |   25 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c   |   68 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c           |   14 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c        |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c            |   57 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c     |    7 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |   41 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |  287 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c        |   18 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |   31 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c          |   17 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c            |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c            |   44 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h            |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c             |   22 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c            |   12 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h            |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c            |   80 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |  264 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c             |  172 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c      |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c           |  230 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c             |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c           |   90 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h          |  115 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c            |   15 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c            |   98 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h            |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c            |  170 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h            |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |  334 +-
 drivers/gpu/drm/amd/amdgpu/atombios_encoders.c     |    1 +
 drivers/gpu/drm/amd/amdgpu/ci_dpm.c                |  216 +-
 drivers/gpu/drm/amd/amdgpu/ci_dpm.h                |    1 +
 drivers/gpu/drm/amd/amdgpu/cik.c                   |   25 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c              |   50 +-
 drivers/gpu/drm/amd/amdgpu/cz_dpm.c                |    3 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   16 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |   21 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |   83 +-
 drivers/gpu/drm/amd/amdgpu/fiji_smc.c              |    2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |  137 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |  468 ++-
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.h              |    1 -
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c              |   41 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c              |   46 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/iceland_dpm.c           |    2 +-
 drivers/gpu/drm/amd/amdgpu/iceland_smc.c           |    4 +-
 .../amdgpu/{iceland_smumgr.h => iceland_smum.h}    |    4 +-
 drivers/gpu/drm/amd/amdgpu/kv_dpm.c                |    8 +-
 drivers/gpu/drm/amd/amdgpu/ppsmc.h                 |    4 +
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c             |   77 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c             |   48 +-
 drivers/gpu/drm/amd/amdgpu/tonga_smc.c             |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c              |   77 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c              |   76 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c              |  182 +-
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c              |    2 +
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |  160 +-
 drivers/gpu/drm/amd/amdgpu/vi.c                    |   57 +-
 .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h  |    4 +-
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h              |    3 -
 drivers/gpu/drm/amd/amdkfd/kfd_process.c           |    4 +-
 drivers/gpu/drm/amd/include/amd_pcie.h             |   14 +
 drivers/gpu/drm/amd/include/amd_shared.h           |   11 +-
 .../gpu/drm/amd/include/asic_reg/bif/bif_5_0_d.h   |    1 +
 .../gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h   |    3 +
 .../drm/amd/include/asic_reg/gca/gfx_8_0_sh_mask.h |  108 +-
 .../gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_d.h   |    2 +
 drivers/gpu/drm/amd/include/cgs_common.h           |   19 +-
 drivers/gpu/drm/amd/powerplay/amd_powerplay.c      |  153 +-
 .../drm/amd/powerplay/eventmgr/eventactionchains.c |    2 -
 .../gpu/drm/amd/powerplay/eventmgr/eventtasks.c    |    3 +-
 .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c  |   17 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c     |   23 +-
 .../amd/powerplay/hwmgr/fiji_clockpowergating.c    |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c   |  404 ++-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.h   |    3 -
 .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.c   |   74 +-
 .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.h   |   15 +
 .../gpu/drm/amd/powerplay/hwmgr/functiontables.c   |    9 +-
 .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c  |   26 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c        |   10 +-
 .../powerplay/hwmgr/polaris10_clockpowergating.c   |   20 +-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c  |  464 ++-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h  |    6 +-
 .../drm/amd/powerplay/hwmgr/polaris10_powertune.c  |  590 ++++
 .../drm/amd/powerplay/hwmgr/polaris10_powertune.h  |   26 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/pp_acpi.c      |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c   |  303 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h   |    1 +
 drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h    |  165 +-
 .../gpu/drm/amd/powerplay/hwmgr/processpptables.c  |   33 +-
 .../gpu/drm/amd/powerplay/hwmgr/processpptables.h  |   17 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c  |  272 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h  |    3 -
 .../amd/powerplay/hwmgr/tonga_processpptables.c    |   27 +-
 drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h  |    7 +
 .../gpu/drm/amd/powerplay/inc/hardwaremanager.h    |    1 +
 drivers/gpu/drm/amd/powerplay/inc/hwmgr.h          |   10 +-
 drivers/gpu/drm/amd/powerplay/inc/smumgr.h         |   29 +
 drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c      |    5 +-
 .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c    |    3 +-
 drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h    |    4 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c      |  190 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.h      |   60 +-
 drivers/gpu/drm/amd/scheduler/sched_fence.c        |   81 +-
 drivers/gpu/drm/arc/Kconfig                        |    1 -
 drivers/gpu/drm/arc/Makefile                       |    2 +-
 drivers/gpu/drm/arc/arcpgu.h                       |    2 +-
 drivers/gpu/drm/arc/arcpgu_crtc.c                  |   16 +-
 drivers/gpu/drm/arc/arcpgu_drv.c                   |   64 +-
 drivers/gpu/drm/arc/arcpgu_hdmi.c                  |   18 -
 drivers/gpu/drm/arc/arcpgu_sim.c                   |  128 +
 drivers/gpu/drm/arm/Kconfig                        |   17 +-
 drivers/gpu/drm/arm/Makefile                       |    2 +
 drivers/gpu/drm/arm/hdlcd_crtc.c                   |   19 -
 drivers/gpu/drm/arm/hdlcd_drv.c                    |   13 +-
 drivers/gpu/drm/arm/malidp_crtc.c                  |  216 ++
 drivers/gpu/drm/arm/malidp_drv.c                   |  519 +++
 drivers/gpu/drm/arm/malidp_drv.h                   |   54 +
 drivers/gpu/drm/arm/malidp_hw.c                    |  691 ++++
 drivers/gpu/drm/arm/malidp_hw.h                    |  241 ++
 drivers/gpu/drm/arm/malidp_planes.c                |  298 ++
 drivers/gpu/drm/arm/malidp_regs.h                  |  172 +
 drivers/gpu/drm/armada/Kconfig                     |    4 -
 drivers/gpu/drm/armada/armada_crtc.c               |   16 +-
 drivers/gpu/drm/armada/armada_drv.c                |    3 +-
 drivers/gpu/drm/armada/armada_overlay.c            |    1 +
 drivers/gpu/drm/ast/Kconfig                        |    4 -
 drivers/gpu/drm/ast/ast_drv.c                      |    2 +-
 drivers/gpu/drm/ast/ast_fb.c                       |    3 -
 drivers/gpu/drm/ast/ast_main.c                     |    3 +-
 drivers/gpu/drm/ast/ast_mode.c                     |   10 +-
 drivers/gpu/drm/ast/ast_ttm.c                      |   13 +-
 drivers/gpu/drm/atmel-hlcdc/Kconfig                |    1 -
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c     |    6 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c       |   19 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c   |   12 -
 drivers/gpu/drm/bochs/Kconfig                      |    4 -
 drivers/gpu/drm/bochs/bochs_drv.c                  |    2 +-
 drivers/gpu/drm/bochs/bochs_mm.c                   |   15 +-
 drivers/gpu/drm/bridge/Kconfig                     |   19 +
 drivers/gpu/drm/bridge/Makefile                    |    3 +
 drivers/gpu/drm/bridge/adv7511/Kconfig             |   15 +
 drivers/gpu/drm/bridge/adv7511/Makefile            |    3 +
 drivers/gpu/drm/{i2c => bridge/adv7511}/adv7511.h  |  103 +
 .../adv7511.c => bridge/adv7511/adv7511_drv.c}     |  324 +-
 drivers/gpu/drm/bridge/adv7511/adv7533.c           |  265 ++
 drivers/gpu/drm/bridge/analogix-anx78xx.c          |    8 -
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c |    3 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.h |    8 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c  |   12 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h  |    5 +-
 drivers/gpu/drm/bridge/dw-hdmi.c                   |   30 +-
 drivers/gpu/drm/bridge/nxp-ptn3460.c               |    8 -
 drivers/gpu/drm/bridge/parade-ps8622.c             |   14 +-
 drivers/gpu/drm/bridge/sii902x.c                   |  467 +++
 drivers/gpu/drm/bridge/tc358767.c                  | 1413 ++++++++
 drivers/gpu/drm/cirrus/Kconfig                     |    4 -
 drivers/gpu/drm/cirrus/cirrus_drv.c                |    2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c               |    4 +-
 drivers/gpu/drm/cirrus/cirrus_mode.c               |   11 +-
 drivers/gpu/drm/cirrus/cirrus_ttm.c                |   13 +-
 drivers/gpu/drm/drm_atomic.c                       |  105 +-
 drivers/gpu/drm/drm_atomic_helper.c                |  566 +++-
 drivers/gpu/drm/drm_auth.c                         |  285 +-
 drivers/gpu/drm/drm_bridge.c                       |    2 +-
 drivers/gpu/drm/drm_bufs.c                         |    8 +-
 drivers/gpu/drm/drm_cache.c                        |    1 +
 drivers/gpu/drm/drm_crtc.c                         |  717 ++--
 drivers/gpu/drm/drm_crtc_helper.c                  |   36 +-
 drivers/gpu/drm/drm_crtc_internal.h                |   88 +-
 drivers/gpu/drm/drm_debugfs.c                      |    3 -
 drivers/gpu/drm/drm_dp_aux_dev.c                   |    3 +-
 drivers/gpu/drm/drm_dp_helper.c                    |   58 +-
 drivers/gpu/drm/drm_dp_mst_topology.c              |   14 +-
 drivers/gpu/drm/drm_drv.c                          |  245 +-
 drivers/gpu/drm/drm_edid_load.c                    |    2 +-
 drivers/gpu/drm/drm_fb_cma_helper.c                |   43 +-
 drivers/gpu/drm/drm_fb_helper.c                    |   56 +-
 drivers/gpu/drm/drm_fops.c                         |  149 +-
 drivers/gpu/drm/drm_fourcc.c                       |  320 ++
 drivers/gpu/drm/drm_gem.c                          |    2 +-
 drivers/gpu/drm/drm_info.c                         |  117 +-
 drivers/gpu/drm/drm_internal.h                     |   21 +-
 drivers/gpu/drm/drm_ioctl.c                        |  176 +-
 drivers/gpu/drm/drm_irq.c                          |  243 +-
 drivers/gpu/drm/drm_legacy.h                       |    8 +-
 drivers/gpu/drm/drm_lock.c                         |  240 +-
 drivers/gpu/drm/drm_memory.c                       |    2 +-
 drivers/gpu/drm/drm_mipi_dsi.c                     |   38 +
 drivers/gpu/drm/drm_mm.c                           |    4 +-
 drivers/gpu/drm/drm_modes.c                        |    4 +-
 drivers/gpu/drm/drm_modeset_lock.c                 |   13 +-
 drivers/gpu/drm/drm_pci.c                          |   51 -
 drivers/gpu/drm/drm_plane_helper.c                 |   38 +-
 drivers/gpu/drm/drm_platform.c                     |   18 -
 drivers/gpu/drm/drm_prime.c                        |   10 +-
 drivers/gpu/drm/drm_probe_helper.c                 |   21 +-
 drivers/gpu/drm/drm_scatter.c                      |    2 +-
 drivers/gpu/drm/drm_simple_kms_helper.c            |  206 ++
 drivers/gpu/drm/drm_sysfs.c                        |   71 -
 drivers/gpu/drm/drm_vm.c                           |   58 +-
 drivers/gpu/drm/drm_vma_manager.c                  |    3 +
 drivers/gpu/drm/etnaviv/etnaviv_drv.c              |    5 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c              |   16 +-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c              |   54 +-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h              |    2 +-
 drivers/gpu/drm/etnaviv/state_hi.xml.h             |    7 +
 drivers/gpu/drm/exynos/Kconfig                     |    6 +-
 drivers/gpu/drm/exynos/exynos_dp.c                 |    4 +-
 drivers/gpu/drm/exynos/exynos_drm_dpi.c            |    9 -
 drivers/gpu/drm/exynos/exynos_drm_drv.c            |   18 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h            |    2 -
 drivers/gpu/drm/exynos/exynos_drm_dsi.c            |    9 -
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c          |    3 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.c          |   77 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.h          |   91 +
 drivers/gpu/drm/exynos/exynos_drm_vidi.c           |    8 -
 drivers/gpu/drm/exynos/exynos_hdmi.c               |   10 +-
 drivers/gpu/drm/fsl-dcu/Kconfig                    |    5 -
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c         |   44 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c          |   49 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h          |    2 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_kms.c          |   15 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_output.h       |    3 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c        |   16 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.h        |    1 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c          |   87 +-
 drivers/gpu/drm/fsl-dcu/fsl_tcon.c                 |    1 +
 drivers/gpu/drm/gma500/Kconfig                     |    4 -
 drivers/gpu/drm/gma500/cdv_intel_hdmi.c            |    3 +-
 drivers/gpu/drm/gma500/cdv_intel_lvds.c            |    9 +-
 drivers/gpu/drm/gma500/framebuffer.c               |    9 -
 drivers/gpu/drm/gma500/gma_display.c               |   11 +-
 drivers/gpu/drm/gma500/gma_display.h               |    4 +-
 drivers/gpu/drm/gma500/psb_drv.c                   |    6 +-
 drivers/gpu/drm/gma500/psb_intel_display.c         |    7 -
 drivers/gpu/drm/gma500/psb_intel_lvds.c            |    9 +-
 drivers/gpu/drm/hisilicon/kirin/Kconfig            |    1 +
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c    |   34 +-
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c    |   11 +-
 drivers/gpu/drm/i2c/Kconfig                        |    6 -
 drivers/gpu/drm/i2c/Makefile                       |    2 -
 drivers/gpu/drm/i2c/ch7006_drv.c                   |    9 +-
 drivers/gpu/drm/i915/Kconfig                       |   22 +
 drivers/gpu/drm/i915/Kconfig.debug                 |    3 +
 drivers/gpu/drm/i915/Makefile                      |   12 +-
 drivers/gpu/drm/i915/gvt/Makefile                  |    5 +
 drivers/gpu/drm/i915/gvt/debug.h                   |   34 +
 drivers/gpu/drm/i915/gvt/gvt.c                     |  145 +
 drivers/gpu/drm/i915/gvt/gvt.h                     |   69 +
 drivers/gpu/drm/i915/gvt/hypercall.h               |   38 +
 drivers/gpu/drm/i915/gvt/mpt.h                     |   49 +
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   53 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  569 ++--
 drivers/gpu/drm/i915/i915_dma.c                    | 1587 ---------
 drivers/gpu/drm/i915/i915_drv.c                    | 2120 ++++++++----
 drivers/gpu/drm/i915/i915_drv.h                    |  786 +++--
 drivers/gpu/drm/i915/i915_gem.c                    | 1262 ++++---
 drivers/gpu/drm/i915/i915_gem_batch_pool.c         |    6 +-
 drivers/gpu/drm/i915/i915_gem_context.c            |  515 +--
 drivers/gpu/drm/i915/i915_gem_dmabuf.h             |   45 +
 drivers/gpu/drm/i915/i915_gem_evict.c              |   55 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |   44 +-
 drivers/gpu/drm/i915/i915_gem_fence.c              |   38 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c                |  390 ++-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |   84 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c       |   45 +-
 drivers/gpu/drm/i915/i915_gem_shrinker.c           |   58 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |   10 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c             |    8 +-
 drivers/gpu/drm/i915/i915_gem_userptr.c            |   12 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  203 +-
 drivers/gpu/drm/i915/i915_guc_reg.h                |    6 +-
 drivers/gpu/drm/i915/i915_guc_submission.c         |  538 +--
 drivers/gpu/drm/i915/i915_irq.c                    |  807 ++---
 drivers/gpu/drm/i915/i915_params.c                 |   23 +-
 drivers/gpu/drm/i915/i915_params.h                 |    5 +-
 drivers/gpu/drm/i915/i915_pci.c                    |  503 +++
 drivers/gpu/drm/i915/i915_pvinfo.h                 |  113 +
 drivers/gpu/drm/i915/i915_reg.h                    |   65 +-
 drivers/gpu/drm/i915/i915_suspend.c                |    8 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |   40 +-
 drivers/gpu/drm/i915/i915_trace.h                  |   54 +-
 drivers/gpu/drm/i915/i915_vgpu.c                   |   44 +-
 drivers/gpu/drm/i915/i915_vgpu.h                   |   92 +-
 drivers/gpu/drm/i915/intel_atomic.c                |    5 +-
 drivers/gpu/drm/i915/intel_audio.c                 |   50 +-
 drivers/gpu/drm/i915/intel_bios.c                  |   23 +-
 drivers/gpu/drm/i915/intel_bios.h                  |   16 +-
 drivers/gpu/drm/i915/intel_breadcrumbs.c           |  595 ++++
 drivers/gpu/drm/i915/intel_color.c                 |   23 +-
 drivers/gpu/drm/i915/intel_crt.c                   |   78 +-
 drivers/gpu/drm/i915/intel_csr.c                   |   25 +-
 drivers/gpu/drm/i915/intel_ddi.c                   |  274 +-
 drivers/gpu/drm/i915/intel_device_info.c           |  388 +++
 drivers/gpu/drm/i915/intel_display.c               | 2673 ++++++++-------
 drivers/gpu/drm/i915/intel_dp.c                    | 1087 +++---
 drivers/gpu/drm/i915/intel_dp_aux_backlight.c      |  172 +
 drivers/gpu/drm/i915/intel_dp_mst.c                |   25 +-
 drivers/gpu/drm/i915/intel_dpio_phy.c              |  470 +++
 drivers/gpu/drm/i915/intel_dpll_mgr.c              |   63 +-
 drivers/gpu/drm/i915/intel_drv.h                   |  353 +-
 drivers/gpu/drm/i915/intel_dsi.c                   |  135 +-
 drivers/gpu/drm/i915/intel_dsi.h                   |    4 +
 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c     |  179 +
 drivers/gpu/drm/i915/intel_dsi_panel_vbt.c         |   90 +-
 drivers/gpu/drm/i915/intel_dsi_pll.c               |   42 +-
 drivers/gpu/drm/i915/intel_dvo.c                   |   41 +-
 drivers/gpu/drm/i915/intel_fbc.c                   |  116 +-
 drivers/gpu/drm/i915/intel_fbdev.c                 |  122 +-
 drivers/gpu/drm/i915/intel_fifo_underrun.c         |   30 +-
 drivers/gpu/drm/i915/intel_guc.h                   |   50 +-
 drivers/gpu/drm/i915/intel_guc_fwif.h              |    3 +-
 drivers/gpu/drm/i915/intel_guc_loader.c            |  222 +-
 drivers/gpu/drm/i915/intel_gvt.c                   |  104 +
 drivers/gpu/drm/i915/intel_gvt.h                   |   45 +
 drivers/gpu/drm/i915/intel_hdmi.c                  |  429 +--
 drivers/gpu/drm/i915/intel_hotplug.c               |  134 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |   22 +-
 drivers/gpu/drm/i915/intel_lrc.c                   |  964 +++---
 drivers/gpu/drm/i915/intel_lrc.h                   |   24 +-
 drivers/gpu/drm/i915/intel_lvds.c                  |   58 +-
 drivers/gpu/drm/i915/intel_mocs.c                  |  100 +-
 drivers/gpu/drm/i915/intel_modes.c                 |    4 +-
 drivers/gpu/drm/i915/intel_opregion.c              |  210 +-
 drivers/gpu/drm/i915/intel_overlay.c               |  151 +-
 drivers/gpu/drm/i915/intel_panel.c                 |   48 +-
 drivers/gpu/drm/i915/intel_pm.c                    | 1466 ++++----
 drivers/gpu/drm/i915/intel_psr.c                   |  118 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c            | 1323 ++++----
 drivers/gpu/drm/i915/intel_ringbuffer.h            |  176 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c            |  282 +-
 drivers/gpu/drm/i915/intel_sdvo.c                  |   87 +-
 drivers/gpu/drm/i915/intel_sideband.c              |   32 +-
 drivers/gpu/drm/i915/intel_sprite.c                |   75 +-
 drivers/gpu/drm/i915/intel_tv.c                    |   19 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  328 +-
 drivers/gpu/drm/i915/intel_vbt_defs.h              |    6 +
 drivers/gpu/drm/imx/Kconfig                        |    1 -
 drivers/gpu/drm/imx/dw_hdmi-imx.c                  |   32 +-
 drivers/gpu/drm/imx/imx-drm-core.c                 |  121 +-
 drivers/gpu/drm/imx/imx-drm.h                      |   21 +-
 drivers/gpu/drm/imx/imx-ldb.c                      |  189 +-
 drivers/gpu/drm/imx/imx-tve.c                      |   97 +-
 drivers/gpu/drm/imx/ipuv3-crtc.c                   |  400 +--
 drivers/gpu/drm/imx/ipuv3-plane.c                  |  548 ++-
 drivers/gpu/drm/imx/ipuv3-plane.h                  |   16 -
 drivers/gpu/drm/imx/parallel-display.c             |  149 +-
 drivers/gpu/drm/mediatek/Kconfig                   |    9 +-
 drivers/gpu/drm/mediatek/Makefile                  |    7 +
 drivers/gpu/drm/mediatek/mtk_cec.c                 |  265 ++
 drivers/gpu/drm/mediatek/mtk_cec.h                 |   26 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             |   13 +-
 drivers/gpu/drm/mediatek/mtk_drm_plane.c           |    1 +
 drivers/gpu/drm/mediatek/mtk_dsi.c                 |    9 -
 drivers/gpu/drm/mediatek/mtk_hdmi.c                | 1828 ++++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi.h                |   23 +
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c            |  358 ++
 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h           |  238 ++
 drivers/gpu/drm/mediatek/mtk_mipi_tx.c             |    2 +-
 drivers/gpu/drm/mediatek/mtk_mt8173_hdmi_phy.c     |  515 +++
 drivers/gpu/drm/mgag200/Kconfig                    |    4 -
 drivers/gpu/drm/mgag200/mgag200_drv.c              |    2 +-
 drivers/gpu/drm/mgag200/mgag200_main.c             |    4 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c             |    9 +-
 drivers/gpu/drm/mgag200/mgag200_ttm.c              |   13 +-
 drivers/gpu/drm/msm/Kconfig                        |    1 +
 drivers/gpu/drm/msm/Makefile                       |    2 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c            |   17 +-
 drivers/gpu/drm/msm/dsi/dsi.c                      |    2 +-
 drivers/gpu/drm/msm/dsi/dsi_cfg.c                  |    8 +
 drivers/gpu/drm/msm/dsi/dsi_cfg.h                  |    2 +
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |   69 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c              |   32 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.h              |    2 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c         |    4 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c         |    4 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c    |    2 +
 drivers/gpu/drm/msm/edp/edp_connector.c            |   10 -
 drivers/gpu/drm/msm/hdmi/hdmi.c                    |  117 +-
 drivers/gpu/drm/msm/hdmi/hdmi.h                    |   14 +
 drivers/gpu/drm/msm/hdmi/hdmi_connector.c          |    8 -
 drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c               |    2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c    |   31 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c            |   44 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h            |    2 +
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c |    9 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h            |  203 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c            |  113 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c    |   14 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c           |   16 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c            |   26 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c        |   10 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c            |  125 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c            |  339 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h            |   16 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c           |  235 ++
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c            |   22 +-
 drivers/gpu/drm/msm/msm_atomic.c                   |   39 +-
 drivers/gpu/drm/msm/msm_drv.c                      |  270 +-
 drivers/gpu/drm/msm/msm_drv.h                      |   24 +-
 drivers/gpu/drm/msm/msm_fb.c                       |   12 +-
 drivers/gpu/drm/msm/msm_fbdev.c                    |   17 +-
 drivers/gpu/drm/msm/msm_gem.c                      |  139 +-
 drivers/gpu/drm/msm/msm_gem.h                      |   23 +-
 drivers/gpu/drm/msm/msm_gem_prime.c                |    4 +-
 drivers/gpu/drm/msm/msm_gem_shrinker.c             |  168 +
 drivers/gpu/drm/msm/msm_gem_submit.c               |   26 +-
 drivers/gpu/drm/msm/msm_iommu.c                    |    6 +-
 drivers/gpu/drm/msm/msm_kms.h                      |    8 +-
 drivers/gpu/drm/msm/msm_perf.c                     |    7 +-
 drivers/gpu/drm/msm/msm_rd.c                       |   71 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c               |    6 +-
 drivers/gpu/drm/nouveau/Kconfig                    |    6 -
 drivers/gpu/drm/nouveau/dispnv04/crtc.c            |   12 +-
 drivers/gpu/drm/nouveau/dispnv04/disp.c            |   10 -
 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c          |    9 +-
 drivers/gpu/drm/nouveau/include/nvif/cl0080.h      |    1 +
 drivers/gpu/drm/nouveau/include/nvif/class.h       |   10 +
 drivers/gpu/drm/nouveau/include/nvkm/core/device.h |   18 +-
 drivers/gpu/drm/nouveau/include/nvkm/core/tegra.h  |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h   |    2 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h |    2 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h   |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h |   10 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h   |    4 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h  |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h   |   14 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/pci.h  |    1 +
 .../gpu/drm/nouveau/include/nvkm/subdev/secboot.h  |    3 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h  |    9 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h |    3 +
 drivers/gpu/drm/nouveau/nouveau_abi16.c            |    1 +
 drivers/gpu/drm/nouveau/nouveau_acpi.c             |  105 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |   75 +-
 drivers/gpu/drm/nouveau/nouveau_chan.c             |    3 +-
 drivers/gpu/drm/nouveau/nouveau_display.c          |   27 +-
 drivers/gpu/drm/nouveau/nouveau_display.h          |    3 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |   36 +-
 drivers/gpu/drm/nouveau/nouveau_fence.h            |    3 +-
 drivers/gpu/drm/nouveau/nouveau_hwmon.c            |   36 +
 drivers/gpu/drm/nouveau/nouveau_ttm.c              |    1 +
 drivers/gpu/drm/nouveau/nouveau_usif.c             |    1 -
 drivers/gpu/drm/nouveau/nv04_fbcon.c               |    4 +-
 drivers/gpu/drm/nouveau/nv50_display.c             |   11 +-
 drivers/gpu/drm/nouveau/nv50_fbcon.c               |    2 +-
 drivers/gpu/drm/nouveau/nvc0_fbcon.c               |    2 +-
 drivers/gpu/drm/nouveau/nvkm/core/subdev.c         |    6 +-
 drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild      |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.c     |  102 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp104.c     |   44 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h      |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c  |   72 +
 drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c   |    1 -
 drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c |   12 +-
 drivers/gpu/drm/nouveau/nvkm/engine/device/user.c  |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild    |    9 +
 .../gpu/drm/nouveau/nvkm/engine/disp/basegp104.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/channv50.h    |    1 +
 .../gpu/drm/nouveau/nvkm/engine/disp/coregf119.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/coregp100.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/coregp104.c   |   78 +
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacgf119.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacgp104.c   |   66 +
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h    |   10 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c   |    9 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c   |   55 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp104.c   |   81 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c    |  136 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h    |    2 +
 .../gpu/drm/nouveau/nvkm/engine/disp/ovlygk104.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/ovlygp104.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c   |   58 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c   |   58 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h    |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild    |    2 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/changk104.h   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c   |    9 +-
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c   |   67 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c |   34 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild      |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h  |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c  |  179 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c     |   18 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h     |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c     |    1 -
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c     |    2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c     |  171 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/nv30.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/nv34.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c    |   59 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c      |    8 +
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.c   |    7 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c     |   20 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.c     |   20 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.c  |    6 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.c    |   28 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.c    |    8 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.c    |  394 +--
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h    |   96 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.c    |  896 ++++-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild      |    3 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c      |    6 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.c     |   19 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.h     |    2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c     |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c     |   19 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c     |   69 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp104.c     |   43 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h      |    5 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h       |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c  |  146 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c    |    3 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c    |   12 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.c    |   75 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h     |    3 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild      |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c      |  118 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/g84.c       |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/g98.c       |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gf100.c     |   11 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk104.c     |    2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c     |  103 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gt215.c     |    9 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv11.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv17.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h      |   12 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/Kbuild     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c     |   14 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.c    |   44 +
 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/base.c |   28 +-
 .../gpu/drm/nouveau/nvkm/subdev/secboot/gm200.c    |   88 +-
 .../gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c    |   54 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h |   18 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c     |   28 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c    |   39 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c    |   14 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c   |   27 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.h   |   11 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gm20b.c   |   40 +-
 drivers/gpu/drm/omapdrm/Kconfig                    |    5 -
 drivers/gpu/drm/omapdrm/displays/Kconfig           |   28 +-
 drivers/gpu/drm/omapdrm/displays/Makefile          |   28 +-
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c |   11 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   |    5 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  |    4 +-
 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c  |    3 +-
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c  |    3 +-
 .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c   |    3 +-
 drivers/gpu/drm/omapdrm/displays/panel-dpi.c       |   26 +-
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c    |    7 +-
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    |   22 +-
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    |    2 +-
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |    4 +-
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    |    3 +-
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    |    3 +-
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    |    2 +-
 drivers/gpu/drm/omapdrm/dss/core.c                 |    5 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                |  471 ++-
 drivers/gpu/drm/omapdrm/dss/dispc.h                |    5 +
 drivers/gpu/drm/omapdrm/dss/dispc_coefs.c          |    2 +-
 drivers/gpu/drm/omapdrm/dss/display.c              |    2 +-
 drivers/gpu/drm/omapdrm/dss/dpi.c                  |  136 +-
 drivers/gpu/drm/omapdrm/dss/dsi.c                  |   57 +-
 drivers/gpu/drm/omapdrm/dss/dss-of.c               |   10 +-
 drivers/gpu/drm/omapdrm/dss/dss.c                  |  255 +-
 drivers/gpu/drm/omapdrm/dss/dss.h                  |   45 +-
 drivers/gpu/drm/omapdrm/dss/dss_features.c         |   46 +-
 drivers/gpu/drm/omapdrm/dss/dss_features.h         |    1 -
 drivers/gpu/drm/omapdrm/dss/hdmi.h                 |    6 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                |   11 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                |   11 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_common.c          |    2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_phy.c             |    2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_pll.c             |   78 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              |    2 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h              |  871 ++++-
 drivers/gpu/drm/omapdrm/dss/output.c               |    3 +-
 drivers/gpu/drm/omapdrm/dss/pll.c                  |  129 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                 |    2 +-
 drivers/gpu/drm/omapdrm/dss/sdi.c                  |    2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                 |    3 +-
 drivers/gpu/drm/omapdrm/dss/video-pll.c            |    9 +-
 drivers/gpu/drm/omapdrm/omap_connector.c           |   10 -
 drivers/gpu/drm/omapdrm/omap_crtc.c                |   56 +
 drivers/gpu/drm/omapdrm/omap_drv.c                 |   16 +-
 drivers/gpu/drm/omapdrm/omap_drv.h                 |   14 -
 drivers/gpu/drm/omapdrm/omap_fb.c                  |   20 +-
 drivers/gpu/drm/omapdrm/omap_fbdev.c               |    8 +-
 drivers/gpu/drm/omapdrm/omap_gem.c                 |   15 +-
 drivers/gpu/drm/panel/panel-simple.c               |  166 +-
 drivers/gpu/drm/qxl/Kconfig                        |    5 -
 drivers/gpu/drm/qxl/qxl_cmd.c                      |    2 +-
 drivers/gpu/drm/qxl/qxl_display.c                  |   11 +-
 drivers/gpu/drm/qxl/qxl_draw.c                     |    5 +-
 drivers/gpu/drm/qxl/qxl_drv.c                      |    2 +-
 drivers/gpu/drm/qxl/qxl_drv.h                      |    1 -
 drivers/gpu/drm/qxl/qxl_fb.c                       |    4 -
 drivers/gpu/drm/qxl/qxl_kms.c                      |   10 +-
 drivers/gpu/drm/qxl/qxl_release.c                  |    2 +-
 drivers/gpu/drm/qxl/qxl_ttm.c                      |   10 +-
 drivers/gpu/drm/radeon/atombios_crtc.c             |    4 +-
 drivers/gpu/drm/radeon/atombios_encoders.c         |    1 +
 drivers/gpu/drm/radeon/ci_dpm.c                    |    5 +-
 drivers/gpu/drm/radeon/cik.c                       |   17 +-
 drivers/gpu/drm/radeon/evergreen_cs.c              |    7 +
 drivers/gpu/drm/radeon/evergreend.h                |    1 +
 drivers/gpu/drm/radeon/radeon.h                    |    2 +-
 drivers/gpu/drm/radeon/radeon_acpi.c               |    7 -
 drivers/gpu/drm/radeon/radeon_atombios.c           |    4 +-
 drivers/gpu/drm/radeon/radeon_atpx_handler.c       |   67 +-
 drivers/gpu/drm/radeon/radeon_connectors.c         |   15 +-
 drivers/gpu/drm/radeon/radeon_device.c             |    4 +
 drivers/gpu/drm/radeon/radeon_display.c            |   24 +-
 drivers/gpu/drm/radeon/radeon_drv.c                |   26 +-
 drivers/gpu/drm/radeon/radeon_kms.c                |    5 +-
 drivers/gpu/drm/radeon/radeon_legacy_crtc.c        |    4 +-
 drivers/gpu/drm/radeon/radeon_pm.c                 |   13 +-
 drivers/gpu/drm/radeon/radeon_ttm.c                |   10 +-
 drivers/gpu/drm/radeon/si.c                        |   45 +-
 drivers/gpu/drm/rcar-du/Kconfig                    |    1 -
 drivers/gpu/drm/rcar-du/Makefile                   |    4 +-
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c             |    2 +-
 drivers/gpu/drm/rcar-du/rcar_du_drv.c              |   17 +-
 drivers/gpu/drm/rcar-du/rcar_du_encoder.c          |   15 +-
 drivers/gpu/drm/rcar-du/rcar_du_encoder.h          |   10 +-
 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c          |  117 -
 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.h          |   31 -
 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c          |   68 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c              |   10 +-
 drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c          |    1 -
 drivers/gpu/drm/rcar-du/rcar_du_plane.c            |   20 +-
 drivers/gpu/drm/rcar-du/rcar_du_regs.h             |    5 +-
 drivers/gpu/drm/rcar-du/rcar_du_vgacon.c           |    3 -
 drivers/gpu/drm/rockchip/Kconfig                   |    5 +-
 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c    |  189 +-
 drivers/gpu/drm/rockchip/dw-mipi-dsi.c             |    9 -
 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c        |    1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c               |    9 -
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c        |  210 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h        |   12 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c         |   81 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c      |    5 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c        |    2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c        |   90 +-
 drivers/gpu/drm/rockchip/rockchip_vop_reg.c        |    7 +-
 drivers/gpu/drm/shmobile/Kconfig                   |    1 -
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c          |    4 +-
 drivers/gpu/drm/shmobile/shmob_drm_drv.c           |    3 +-
 drivers/gpu/drm/sis/sis_mm.c                       |    2 +-
 drivers/gpu/drm/sti/Kconfig                        |    1 +
 drivers/gpu/drm/sti/sti_awg_utils.c                |    4 +-
 drivers/gpu/drm/sti/sti_compositor.c               |   26 +-
 drivers/gpu/drm/sti/sti_compositor.h               |    3 +
 drivers/gpu/drm/sti/sti_crtc.c                     |   71 +-
 drivers/gpu/drm/sti/sti_cursor.c                   |   39 +-
 drivers/gpu/drm/sti/sti_drv.c                      |  148 +-
 drivers/gpu/drm/sti/sti_drv.h                      |    1 +
 drivers/gpu/drm/sti/sti_dvo.c                      |   43 +-
 drivers/gpu/drm/sti/sti_gdp.c                      |   46 +-
 drivers/gpu/drm/sti/sti_hda.c                      |   43 +-
 drivers/gpu/drm/sti/sti_hdmi.c                     |  350 +-
 drivers/gpu/drm/sti/sti_hdmi.h                     |   13 +
 drivers/gpu/drm/sti/sti_hqvdp.c                    |   40 +-
 drivers/gpu/drm/sti/sti_mixer.c                    |   12 +-
 drivers/gpu/drm/sti/sti_mixer.h                    |    2 +
 drivers/gpu/drm/sti/sti_plane.c                    |   40 +-
 drivers/gpu/drm/sti/sti_plane.h                    |    9 +-
 drivers/gpu/drm/sti/sti_tvout.c                    |   43 +-
 drivers/gpu/drm/sti/sti_vid.c                      |   12 +-
 drivers/gpu/drm/sti/sti_vid.h                      |    2 +
 drivers/gpu/drm/sti/sti_vtg.c                      |    3 +-
 drivers/gpu/drm/sun4i/sun4i_crtc.c                 |   12 +
 drivers/gpu/drm/sun4i/sun4i_drv.c                  |   13 +-
 drivers/gpu/drm/sun4i/sun4i_framebuffer.c          |    3 +-
 drivers/gpu/drm/sun4i/sun4i_rgb.c                  |   10 -
 drivers/gpu/drm/sun4i/sun4i_tv.c                   |    9 -
 drivers/gpu/drm/tegra/dc.c                         |  176 +-
 drivers/gpu/drm/tegra/dpaux.c                      |  245 +-
 drivers/gpu/drm/tegra/drm.c                        |    4 +-
 drivers/gpu/drm/tegra/drm.h                        |    2 -
 drivers/gpu/drm/tegra/dsi.c                        |  248 +-
 drivers/gpu/drm/tegra/fb.c                         |    2 +-
 drivers/gpu/drm/tegra/hdmi.c                       |  508 ++-
 drivers/gpu/drm/tegra/hdmi.h                       |   21 +-
 drivers/gpu/drm/tegra/output.c                     |    9 +-
 drivers/gpu/drm/tegra/rgb.c                        |    1 -
 drivers/gpu/drm/tegra/sor.c                        |  717 ++--
 drivers/gpu/drm/tegra/sor.h                        |    3 +
 drivers/gpu/drm/tilcdc/Kconfig                     |    1 -
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c               |    2 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c                |    3 +-
 drivers/gpu/drm/ttm/ttm_bo.c                       |  165 +-
 drivers/gpu/drm/ttm/ttm_bo_util.c                  |  111 +-
 drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   19 +-
 drivers/gpu/drm/ttm/ttm_tt.c                       |    6 +-
 drivers/gpu/drm/udl/Kconfig                        |    5 -
 drivers/gpu/drm/udl/udl_drv.c                      |    1 -
 drivers/gpu/drm/udl/udl_modeset.c                  |    2 +-
 drivers/gpu/drm/vc4/vc4_bo.c                       |    2 -
 drivers/gpu/drm/vc4/vc4_crtc.c                     |  183 +-
 drivers/gpu/drm/vc4/vc4_dpi.c                      |   23 +-
 drivers/gpu/drm/vc4/vc4_drv.c                      |   70 +-
 drivers/gpu/drm/vc4/vc4_drv.h                      |   12 +-
 drivers/gpu/drm/vc4/vc4_gem.c                      |   11 +-
 drivers/gpu/drm/vc4/vc4_hdmi.c                     |   22 +-
 drivers/gpu/drm/vc4/vc4_kms.c                      |   15 +-
 drivers/gpu/drm/vc4/vc4_plane.c                    |   13 +-
 drivers/gpu/drm/vc4/vc4_qpu_defines.h              |   17 +-
 drivers/gpu/drm/vc4/vc4_regs.h                     |   22 +-
 drivers/gpu/drm/vc4/vc4_validate.c                 |   13 +-
 drivers/gpu/drm/vc4/vc4_validate_shaders.c         |  449 ++-
 drivers/gpu/drm/vgem/Makefile                      |    2 +-
 drivers/gpu/drm/vgem/vgem_drv.c                    |  291 +-
 drivers/gpu/drm/vgem/vgem_drv.h                    |   20 +-
 drivers/gpu/drm/vgem/vgem_fence.c                  |  283 ++
 drivers/gpu/drm/via/via_mm.c                       |    2 +-
 drivers/gpu/drm/virtio/Kconfig                     |    4 -
 drivers/gpu/drm/virtio/virtgpu_display.c           |  187 +-
 drivers/gpu/drm/virtio/virtgpu_drm_bus.c           |   10 -
 drivers/gpu/drm/virtio/virtgpu_drv.c               |    3 +-
 drivers/gpu/drm/virtio/virtgpu_drv.h               |    3 +-
 drivers/gpu/drm/virtio/virtgpu_plane.c             |  150 +-
 drivers/gpu/drm/virtio/virtgpu_ttm.c               |    6 +
 drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c             |    7 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                |    8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                |    1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |    4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c              |    2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                |    8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h                |    4 +-
 drivers/gpu/host1x/cdma.c                          |   42 +-
 drivers/gpu/host1x/channel.c                       |    5 +-
 drivers/gpu/host1x/debug.c                         |   38 +-
 drivers/gpu/host1x/dev.c                           |   16 +-
 drivers/gpu/host1x/dev.h                           |   38 +-
 drivers/gpu/host1x/hw/cdma_hw.c                    |   23 +-
 drivers/gpu/host1x/hw/channel_hw.c                 |    5 +-
 drivers/gpu/host1x/hw/debug_hw.c                   |   36 +-
 drivers/gpu/host1x/hw/intr_hw.c                    |   30 +-
 drivers/gpu/host1x/hw/syncpt_hw.c                  |   10 +-
 drivers/gpu/host1x/intr.c                          |   16 +-
 drivers/gpu/host1x/intr.h                          |    4 +-
 drivers/gpu/host1x/job.c                           |    8 +-
 drivers/gpu/host1x/syncpt.c                        |   58 +-
 drivers/gpu/host1x/syncpt.h                        |    8 +-
 drivers/gpu/ipu-v3/ipu-dc.c                        |    9 +-
 drivers/gpu/ipu-v3/ipu-di.c                        |    3 -
 drivers/gpu/ipu-v3/ipu-dmfc.c                      |  213 +-
 drivers/gpu/vga/vga_switcheroo.c                   |   62 +-
 drivers/media/platform/omap/omap_vout.c            |    2 +-
 drivers/media/platform/omap/omap_voutdef.h         |    2 +-
 drivers/media/platform/omap/omap_voutlib.c         |    2 +-
 drivers/net/ethernet/mellanox/mlx4/pd.c            |    4 +-
 drivers/pinctrl/pinconf-generic.c                  |    8 +
 drivers/platform/x86/apple-gmux.c                  |   55 +-
 drivers/staging/android/sync.h                     |    3 +-
 .../omap2/omapfb/displays/connector-analog-tv.c    |   10 +-
 .../fbdev/omap2/omapfb/displays/connector-dvi.c    |   60 +-
 .../fbdev/omap2/omapfb/displays/connector-hdmi.c   |   44 +-
 .../fbdev/omap2/omapfb/displays/encoder-opa362.c   |    2 +-
 .../fbdev/omap2/omapfb/displays/encoder-tfp410.c   |   46 +-
 .../omap2/omapfb/displays/encoder-tpd12s015.c      |    3 +-
 .../video/fbdev/omap2/omapfb/displays/panel-dpi.c  |    2 +-
 .../fbdev/omap2/omapfb/displays/panel-dsi-cm.c     |   54 +-
 .../omapfb/displays/panel-lgphilips-lb035q02.c     |   58 +-
 .../omap2/omapfb/displays/panel-nec-nl8048hl11.c   |   47 +-
 .../omapfb/displays/panel-sharp-ls037v7dw01.c      |   83 +-
 .../omap2/omapfb/displays/panel-sony-acx565akm.c   |    2 +-
 .../omap2/omapfb/displays/panel-tpo-td028ttec1.c   |   45 +-
 .../omap2/omapfb/displays/panel-tpo-td043mtea1.c   |   46 +-
 drivers/video/fbdev/omap2/omapfb/dss/apply.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/core.c        |    4 +-
 .../video/fbdev/omap2/omapfb/dss/dispc-compat.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dispc.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dispc_coefs.c |    2 +-
 .../video/fbdev/omap2/omapfb/dss/display-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/display.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dpi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dsi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss-of.c      |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss.h         |   11 +
 .../video/fbdev/omap2/omapfb/dss/dss_features.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi.h        |    3 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_pll.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_wp.c     |    2 +-
 .../video/fbdev/omap2/omapfb/dss/manager-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/manager.c     |    3 +-
 drivers/video/fbdev/omap2/omapfb/dss/output.c      |    2 +-
 .../video/fbdev/omap2/omapfb/dss/overlay-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/overlay.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/pll.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/rfbi.c        |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/sdi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/venc.c        |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/video-pll.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-main.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb.h          |    2 +-
 include/drm/bridge/analogix_dp.h                   |    9 +-
 include/drm/drmP.h                                 |  167 +-
 include/drm/drm_atomic.h                           |   82 +-
 include/drm/drm_atomic_helper.h                    |   42 +-
 include/drm/drm_auth.h                             |   59 +
 include/drm/drm_crtc.h                             |  858 +++--
 include/drm/drm_crtc_helper.h                      |    3 -
 include/drm/drm_dp_helper.h                        |   11 +-
 include/drm/drm_dp_mst_helper.h                    |  141 +-
 include/drm/drm_fb_cma_helper.h                    |    1 +
 include/drm/drm_fb_helper.h                        |   11 -
 include/drm/drm_fourcc.h                           |   37 +
 include/drm/drm_irq.h                              |  183 +
 include/drm/drm_legacy.h                           |    2 +
 include/drm/drm_mipi_dsi.h                         |    3 +
 include/drm/drm_modes.h                            |    2 +
 include/drm/drm_modeset_helper_vtables.h           |   49 +-
 include/drm/drm_plane_helper.h                     |    1 +
 include/drm/drm_simple_kms_helper.h                |   94 +
 include/drm/i915_drm.h                             |    3 +
 include/drm/intel-gtt.h                            |    3 +
 include/drm/ttm/ttm_bo_api.h                       |    4 +-
 include/drm/ttm/ttm_bo_driver.h                    |   35 +-
 include/linux/dma-buf.h                            |    2 -
 include/linux/fence-array.h                        |   73 +
 include/linux/fence.h                              |   13 +-
 include/linux/io-mapping.h                         |   10 +-
 include/linux/pinctrl/pinconf-generic.h            |    2 +
 include/linux/platform_data/omapdss.h              |   37 +
 include/linux/vga_switcheroo.h                     |    2 +
 include/sound/hdmi-codec.h                         |   13 +-
 include/sound/omap-hdmi-audio.h                    |    9 +-
 include/uapi/drm/amdgpu_drm.h                      |   32 +-
 include/uapi/drm/i915_drm.h                        |    3 +
 include/uapi/drm/msm_drm.h                         |   25 +-
 include/uapi/drm/vc4_drm.h                         |   13 +
 include/uapi/drm/vgem_drm.h                        |   62 +
 include/video/imx-ipu-v3.h                         |    3 -
 include/video/omap-panel-data.h                    |  157 -
 include/video/{omapdss.h => omapfb_dss.h}          |   80 +-
 scripts/kernel-doc                                 |  393 ++-
 sound/soc/codecs/hdmi-codec.c                      |   15 +-
 sound/soc/omap/omap-hdmi-audio.c                   |    1 -
 947 files changed, 49505 insertions(+), 25855 deletions(-)
 create mode 100644 Documentation/.gitignore
 delete mode 100644 Documentation/DocBook/gpu.tmpl
 create mode 100644 Documentation/Makefile.sphinx
 create mode 100644 Documentation/conf.py
 create mode 100644 Documentation/devicetree/bindings/display/arm,malidp.txt
 create mode 100644 Documentation/devicetree/bindings/display/bridge/sii902x.txt
 create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba,tc358767.txt
 create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,hdmi.txt
 delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp.txt
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdp4.txt
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/lg,lp079qx1-sp0v.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/lg,lp097qx1-spa1.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,lsn122dl01-c01.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101k1ly04.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq123p1jx31.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/starry,kr122ea0sra.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt
 create mode 100644 Documentation/gpu/drm-internals.rst
 create mode 100644 Documentation/gpu/drm-kms-helpers.rst
 create mode 100644 Documentation/gpu/drm-kms.rst
 create mode 100644 Documentation/gpu/drm-mm.rst
 create mode 100644 Documentation/gpu/drm-uapi.rst
 create mode 100644 Documentation/gpu/i915.rst
 create mode 100644 Documentation/gpu/index.rst
 create mode 100644 Documentation/gpu/introduction.rst
 create mode 100644 Documentation/gpu/kms-properties.csv
 create mode 100644 Documentation/gpu/vga-switcheroo.rst
 create mode 100644 Documentation/index.rst
 create mode 100644 Documentation/sphinx/convert_template.sed
 create mode 100644 Documentation/sphinx/kernel-doc.py
 create mode 100644 Documentation/sphinx/post_convert.sed
 create mode 100755 Documentation/sphinx/tmplcvt
 create mode 100644 drivers/dma-buf/fence-array.c
 rename drivers/gpu/drm/amd/amdgpu/{iceland_smumgr.h => iceland_smum.h} (96%)
 create mode 100644 drivers/gpu/drm/arc/arcpgu_sim.c
 create mode 100644 drivers/gpu/drm/arm/malidp_crtc.c
 create mode 100644 drivers/gpu/drm/arm/malidp_drv.c
 create mode 100644 drivers/gpu/drm/arm/malidp_drv.h
 create mode 100644 drivers/gpu/drm/arm/malidp_hw.c
 create mode 100644 drivers/gpu/drm/arm/malidp_hw.h
 create mode 100644 drivers/gpu/drm/arm/malidp_planes.c
 create mode 100644 drivers/gpu/drm/arm/malidp_regs.h
 create mode 100644 drivers/gpu/drm/bridge/adv7511/Kconfig
 create mode 100644 drivers/gpu/drm/bridge/adv7511/Makefile
 rename drivers/gpu/drm/{i2c => bridge/adv7511}/adv7511.h (82%)
 rename drivers/gpu/drm/{i2c/adv7511.c => bridge/adv7511/adv7511_drv.c} (80%)
 create mode 100644 drivers/gpu/drm/bridge/adv7511/adv7533.c
 create mode 100644 drivers/gpu/drm/bridge/sii902x.c
 create mode 100644 drivers/gpu/drm/bridge/tc358767.c
 create mode 100644 drivers/gpu/drm/drm_fourcc.c
 create mode 100644 drivers/gpu/drm/drm_simple_kms_helper.c
 create mode 100644 drivers/gpu/drm/i915/gvt/Makefile
 create mode 100644 drivers/gpu/drm/i915/gvt/debug.h
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/hypercall.h
 create mode 100644 drivers/gpu/drm/i915/gvt/mpt.h
 delete mode 100644 drivers/gpu/drm/i915/i915_dma.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_dmabuf.h
 create mode 100644 drivers/gpu/drm/i915/i915_pci.c
 create mode 100644 drivers/gpu/drm/i915/i915_pvinfo.h
 create mode 100644 drivers/gpu/drm/i915/intel_breadcrumbs.c
 create mode 100644 drivers/gpu/drm/i915/intel_device_info.c
 create mode 100644 drivers/gpu/drm/i915/intel_dp_aux_backlight.c
 create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.c
 create mode 100644 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_mt8173_hdmi_phy.c
 create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c
 create mode 100644 drivers/gpu/drm/msm/msm_gem_shrinker.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/basegp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacgp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/ovlygp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.c
 delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c
 delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.h
 create mode 100644 drivers/gpu/drm/vgem/vgem_fence.c
 create mode 100644 include/drm/drm_auth.h
 create mode 100644 include/drm/drm_fourcc.h
 create mode 100644 include/drm/drm_irq.h
 create mode 100644 include/drm/drm_simple_kms_helper.h
 create mode 100644 include/linux/fence-array.h
 create mode 100644 include/linux/platform_data/omapdss.h
 create mode 100644 include/uapi/drm/vgem_drm.h
 rename include/video/{omapdss.h => omapfb_dss.h} (91%)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [git pull] drm for v4.8
@ 2016-08-02  1:32 ` Dave Airlie
  0 siblings, 0 replies; 24+ messages in thread
From: Dave Airlie @ 2016-08-02  1:32 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, DRI mailing list

[-- Attachment #1: Type: TEXT/PLAIN, Size: 170880 bytes --]


Hi Linus,

This is the main drm pull request for 4.8, I'm down with a cold at the moment
so hopefully this isn't in too bad a state, I finished pulling stuff last 
week mostly (nouveau fixes just went in today), so only this message should
be influenced by illness. Apologies to anyone who's major feature I missed :-)

Dave.

Core:
	Lockless GEM BO freeing
	Non-blocking atomic work
	Documentation changes (rst/sphinx)
	Prep for new fencing changes
	Simple display helpers
	Master/auth changes
	Register/unregister rework
	Loads of trivial patches/fixes.

New stuff:
	ARM Mali display driver (not the 3D chip)
	sii902x RGB->HDMI bridge

Panel:
	Support for new panels
	Improved backlight support

Bridge:
	Convert ADV7511 to bridge driver
	ADV7533 support
	TC358767 (DSI/DPI to eDP) encoder chip support

i915:
	BXT support enabled by default
	GVT-g infrastructure
	GuC command submission and fixes
	BXT workarounds
	SKL/BKL workarounds
	Demidlayering device registration
	Thundering herd fixes
	Missing pci ids
	Atomic updates

amdgpu/radeon:
	ATPX improvements for better dGPU power control on PX systems
	New power features for CZ/BR/ST
	Pipelined BO moves and evictions in TTM
	GPU scheduler improvements
	GPU reset improvements
	Overclocking on dGPUs with amdgpu
	Polaris powermanagement enabled

nouveau:
	GK20A/GM20B volt and clock improvements.
    	Initial support for GP100/GP104 GPUs, GP104 will not yet support
	acceleration due to NVIDIA having not released firmware for them as of yet.

exynos:
	Exynos5433 SoC with IOMMU support.

vc4:
	Shader validation for branching
	
imx-drm:
	Atomic mode setting conversion
	Reworked DMFC FIFO allocation
	External bridge support

analogix-dp:
	RK3399 eDP support
	Lots of fixes.

rockchip:
	Lots of small fixes.

msm:
	DT bindings cleanups
	Shrinker and madvise support
	ASoC HDMI codec support

tegra:
	Host1x driver cleanups
	SOR reworking for DP support
	Runtime PM support

omapdrm:
	PLL enhancements
	Header refactoring
	Gamma table support

arcgpu:
	Simulator support

virtio-gpu:
	Atomic modesetting fixes.

rcar-du:
	Misc fixes.

mediatek:
	MT8173 HDMI support

sti:
	ASOC HDMI codec support
	Minor fixes

fsl-dcu:
	Suspend/resume support
	Bridge support
	
amdkfd:
	Minor fixes.

etnaviv:
	Enable GPU clock gating

hisilicon:
	Vblank and other fixes

The following changes since commit 523d939ef98fd712632d93a5a2b588e477a7565e:

  Linux 4.7 (2016-07-24 12:23:50 -0700)

are available in the git repository at:

  git://people.freedesktop.org/~airlied/linux tags/drm-for-v4.8

for you to fetch changes up to 753e7c8cbd8c503b962294303c7b5e9ea8513443:

  Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next (2016-08-02 11:16:02 +1000)

----------------------------------------------------------------
Alex Deucher (59):
      drm/amdgpu: load different smc firmware on some CI variants
      drm/radeon: load different smc firmware on some SI variants
      drm/radeon: load different smc firmware on some CI variants
      drm/amdgpu/gfx7: expand cp jt size to handle GDS as well
      drm/radeon/gfx7: expand cp jt size to handle GDS as well
      drm/amdgpu/gfx8: add state setup for CZ/ST GFX power gating
      drm/amdgpu/gfx8: rename some pg functions
      drm/amdgpu: add new GFX powergating types
      drm/amdgpu/gfx8: add powergating support for CZ/ST
      drm/amdgpu/gfx8: clean up polaris11 PG enable
      drm/amdgpu: disable power control on hybrid laptops
      drm/amdgpu: clean up atpx power control handling
      drm/amdgpu: add a delay after ATPX dGPU power off
      drm/amdgpu/atpx: add a query for ATPX dGPU power control
      drm/amdgpu: use PCI_D3hot for PX systems without dGPU power control
      drm/amdgpu/atpx: drop forcing of dGPU power control
      drm/radeon: disable power control on hybrid laptops
      drm/radeon: clean up atpx power control handling
      drm/radeon: add a delay after ATPX dGPU power off
      drm/radeon/atpx: add a query for ATPX dGPU power control
      drm/radeon: use PCI_D3hot for PX systems without dGPU power control
      drm/radeon/atpx: drop forcing of dGPU power control
      drm/amdgpu/atpx: track whether if this is a hybrid graphics platform
      drm/amdgpu/atpx: hybrid platforms use d3cold
      drm/amdgpu: drop explicit pci D3/D0 setting for ATPX power control
      drm/radeon/atpx: track whether if this is a hybrid graphics platform
      drm/radeon/atpx: hybrid platforms use d3cold
      drm/radeon: drop explicit pci D3/D0 setting for ATPX power control
      drm/amdgpu: work around lack of upstream ACPI support for D3cold
      drm/radeon: work around lack of upstream ACPI support for D3cold
      drm/amdgpu: properly clean up runtime pm
      drm/amdgpu/gfx8: fix CP jump table size
      drm/amdgpu/gfx7: fix CP jump table size
      drm/radeon/cik: fix CP jump table size
      drm/amdgpu: disable compute pipeline sync workaround when using fixed fw
      drm/amdgpu/gmc: make some functions static
      drm/amdgpu: drop wait_for_mc_idle asic callback
      drm/amdgpu: move get_gpu_clock_counter into the gfx struct
      drm/amdgpu: move select_se_sh into the gfx struct
      drm/amdgpu/gfx7: switch to using the existing rlc callbacks
      drm/amdgpu/gfx7: make gfx_v7_0_rlc_stop static
      drm/amdgpu/dce11: update async flip update time
      drm/amdgpu/powerplay/cz: add missing call to powergate VCE
      drm/amdgpu: add IP helpers for wait_for_idle and is_idle
      drm/amdgpu: add missing breaks
      drm/amdgpu: skip invalid ip blocks in ip helpers
      drm/amdgpu/gmc8: remove duplicate wait_for_idle functions
      drm/amdgpu/gmc7: remove duplicate wait_for_idle functions
      drm/amdgpu: remove more of the ring backup code
      drm/amdgpu/powerplay: endian fixes for ppatomctrl.c
      drm/amdgpu: support backlight control for UNIPHY3
      drm/radeon: support backlight control for UNIPHY3
      drm/amdgpu: disable GFX PG on CZ/BR/ST
      drm/radeon: fix firmware info version checks
      drm/amdgpu: fix firmware info version checks
      drm/amdgpu: init atpx at switcheroo register time (v2)
      drm/radeon: init atpx at switcheroo register time v2
      drm/radeon: drop confusing message about backlight control
      drm/amdgpu/powerplay: partial revert of endian fixes

Alex Xie (3):
      drm/amdgpu: Change some variable names to make code easier understood
      drm/amdgpu: Add comment to describe the purpose of one difficult if statement
      drm/amdgpu: Initialize the variables in a straight-forward way

Alexandre Courbot (21):
      drm/nouveau/tegra: fetch gpu_speedo_id
      drm/nouveau/volt/gk20a: make unused public functions static
      drm/nouveau/volt/gk20a: constify and name v_scale
      drm/nouveau/volt/gk20a: rename constructor
      drm/nouveau/volt/gm20b: add support for vmin parameter
      drm/nouveau/clk/gk20a: properly protect macro argument
      drm/nouveau/clk/gk20a: setup slide once during init
      drm/nouveau/clk/gk20a: reorganize MNP calculation a bit
      drm/nouveau/clk/gk20a: use nvkm_ functions in slide()
      drm/nouveau/clk/gk20a: add and use MNP programming functions
      drm/nouveau/clk/gk20a: parameterize PLL settings
      drm/nouveau/clk/gk20a: factorize n_lo computation code
      drm/nouveau/clk/gk20a: improve MNP programming
      drm/nouveau/clk/gk20a: rename constructor
      drm/nouveau/clk/gm20b: add glitchless and DFS support
      drm/nouveau/secboot: fix kerneldoc for secure boot structures
      drm/nouveau/gr/gf100: handle secure boot errors
      drm/nouveau/secboot/gm200: make firmware loading re-callable
      drm/nouveau/secboot: lazy-load firmware and be more resilient
      drm/nouveau/ttm: remove special handling of coherent objects
      drm/nouveau/bus: remove cpu_coherent flag

Alexandre Demers (2):
      drm/amd/powerplay: fix trivial typo and tidy comment
      drm/amd/powerplay: fix typos in comment in polaris' hwmgr

Alexey Brodkin (2):
      ARCv2: [vdk] Enable ARC PGU on HS38 VDK
      ARC: [nsimosci] Enable ARC PGU on nSIM OSCI virtual platforms

Alexey Khoroshilov (1):
      drm_aux-dev: fix error handling in drm_dp_aux_dev_init()

Ander Conselvan de Oliveira (14):
      drm/i915: Set crtc_state->lane_count for HDMI
      drm/i915: Unduplicate CHV signal level code
      drm/i915: Unduplicate chv_data_lane_soft_reset()
      drm/i915: Unduplicate CHV phy-releated pre pll enabling code
      drm/i915: Unduplicate CHV pre-encoder enabling phy logic
      drm/i915: Unduplicate CHV encoders' post pll disable code
      drm/i915: Unduplicate VLV signal level code
      drm/i915: Unduplicate VLV phy pre pll enabling code
      drm/i915: Unduplicate pre encoder enabling phy code
      drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c
      drm/i915: Remove intel_clock_t typedef
      drm/i915: Remove intel_range_t and intel_p2_t typedefs
      drm/i915: Remove intel_limit_t typedef
      drm/i915: Fix NULL pointer deference when out of PLLs in IVB

Andrey Gusakov (1):
      drm/bridge: tc358767: Add DPI to eDP bridge driver

Ankitprasad Sharma (2):
      drm/i915: Use insert_page for pwrite_fast
      drm/i915: Support for pread/pwrite from/to non shmem backed objects

Archit Taneja (42):
      drm/i2c: adv7511: Convert to drm_bridge
      drm/i2c: adv7511: Move to bridge folder
      drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled
      drm/bridge: adv7533: Initial support for ADV7533
      drm/bridge: adv7533: Create a MIPI DSI device
      drm/bridge: adv7533: Use internal timing generator
      drm/bridge: adv7533: Change number of DSI lanes dynamically
      dt-bindings: drm/bridge: Update bindings for ADV7533
      drm/msm: Use correct type for physical addresses
      drm/msm: Print the correct virtual addresses in map/unmap funcs
      drm/msm/mdp5: Don't get source of MDP core clock
      drm/msm/mdp4: Clean up some MDP4 clocks
      dt-bindings: msm/mdp: Fix up clock related bindings
      drm/msm/dsi: Modify port parsing
      drm/msm/dsi: Use generic PHY bindings
      drm/msm/dsi: Use a standard DT binding for data lanes
      dt-bindings: msm/dsi: Use standard data lanes binding
      dt-bindings: msm/dsi: Modify port and PHY bindings
      dt-bindings: msm/dsi: Add assigned clocks bindings
      dt-bindings: msm/dsi: Some binding doc cleanups
      drm/msm: Drop the id_table in platform_driver
      drm/msm: Remove unused fields
      drm/msm: Get irq number within kms driver itself
      drm/msm/mdp5: Add MDSS top level driver
      drm/msm/mdp5: Create a separate MDP5 device
      drm/msm/mdp5: Prepare new kms_init funcs
      drm/msm/mdp5: Use the new hierarchy and drop old irq management
      drm/msm/mdp5: Remove old kms init/destroy funcs
      drm/msm/mdp5: Use updated MDP5 register names
      drm/msm/mdp5: Update the register offsets of MDP5 sub-blocks
      drm/msm: Call pm_runtime_enable/disable for newly created devices
      drm/msm/mdp5: Add missing mdp5_enable/disable calls
      drm/msm: Create separate funcs for adding display/gpu components
      drm/msm: Add display components by parsing MDP ports
      drm/msm: Add components for MDP5
      drm/msm: Drop the gpu binding
      drm/msm/mdp5: Update compatible strings for MDSS/MDP5
      drm/msm/dsi: Don't get DSI index from DT
      dt-bindings: msm/mdp4: Create a separate binding doc for MDP4
      dt-bindings: msm/mdp5: Add MDP5 display bindings
      dt-bindings: msm/mdp: Provide details on MDP interface ports
      drm: rcar-du: Remove i2c slave encoder interface for hdmi encoder

Arindam Nath (2):
      drm/amd/amdgpu: make sure VCE is disabled by default
      drm/amd/powerplay: make sure VCE is disabled by default

Arnaud Pouliquen (1):
      drm: sti: Add ASoC generic hdmi codec support.

Arnd Bergmann (3):
      drm: rockchip: select DRM_GEM_CMA_HELPER
      drm/mediatek: Remove IOMMU_DMA select
      amdgpu: use NULL instead of 0 for pointer

Ben Skeggs (71):
      drm/nouveau/top: take nvkm_device as argument to public functions
      drm/nouveau/top: add function to lookup interrupt mask for a given device
      drm/nouveau/mc: allow construction of subclassed device
      drm/nouveau/mc: take nvkm_device as argument to public functions
      drm/nouveau/mc: expose device enable/disable separately, as well as reset
      drm/nouveau/mc: s/intr_mask/intr_stat/
      drm/nouveau/mc: support for temporarily masking interrupts from a specific device
      drm/nouveau/mc/gt215: support for masking interrupts
      drm/nouveau/mc/gf100-: support for masking interrupts
      drm/nouveau/mc/gk104-: add pmu reset mask
      drm/nouveau/secboot: use nvkm_mc_intr_mask/unmask()
      drm/nouveau/secboot: use nvkm_mc_enable/disable()
      drm/nouveau/ltc/gm107-: decode interrupt status to human-readable strings
      drm/nouveau/disp/nv50-: fix lookup of udisp table under certain circumstances
      drm/nouveau/fifo/gk104-: translate engidx into human-readable name in debug output
      drm/nouveau/bios: guard against out-of-bounds accesses to image
      drm/nouveau/bios: pointers beyond end of first image need special handling
      drm/nouveau/disp/g94: implement workaround for dvi issue on fx380
      drm/nouveau: prevent oops if no mmu subdev present
      drm/nouveau/fb/gf100-: allow selection of an alternate big page size
      drm/nouveau/core: increase maximum ce instances to 6
      drm/nouveau/core: increase maximum nvenc instances to 3
      drm/nouveau/core: recognise GP100 chipset
      drm/nouveau/top/gp100: initial support
      drm/nouveau/mc/gp100: initial support
      drm/nouveau/pci/gp100: initial support
      drm/nouveau/tmr/gp100: initial support
      drm/nouveau/bios/gp100: initial support
      drm/nouveau/bios/dp: initial support for 4.2
      drm/nouveau/bios/pll: initial support for BIT 'C' version 2
      drm/nouveau/bios/rammap: 32-bit bios pointers
      drm/nouveau/devinit/gp100: initial support
      drm/nouveau/imem/gp100: initial implementation
      drm/nouveau/fb/gp100: initial support
      drm/nouveau/mmu/gp100: initial support
      drm/nouveau/bar/gp100: initial support
      drm/nouveau/bus/gp100: initial support
      drm/nouveau/fuse/gp100: initial support
      drm/nouveau/gpio/gp100: initial support
      drm/nouveau/i2c/gm204: initial support
      drm/nouveau/ibus/gp100: initial support
      drm/nouveau/ltc/gp100: initial support
      drm/nouveau/secboot/gm200: initial support
      drm/nouveau/dma/gp100: initial implementation
      drm/nouveau/disp/gp100: initial support
      drm/nouveau/fifo/gp100: initial support
      drm/nouveau/ce/gp100: initial support
      drm/nouveau/gr/gp100: initial support
      drm/nouveau/sw/gp100: initial support
      drm/nouveau/core: recognise GP104 chipset
      drm/nouveau/top/gp104: initial support
      drm/nouveau/mc/gp104: initial support
      drm/nouveau/pci/gp104: initial support
      drm/nouveau/tmr/gp104: initial support
      drm/nouveau/bios/gp104: initial support
      drm/nouveau/devinit/gp104: initial support
      drm/nouveau/imem/gp104: initial support
      drm/nouveau/fb/gp104: initial support
      drm/nouveau/mmu/gp104: initial support
      drm/nouveau/bar/gp104: initial support
      drm/nouveau/bus/gp104: initial support
      drm/nouveau/fuse/gp104: initial support
      drm/nouveau/gpio/gp104: initial support
      drm/nouveau/i2c/gp104: initial support
      drm/nouveau/ibus/gp104: initial support
      drm/nouveau/ltc/gp104: initial support
      drm/nouveau/dma/gp104: initial support
      drm/nouveau/disp/gp104: initial support
      drm/nouveau/fifo/gp104: initial support
      drm/nouveau/ce/gp104: initial support
      drm/nouveau: check for supported chipset before booting fbdev off the hw

Benjamin Gaignard (5):
      drm: sti: remove useless call to dev->struct_mutex
      drm: Add callbacks for late registering
      drm: sti: use late_register and early_unregister callbacks
      drm: sti: rework init sequence
      drm: sti: fix clocking issues in crtc

Benjamin Herrenschmidt (1):
      drm: Fix broken use of _PAGE_NO_CACHE on powerpc

Bhaktipriya Shridhar (4):
      gpu: host1x: hw: intr_hw: Remove create_workqueue
      drm/amdkfd: Remove create_workqueue()
      drm/qxl: Remove deprecated create_singlethread_workqueue
      drm/radeon: Remove deprecated create_singlethread_workqueue

Bich Hemon (1):
      drm/sti: adjust delay for AWG

Bob Paauwe (1):
      drm/i915: Set legacy properties when using legacy gamma set IOCTL. (v2)

Boris Brezillon (23):
      drm/atomic: Handle funcs->best_encoder == NULL case
      drm/atomic: Fix remaining places where !funcs->best_encoder is valid
      drm: mediatek: Rely on the default ->best_encoder() behavior
      drm: msm: Rely on the default ->best_encoder() behavior where appropriate
      drm: sti: Rely on the default ->best_encoder() behavior
      drm: arc: Rely on the default ->best_encoder() behavior
      drm: atmel-hlcdc: Rely on the default ->best_encoder() behavior
      drm: exynos: Rely on the default ->best_encoder() behavior
      drm: fsl-dcu: Rely on the default ->best_encoder() behavior
      drm: rcar-du: Rely on the default ->best_encoder() behavior
      drm: rockchip: Rely on the default ->best_encoder() behavior
      drm: sun4i: Rely on the default ->best_encoder() behavior
      drm: tegra: Rely on the default ->best_encoder() behavior
      drm: vc4: Rely on the default ->best_encoder() behavior
      drm: virtgpu: Rely on the default ->best_encoder() behavior
      drm: omap: Rely on the default ->best_encoder() behavior
      drm/bridge: anx78xx: Rely on the default ->best_encoder() behavior
      drm/bridge: ptn3460: Rely on the default ->best_encoder() behavior
      drm/bridge: ps8622: Rely on the default ->best_encoder() behavior
      drm/bridge: dw-hdmi: Use drm_atomic_helper_best_encoder()
      drm: i915: Rely on the default ->best_encoder() behavior where appropriate
      drm/bridge: Add sii902x driver
      drm/bridge: Add sii902x DT bindings doc

Brian Norris (1):
      drm/rockchip: fix compile warnings for 64-bit

Brian Starkey (1):
      drm/arm: mali-dp: Set crtc.port to the port instead of the endpoint

Chris Wilson (254):
      drm/i915: Protect gen7 irq_seqno_barrier with uncore lock
      drm/i915: Propagate error from drm_gem_object_init()
      drm/i915/fbdev: Call intel_unpin_fb_obj() on release
      drm/i915/overlay: Replace i915_gem_obj_ggtt_offset() with the known flip_addr
      io-mapping: Specify mapping size for io_mapping_map_wc()
      drm/i915: Introduce i915_vm_to_ggtt()
      drm/i915: Move ioremap_wc tracking onto VMA
      drm/i915: Use i915_vma_pin_iomap on the ringbuffer object
      drm/i915: Mark the current context as lost on suspend
      drm/i915: L3 cache remapping is part of context switching
      drm/i915: Consolidate L3 remapping LRI
      drm/i915: Remove early l3-remap
      drm/i915: Rearrange switch_context to load the aliasing ppgtt on first use
      drm/i915: Unify intel_ring_begin()
      drm/i915: Remove the identical implementations of request space reservation
      drm/i915: Manually unwind after a failed request allocation
      drm/i915: Preallocate enough space for the average request
      drm/i915: Update execlists context descriptor format commentary
      drm/i915: Assign every HW context a unique ID
      drm/i915: Replace the pinned context address with its unique ID
      drm/i915: Refactor execlists default context pinning
      drm/i915: Move the magical deferred context allocation into the request
      drm/i915: Move releasing of the GEM request from free to retire/cancel
      drm/i915: Track the previous pinned context inside the request
      drm/i915: Unify GPU resets upon shutdown
      drm/i915: Bump reserved size for legacy gen8 semaphore emission
      drm/i915: Trim the flush for the legacy request emission
      drm/i915: Trim the flush for the execlists request emission
      drm/i915: Apply strongly ordered RCS breadcrumb to gen8/legacy
      drm/i915: Fix ordering of sanitize ppgtt and sanitize execlists
      drm/i915: Fix gen8 semaphores id for legacy mode
      drm/i915: Fix serialisation of pipecontrol write vs semaphore signal
      drm/i915: Reload PD tables after semaphore wait on gen8
      drm/i915: Enable semaphores for legacy submission on gen8
      drm/i915: Report command parser version 0 if disabled
      drm/i915: Unexport i915_ppgtt_init()
      drm/i915/execlists: Refactor common engine setup
      drm/i915: Store a i915 backpointer from engine, and use it
      x86: Silence 32bit compiler warning in intel_graphics_stolen()
      drm/i915: Use drm_i915_private as the native pointer for intel_uncore.c
      drm/i915: Convert intel_overlay.c to use native drm_i915_private pointers
      drm/i915: Move get-reset-stats ioctl from intel_uncore.c to i915_gem_context.c
      drm/i915: Complete pending resets before get-reset-stats ioctl
      drm/i915: Stop retiring requests from busy/wait ioctls
      drm/i915: Stop automatically retiring requests after a GPU hang
      drm/i915: Add distinct stubs for PM hibernation phases
      drm/i915: Update domain tracking for GEM objects on hibernation
      drm/i915: Lazily migrate the objects after hibernation
      drm/i915: Skip clearing the GGTT on full-ppgtt systems
      drm/i915/userptr: Convert to drm_i915_private
      drm/i915/opregion: Convert to using native drm_i915_private
      drm/i915/opregion: Rename init/fini functions to register/unregister
      drm/i915: Rename struct intel_context
      drm/i915: Apply lockdep annotations to i915_gem_context.c
      drm/i915: Rename and inline i915_gem_context_get()
      drm/i915: Name the inner most per-engine intel_context struct
      drm/i915: Move pinning of dev_priv->kernel_context into its creator
      drm/i915: Show i915_gem_context owner in debugfs
      drm/i915: Put the kernel_context in drm_i915_private next to its friends
      drm/i915: Merge legacy+execlists context structs
      drm/i915: Rearrange i915_gem_context
      drm/i915/debugfs: Show context objects in i915_gem_objects
      drm/i915: Only ignore eDP ports that are connected
      drm/i915: Silence "unexpected child device config size" for VBT on 845g
      drm: Only create a cmdline mode if no probed modes match
      drm: Store the plane's index
      drm/i915: Add support for mapping an object page by page
      drm/i915: Introduce i915_gem_object_get_dma_address()
      drm: Export drm_dev_init() for subclassing
      drm: Add a callback from connector registering
      drm: Make drm_connector_register() safe against multiple calls
      drm: Automatically unregister the connector during cleanup
      drm/i915: Serialise presentation with imported dmabufs
      drm: Pass the drm_dp_aux->hw_mutex to i2c for its locking
      drm: Minimally initialise drm_dp_aux
      drm: Automatically register/unregister all connectors
      drm: Protect drm_connector_register_all() under DRIVER_MODESET
      drm/i915: Move intel_connector->unregister to connector->early_unregister
      drm/i915: Move backlight unregistration to connector unregistration
      drm/i915: Avoid use-after-free of intel_encoder in intel_dp_connector_destrpy
      drm/i915: Extract checking for backing struct pages to a helper
      drm/i915: pwrite/pread do not require obj->base.filp, just pages
      drm: Prevent NULL deref in drm_name_info()
      drm/i915: use ORIGIN_CPU for frontbuffer invalidation on WC mmaps
      drm/i915/fbdev: Perform async fbdev initialisation much later
      drm/i915/fbdev: Limit the global async-domain synchronization
      drm/i915/fbdev: Flush mode configuration before lastclose
      drm/arc: Remove redundant calls to drm_connector_register_all()
      drm/atmel-hlcdc: Remove redundant calls to drm_connector_register_all()
      drm/hisilicon: Remove redundant calls to drm_connector_register_all()
      drm/mediatek: Remove redundant calls to drm_connector_register_all()
      drm/msm: Remove redundant calls to drm_connector_register_all()
      drm/rcar-du: Remove redundant calls to drm_connector_register_all()
      drm/i915/gvt: Mark i915.enable_gvt as false if loading fails
      drm/atmel-hlcdc: Remove redundant call to drm_connector_unregister_all()
      drm/vc4: Remove open-coded drm_connector_register_all()
      drm/sun4i: Remove open-coded drm_connector_register_all()
      drm/fb-helper: Reduce READ_ONCE(master) to lockless_dereference
      drm/i915: Move panel's backlight setup next to panel init
      drm/i915: Move registration actions to connector->late_register
      drm/i915: Move backlight registration to connector registration
      drm/i915: Move connector registration to driver registration
      drm/i915: Register debugfs interface last
      drm/i915: Demidlayer driver loading
      drm/i915: Demidlayer driver unloading
      drm/i915: Remove redundant drm_connector_register_all()
      drm/i915: Start exploiting drm_device subclassing
      drm/i915: Merge i915_dma.c into i915_drv.c
      drm/i915: Remove user controllable DRM_ERROR for i915_getparam()
      drm/i915: Remove user controllable DRM_ERROR for intel_get_pipe_from_crtc_id()
      drm/i915: Split out the PCI driver interface to i915_pci.c
      drm/i915: Move module init/exit to i915_pci.c
      drm/i915: Skip idling an idle engine
      drm/i915: Move legacy kernel context pinning to intel_ringbuffer.c
      drm/i915: Treat kernel context as initialised
      drm/i915: Mark all default contexts as uninitialised after context loss
      drm/i915: No need to wait for idle on L3 remap
      drm/i915: Split idling from forcing context switch
      drm/i915: Only switch to default context when evicting from GGTT
      drm/i915: Remove request->reset_counter
      Revert "drm/i915: Use atomic commits for legacy page_flips"
      drm/i915: Use a hybrid scheme for fast register waits
      drm/i915: Convert sandybridge_pcode_*() to use intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Perform Sandybridge BSD tail write under the forcewake
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register()
      drm/i915/ringbuffer: Move all generic engine->dispatch_batchbuffer together
      drm/i915/ringbuffer: Move all default irq vfuncs init to a separate func
      drm/i915/shrinker: Flush active on objects before counting
      drm/i915: Delay queuing hangcheck to wait-request
      drm/i915: Remove the dedicated hangcheck workqueue
      drm/i915: Make queueing the hangcheck work inline
      drm/i915: Separate GPU hang waitqueue from advance
      drm/i915: Slaughter the thundering i915_wait_request herd
      drm/i915: Spin after waking up for an interrupt
      drm/i915: Use HWS for seqno tracking everywhere
      drm/i915: Stop mapping the scratch page into CPU space
      drm/i915: Allocate scratch page from stolen
      drm/i915: Refactor scratch object allocation for gen2 w/a buffer
      drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk)
      drm/i915: Check the CPU cached value in HWS of seqno after waking the waiter
      drm/i915: Only apply one barrier after a breadcrumb interrupt is posted
      drm/i915: Stop setting wraparound seqno on initialisation
      drm/i915: Convert trace-irq to the breadcrumb waiter
      drm/i915: Embed signaling node into the GEM request
      drm/i915: Move the get/put irq locking into the caller
      drm/i915: Simplify enabling user-interrupts with L3-remapping
      drm/i915: Remove debug noise on detecting fault-injection of missed interrupts
      drm/i915: Fix random indent in i915_drm_resume()
      drm/915: Fix long lines and random indent in gen6_set_rps_thresholds()
      drm/i915: Fix indentation in i915_gem_framebuffer_info()
      drm/i915: Fix inconsistent indenting in i915_error_state_to_str()
      drm/i915: Match bitmask size to types in intel_fb_initial_config()
      drm/i915: Fix inconsistent indenting in vbt_panel_init()
      drm/i915: Fix buffer overflow in dsi_calc_mnp()
      drm/i915: Fix inconsistent indentation in intel_pre_enable_lvds()
      drm/i915: Remove check for !crtc_state in intel_plane_atomic_calc_changes()
      drm/i915: Only start retire worker when idle
      drm/i915: Do not keep postponing the idle-work
      drm/i915: Remove redundant queue_delayed_work() from throttle ioctl
      drm/i915: Restore waitboost credit to the synchronous waiter
      drm/i915: Add background commentary to "waitboosting"
      drm/i915: Flush the RPS bottom-half when the GPU idles
      drm/i915: Remove stop-rings debugfs interface
      drm/i915: Record the ringbuffer associated with the request
      drm/i915: Allow userspace to request no-error-capture upon GPU hangs
      drm/i915: Hold irq uncore.lock when initialising fw_domains
      drm/i915: Limit i915_ring_test_irq debugfs to actual rings
      drm/i915: Mass convert dev->dev_private to to_i915(dev)
      drm/i915: Replace lockless_dereference(bool) with READ_ONCE()
      drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch()
      drm/i915: Clean up GPU hang message
      drm/i915: Skip capturing an error state if we already have one
      drm/i915: Split out runtime configuration of device info to its own file
      drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk()
      drm/i915: Remove impossible tests for dev->dev_private
      drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm
      drm/i915: Always double check for a missed interrupt for new bottom halves
      drm/i915: Wake up the bottom-half if we steal their interrupt
      drm/i915: Group the irq breadcrumb variables into the same cacheline
      drm/i915: Fill unused GGTT with scratch pages for VT-d
      drm/i915: Select X86_MSR for igt
      drm/i915: Select DRM_VGEM for igt
      drm/vgem: Fix mmaping
      drm/vgem: Enable dmabuf interface for export
      drm: Unexport drm_connector_register_all()
      drm: Do a full device unregister when unplugging
      drm/udl: Unplugging a device now unregisters it
      drm: Restore double clflush on the last partial cacheline
      drm/vgem: Use PAGE_KERNEL in place of x86-specific PAGE_KERNEL_IO
      drm: Don't overwrite user ioctl arg unless requested
      drm/i915/breadcrumbs: Queue hangcheck before sleeping
      drm/vgem: Attach sw fences to exported vGEM dma-buf (ioctl)
      dma-buf: Release module reference on creation failure
      drm/vgem: Remember to offset relative timeouts to mod_timer() by jiffies
      drm/sun4i: Remove redundant call to drm_connector_unregister_all()
      drm: Unexport drm_connector_unregister_all()

Christian König (69):
      dma-buf/fence: make fence context 64 bit v2
      dma-buf/fence: add signal_on_any to the fence array v2
      drm/amdgpu: fix coding style in the scheduler v2
      drm/amdgpu: remove begin_job/finish_job
      drm/amdgpu: remove duplicated timeout callback
      drm/amdgpu: fix coding style in amdgpu_job_free
      drm/amdgpu: remove use_shed hack in job cleanup
      drm/amdgpu: properly abstract scheduler timeout handling
      drm/amdgpu: move locking into the functions who need it
      drm/amdgpu: fix and cleanup job destruction
      drm/amdgpu: document amdgpu_sync_get_fence
      drm/amdgpu: generalize the scheduler fence
      drm/amdgpu: remove amdgpu_sync_wait
      drm/amdgpu: add optional ring to amdgpu_sync_is_idle
      drm/amdgpu: prefer VMIDs idle on the current ring
      drm/amdgpu: reuse VMIDs assigned to a VM only if there is also a free one
      drm/amdgpu: use a fence array for VMID management
      drm/amdgpu: remove now unnecessary checks
      drm/amdgpu: stop trying to schedule() with a spin held
      drm/ttm: cleanup ttm_tt_(unbind|destroy)
      drm/ttm: remove NULL checks when calling ttm_tt_destroy
      drm/ttm: remove dummy bo_move implementations
      drm/ttm: add wait for idle in all drivers bo_move functions
      drm/ttm: wait for BO idle in ttm_bo_move_memcpy
      drm/ttm: drop wait for idle in ttm_bo_move_buffer
      drm/ttm: drop waiting for idle in ttm_bo_evict.
      drm/ttm: wait for BO idle after the move in ttm_bo_swapout
      drm/amdgpu: sync to buffer moves before VM updates
      drm/amdgpu: remove pre move wait
      drm/ttm: remove no_gpu_wait param from ttm_bo_move_accel_cleanup
      drm/ttm: remove TTM_BO_PRIV_FLAG_MOVING
      drm/ttm: simplify ttm_bo_wait
      drm/ttm: add the infrastructure for pipelined evictions
      drm/amdgpu: save the PD addr before scheduling the job
      drm/amdgpu: pipeline evictions as well
      drm/amdgpu: add eviction counter
      drm/amdgpu: validate VM PTs only on eviction
      drm/amdgpu: implement HDP functions for UVD v2
      drm/amdgpu: don't update page tables for VM emulation
      drm/ttm: wait for eviction in ttm_bo_force_list_clean
      drm/ttm: fix stupid parameter inversion in the pipeline code
      drm/amdgpu: stop disabling irqs when it isn't neccessary
      drm/amdgpu: fix user fence handling once more
      drm/amdgpu: shorten amdgpu_job_free_resources
      drm/amdgpu: earlier free SA resources
      drm/amdgpu: remove fence parameter from amd_sched_job_init
      drm/amdgpu: sanitize fence numbers
      drm/amdgpu: cleanup VCE coding style
      drm/amdgpu: allow multiple sessions in the same VCE IB
      drm/amdgpu: cleanup UVD coding style
      drm/amdgpu: cleanup hw reference handling in the IB tests
      drm/amdgpu: remove usec timeout loop from IB tests
      drm/amdgpu: check flush fence context instead of same ring v2
      drm/amdgpu: always signal all fences
      drm/amdgpu: trace need_flush in grab_vm as well
      drm/amdgpu: return -ENOSPC when running out of UVD handles
      drm/amdgpu: implement UVD VM mode for Stoney v2
      drm/amdgpu: increment driver minor
      drm/amdgpu: fix indentation in struct amdgpu_ring
      drm/amdgpu: remove fence_lock
      drm/amdgpu: add begin/end_use ring callbacks
      drm/amdgpu: use begin/end_use for UVD power/clock gating
      drm/amdgpu: use begin/end_use for VCE power/clock gating
      drm/amdgpu: move UVD IB test into common code v2
      drm/amdgpu: add a fence timeout for the IB tests v2
      drm/ttm: partial revert "cleanup ttm_tt_(unbind|destroy)" v3
      drm/amdgpu: enable UVD VM only on polaris
      drm/amdgpu: fix default UVD context size
      drm/amdgpu: enable UVD context buffer for older HW

Chunming Zhou (25):
      drm/amdgpu: add gpu reset to timeout handler
      drm/amdgpu: add return value for pci config reset
      drm/amdgpu: enable BUS master after pci reset
      drm/amdgpu: block scheduler when gpu reset
      drm/amdgpu: evict vram when gpu reset
      drm/amdgpu: add amdgpu_irq_gpu_reset_resume_helper
      drm/amdgpu: must update page table after gpu reset
      drm/amdgpu: save/restore bios scratch when gpu reset
      drm/amdgpu: must update page table after gpu reset
      drm/amdgpu: stop/resume fb access when gpu reset V3
      drm/amdgpu: put old hw fence of job if gpu reset
      drm/amdgpu: remove evict vram
      drm/amd: add parent for sched fence
      drm/amd: add amd_sched_hw_job_reset
      drm/amdgpu: block ttm first before parking scheduler
      drm/amdgpu: force completion for gpu reset
      drm/amdgpu: add amd_sched_job_recovery
      drm/amdgpu: add a bool to specify if needing vm flush V2
      drm/amdgpu: abstract amdgpu_vm_is_gpu_reset
      drm/amdgpu: recovery hw jobs when gpu reset V3
      drm/amdgpu: ib test first after gpu reset
      drm/amdgpu: clean up ring_backup code, no need more
      drm/amd: reset hw count when reset job
      drm/amd: fix deadlock of job_list_lock V2
      drm/amdgpu: increase timeout of IB test

Clint Taylor (1):
      drm/i915/skl: SKL CDCLK change on modeset tracking VCO

Colin Ian King (2):
      drm/vc4: clean up error exit path on failed dpi_connector allocation
      drm/vc4: remove redundant ret status check

Dan Carpenter (6):
      drm/i915/mocs: || vs | typo in get_mocs_settings()
      drm/mediatek/mtk_mipi_tx: checking the wrong variable
      qxl: check for kmap failures
      qxl: silence uninitialized variable warning
      drm/msm: return -EFAULT instead of bytes remaining
      drm/rockchip: fix a couple off by one bugs

Daniel Vetter (139):
      drm/i915: Bail out of pipe config compute loop on LPT
      drm/i915: Update DRIVER_DATE to 20160508
      Revert "mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly"
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Simplify control flow in intel_atomic_check a bit.
      drm/i915/psr: Try to program link training times correctly
      drm/i915/psr: Make idle_frames sensible again
      drm/i915/psr: Order DP aux transactions correctly
      drm/i915/psr: Use ->get_aux_send_ctl functions
      drm/i915/psr: Implement PSR2 w/a for gen9
      drm/i915: Update DRIVER_DATE to 20160522
      drm/doc: Drop vblank_disable_allow wording
      drm/i915: Revert async unpin and nonblocking atomic commit
      drm/doc: Unify KMS Locking docs
      drm/hlcd: Use lockless gem BO free callback
      drm/hisilicon: Use lockless gem BO free callback
      drm/mediatek: Use lockless gem BO free callback
      drm/fb-helper: Remove dead code in setcolreg
      drm/cirrus: Drop redundnant gamma size check
      drm/msm: Nuke dummy gamma_set/get functions
      drm/qxl: Don't set a gamma table size
      drm/vgem: Use lockless gem BO free callback
      drm: Initialize a linear gamma table by default
      drm/vc4: Use drm_gem_object_unreference_unlocked
      drm/vc4: Use lockless gem BO free callback
      drm/armada: Use lockless gem BO free callback
      drm/ast: Use lockless gem BO free callback
      drm/atmel: Use lockless gem BO free callback
      drm/bochs: Use lockless gem BO free callback
      drm/cirrus: Use lockless gem BO free callback
      drm/fls-dcu: Use lockless gem BO free callback
      drm/mga200g: Use lockless gem BO free callback
      drm/nouveau: Use lockless gem BO free callback
      drm/qxl: Use lockless gem BO free callback
      drm/rcar-du: Use lockless gem BO free callback
      drm/rockchip: Use lockless gem BO free callback
      drm/shmob: Use lockless gem BO free callback
      drm/tilcdc: Use lockless gem BO free callback
      drm/virtio: Use lockless gem BO free callback
      drm/sti: Use lockless gem BO free callback
      drm/rockchip: Use cma gem vm ops
      drm/msm: Nuke dummy fb->dirty callback
      drm/omapdrm: Nuke dummy fb->dirty callback
      drm/sun4i: Use lockless gem BO free callback
      drm/arcpgu: Use lockless gem BO free callback
      drm/i915: Revert async unpin and nonblocking atomic commit
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/atomic-helper: use for_each_*_in_state more
      drm/hdlcd: Clean up crtc hooks
      drm/i915: Use drm_atomic_get_existing_plane_state
      drm/msm: Use for_each_*_in_state
      drm/rcar-du: Use for_each_*_in_state
      drm/vc4: Use for_each_plane_in_state
      drm/omap: Use for_each_plane_in_state
      drm/exynos: Use for_each_crtc_in_state
      drm/doc: Appease sphinx
      drm/atomic: Add drm_atomic_crtc_state_for_each_plane_state
      drm: Consolidate connector arrays in drm_atomic_state
      drm: Consolidate plane arrays in drm_atomic_state
      drm: Consolidate crtc arrays in drm_atomic_state
      drm/atomic-docs: Spelling fixups
      drm/doc: Update kerneldoc for drm_crtc.h
      drm/atomic-helper: Fixup kerneldoc for drm_atomic_helper_legacy_gamma_set
      drm/doc: Improve kernel-doc for drm_fb_cma_helper.c
      drm/gpu.tmpl: Don't forget to rename the include directives, too
      drm/doc: Drop kerneldoc for static functions in drm_irq.c
      drm/doc: Switch to sphinx/rst fixed-width quoting
      drm/i915: Update DRIVER_DATE to 20160606
      drm/atomic-helper: Annotate a bunch more RETURNS: sections
      drm: Replace fb_helper->atomic with mode_config->atomic_commit
      drm/arc: Nuke event_list
      drm/fsl-du: Implement some semblance of vblank event handling
      drm/hisilicon: Implement some semblance of vblank event handling
      drm/atomic: kerneldoc for drm_atomic_crtc_needs_modeset
      Revert "drm/i915/ilk: Don't disable SSC source if it's in use"
      drm/atomic-helper: Massage swap_state signature somewhat
      drm/arc: Actually bother with handling atomic events.
      drm/sun4i: Implement some semblance of vblank event handling
      drm/atomic: Add struct drm_crtc_commit to track async updates
      drm/atomic-helper: roll out commit synchronization
      drm/atomic-helper: nonblocking commit support
      drm/arc: Implement nonblocking commit correctly
      drm/hdlcd: Use helper support for nonblocking commits
      drm/rockchip: Disarm vop->is_enabled
      drm/rockchip: Fix crtc_state->event signalling
      drm/rockchip: convert to helper nonblocking atomic commit
      drm/rockchip: Nuke pending event handling in preclose
      drm/virtio: Don't reinvent a flipping wheel
      Merge tag 'sphinx-4.8' of git://git.lwn.net/linux into topic/drm-misc
      drm/atomic-helpers: Stall on the right commit
      drm/atomic-helpers: Clear up cleanup_done a bit
      drm: Nuke legacy maps debugfs files
      drm: Hide hw.lock cleanup in filp->release better
      drm: Link directly from drm_master to drm_device
      drm: Move master functions into drm_auth.c
      drm: Extract drm_master_open
      drm: Extract drm_master_relase
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Signal drm events for atomic
      drm/i915: Roll out the helper nonblock tracking
      drm/i915: nonblocking commit
      drm/i915: Move fb_bits updating later in atomic_commit
      drm/i915: Use atomic commits for legacy page_flips
      drm/sti: Don't call drm_helper_disable_unused_functions
      drm/i915: Update DRIVER_DATE to 20160620
      drm: Only do the hw.lock cleanup in master_relase for !MODESET
      drm: Move authmagic cleanup into drm_master_release
      drm: Protect authmagic with master_mutex
      drm: Mark authmagic ioctls as unlocked
      drm: Mark set/drop master ioctl as unlocked.
      drm/omapdrm: don't call drm_helper_disable_unused_functions
      drm/crtc-helper: disable_unused_functions really isn't for atomic
      drm/amdkfd: Clean up inline handling
      drm: Move master pointer from drm_minor to drm_device
      drm: Clean up drm_crtc.h
      drm: Use dev->name as fallback for dev->unique
      drm/vgem: Stop calling drm_drv_set_unique
      drm: Don't call drm_dev_set_unique from platform drivers
      drm: Nuke SET_UNIQUE ioctl
      drm: Lobotomize set_busid nonsense for !pci drivers
      drm: Refactor drop/set master code a bit
      drm: Extract drm_is_current_master
      drm: Clear up master tracking booleans
      drm: document drm_auth.c
      drm/vc4: Remove unused connector
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20160711
      drm: Resurrect atomic rmfb code
      Revert "drm: Resurrect atomic rmfb code"
      Merge remote-tracking branch 'airlied/drm-next' into topic/drm-misc
      drm/doc: Add kerneldoc for @index
      drm/drm-kms.rst: Remove unused drm_fourcc.h include directive
      drm/doc: document all the properties in drm_mode_config
      drm: Extract&Document drm_irq.h
      drm/doc: Fix missing kerneldoc for drm_dp_helper.c
      drm/dp-mst: Remove tx_down_in_progress
      drm/dp-mst: Missing kernel doc
      drm/doc: Spinx leftovers
      drm: drm_connector->s/connector_id/index/ for consistency

Dave Airlie (46):
      Merge tag 'topic/drm-misc-2016-06-01' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next
      Backmerge tag 'v4.7-rc2' into drm-next
      Merge tag 'topic/lockless-gem-bo-freeing-2016-06-01' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'topic/drm-misc-2016-06-07' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-06-06' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'virtio-gpu-for-airlied' of git://git.kraxel.org/linux into drm-next
      Merge tag 'omapdrm-4.8' of git://git.kernel.org/.../tomba/linux into drm-next
      Merge branch 'topic-arcpgu-sim' of https://github.com/foss-for-synopsys-dwc-arc-processors/linux into drm-next
      Merge tag 'topic/drm-misc-2016-06-15' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next
      Merge tag 'drm-sii902x' of github.com:bbrezillon/linux-at91 into drm-next
      Merge tag 'topic/drm-misc-2016-06-22-updated' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/media into drm-next
      Merge tag 'mediatek-drm-2016-06-20' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'sti-drm-next-2016-06-30' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next
      Back-merge tag 'v4.7-rc5' into drm-next
      Merge branch 'for-next' of http://git.agner.ch/git/linux-drm-fsl-dcu into drm-next
      Merge tag 'asoc-hdmi-codec-pdata' of git://git.kernel.org/.../broonie/sound into drm-next
      Merge tag 'drm-amdkfd-next-2016-07-03' of git://people.freedesktop.org/~gabbayo/linux into drm-next
      Merge branch 'drm-etnaviv-next' of git://git.pengutronix.de/git/lst/linux into drm-next
      Merge tag 'drm-hisilicon-next-2016-07-04' of github.com:xin3liang/linux into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next
      Merge tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2016-07-11' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-vc4-next-2016-07-12' of https://github.com/anholt/linux into drm-next
      Merge branch 'exynos-drm-next' of git://git.kernel.org/.../daeinki/drm-exynos into drm-next
      Merge tag 'imx-drm-next-2016-07-14' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'upstream/analogix-dp-20160705' of git://github.com/yakir-Yang/linux into drm-next
      Merge tag 'drm/tegra/for-4.8-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge tag 'drm/panel/for-4.8-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge tag 'drm-vc4-next-2016-07-15' of https://github.com/anholt/linux into drm-next
      Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next
      Merge branch 'drm_bridge_for_4.8' of https://github.com/boddob/linux into drm-next
      Merge branch 'drm-rockchip-next-fixes-2016-07-19' of https://github.com/markyzq/kernel-drm-rockchip into drm-next
      Merge branch 'for-next' of http://git.agner.ch/git/linux-drm-fsl-dcu into drm-next
      Backmerge tag 'v4.7' into drm-next
      Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-fixes-2016-07-25' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'topic/drm-misc-2016-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-next-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'imx-drm-fixes-2016-07-27' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge branch 'linux-4.8' of git://github.com/skeggsb/linux into drm-next

Dave Gordon (29):
      drm/i915: rename i915_gem_alloc_object() to i915_gem_object_create()
      drm/i915: refactor i915_gem_object_pin_map()
      drm/i915: optimise i915_gem_object_map() for small objects
      drm/i915: Introduce & use new lightweight SGL iterators
      drm/i915: Inline sg_next() for the optimised SGL iterator
      drm/i915/guc: rename loader entry points
      drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED
      drm/i915/guc: add enable_guc_loading parameter
      drm/i915/guc: pass request (not client) to i915_guc_{wq_check_space, submit}()
      drm/i915/guc: don't spinwait if the GuC's workqueue is full
      drm/i915/guc: rework guc_add_workqueue_item()
      drm/i915/guc: fix GuC loading/submission check
      drm/i915/guc: disable GuC submission earlier during GuC (re)load
      drm/i915/guc: enable GuC loading & submission by default
      drm/i915/guc: suppress GuC-related message on non-GuC platforms
      drm/i915/guc: prefer 'dev_priv' to 'dev' for static functions
      drm/i915/guc: prefer 'dev_priv' to 'dev' for intra-module functions
      drm/i915/guc: add doorbell map to debugfs/i915_guc_info
      drm/i915/guc: prefer __set/clear_bit() to bitmap_set/clear()
      drm/i915/guc: remove writes to GEN8_DRBREG registers
      drm/i915/guc: move guc_ring_doorbell() nearer to callsite
      drm/i915/guc: refactor doorbell management code
      drm/i915/guc: replace assign_doorbell() with select_doorbell_register()
      drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission
      drm/i915/guc: index host arrays by i915 engine ID, not guc_id
      drm/i915: tweak gen6_for_{each_pde, all_pdes} macros
      drm/i915/guc: don't ever forward VBlank to the GuC
      drm/i915: convert a few more E->dev_private to to_i915(E)
      drm/i915: avoid wait_for_atomic() in non-atomic host2guc_action()

David Mao (2):
      drm/amd/amdgpu : Refine tracepoints to track more information
      drm/amd/amdgpu : adding new tracepoints to track memory information.

David Weinehall (1):
      drm/i915: only disable memory self-refresh on GMCH

Deepak M (3):
      drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT
      drm/i915: Parse LFP brightness control field in VBT
      drm/i915/dsi: CABC support for Panel PWM backlight control

Doug Anderson (1):
      dt-bindings: Add vendor prefix for Starry

Douglas Anderson (2):
      dt-bindings: Add Starry KR122EA0SRA panel binding
      drm/panel: simple: Add support for Starry KR122EA0SRA panel

Edmondo Tommasina (1):
      drm/radeon: allow PACKET3_PFP_SYNC_ME on evergreen

Edward O'Callaghan (7):
      drivers/amdgpu: Remove spurious semicolons
      drivers/amdgpu: Use 'true/false' for bool typed variables
      drivers/amdgpu: Use canonical form in branch predicates
      drivers/amdgpu: Remove redundant NULL check before kfree()
      drivers/amdgpu: Remove redundant casts on kzalloc() calls
      drivers/amdgpu: Use canonical boolean form in various predicates
      drivers/amdgpu: Remove redundant itermediate return val

Eric Anholt (9):
      Merge tag 'drm-vc4-fixes-2016-06-06' into drm-vc4-next
      drm/vc4: Bind the HVS before we bind the individual CRTCs.
      drm/vc4: Add a getparam ioctl for getting the V3D identity regs.
      drm/vc4: Move validation's current/max ip into the validation struct.
      drm/vc4: Add a bitmap of branch targets during shader validation.
      drm/vc4: Add support for branching in shader validation.
      drm/vc4: Add a getparam to signal support for branches.
      drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS
      drm/vc4: Fix a "the the" typo in a comment.

Eric Huang (24):
      drm/amdgpu: add powerplay sclk OD support through sysfs (v2)
      drm/amd/powerplay: add sclk OD support on Fiji
      drm/amd/powerplay: add sclk OD support on Tonga
      drm/amd/powerplay: add sclk OD support on Polaris10
      drm/amdgpu: add the new common pm code to select the clock levels
      drm/amdgpu: add the new common pm code to support sclk OD
      drm/amdgpu: add the CI code to enable clock level selection
      drm/amdgpu: add the CI code to enable sclk OD(OverDrive)
      drm/amdgpu: add the common code to support mclk OD
      drm/amdgpu: add mclk OD(overdrive) support for CI
      drm/amd/powerplay: add mclk OD(overdrive) support for Tonga
      drm/amd/powerplay: add mclk OD(overdrive) support for Fiji
      drm/amd/powerplay: add mclk OD(overdrive) support for Polaris10
      drm/amd/powerplay: set UVD clocks bypass mode for Polaris10
      drm/amd/powerplay: keep soft_pp_table pointer value for re-uploading
      drm/amd/powerplay: add event task of disable dynamic state management
      drm/amd/powerplay: add function disable_dpm_tasks for Fiji
      drm/amd/powerplay: add disable dpm tasks for Tonga
      drm/amd/powerplay: add disable dpm tasks for Polaris10
      drm/amd/powerplay: change backend allocation to backend init
      drm/amd/powerplay: add uploading pptable and resetting powerplay support
      drm/amd/powerplay: remove useless pp_table codes for Tonga/Fiji/Polaris10
      drm/amd/powerplay: remove useless soft pptable in Asic related backend
      drm/amdgpu: some improvement in parsing inputs

Fabio Estevam (3):
      drm/imx: imx-tve: check the value returned by regulator_set_voltage()
      drm/imx: imx-tve: remove unneeded 'or' operation
      drm/imx: imx-tve: fix the error message

Frank Binns (4):
      drm/i915: Fix misleading driver debug message
      drm: fix some spelling mistakes
      drm/amd/amdgpu: Set DRIVER_MODESET feature flag at build time
      drm/vmwgfx: Stop checking minor type directly

Geert Uytterhoeven (1):
      MAINTAINERS: Add file patterns for drm device tree bindings

Gerd Hoffmann (8):
      virtio-gpu: fix output lookup
      virtio-gpu: fix output lookup
      virtio-gpu: add atomic_commit function
      virtio-gpu: switch to atomic cursor interfaces
      add cursor hotspot to drm_framebuffer
      virtio-gpu: pick up hotspot from framebuffer
      virtio-gpu: use src not crtc
      drm/i915: use #defines for qemu subsystem ids

Gustavo Padovan (32):
      dma-buf/fence: add fence_array fences v6
      drm/fence: add fence to drm_pending_event
      dma-buf/sync_file: fix build warning with context format type
      drm/armada: use drm_crtc_send_vblank_event()
      drm/atmel: use drm_crtc_send_vblank_event()
      drm/qxl: use drm_crtc_send_vblank_event()
      drm/udl: use drm_crtc_send_vblank_event()
      drm/virtio: use drm_crtc_send_vblank_event()
      drm/amdgpu: use drm_crtc_vblank_{get,put}()
      drm/armada: use drm_crtc_vblank_{get,put}()
      drm/atmel: use drm_crtc_vblank_{get,put}()
      drm/qxl: use drm_crtc_vblank_{get,put}()
      drm/radeon: use drm_crtc_vblank_{get,put}()
      drm/shmobile: use drm_crtc_vblank_{get,put}()
      Documentation: add fence-array to kernel DocBook
      drm/nouveau: replace legacy vblank helpers
      drm: remove legacy drm_send_vblank_event()
      drm: remove legacy drm_arm_vblank_event()
      drm: make drm_vblank_{get,put}() static
      drm/amdgpu: use drm_crtc_vblank_{on,off}()
      drm/radeon: use drm_crtc_vblank_{on,off}()
      drm/amdgpu: use crtc directly in drm_crtc_vblank_put()
      drm/radeon: use crtc directly in drm_crtc_vblank_put()
      drm/gma500: use drm_crtc_vblank_{on,off}()
      drm: make drm_vblank_count_and_time() static
      drm/armada: use drm_crtc_handle_vblank()
      drm/atmel: use drm_crtc_handle_vblank()
      drm/nouveau: use drm_crtc_handle_vblank()
      drm/rcar-du: use drm_crtc_handle_vblank()
      drm/tilcdc: use drm_crtc_handle_vblank()
      MAINTAINERS: add entry for the Sync File Framework
      dma-buf/sync_file: improve Kconfig description for Sync Files

Heinrich Schuchardt (1):
      drm/mm: avoid possible null pointer dereference

Huang Rui (17):
      drm/amdgpu: add powercontainment module parameter
      drm/amdgpu: factor out the AMDGPU_INFO_FW_VERSION case branch into amdgpu_firmware_info
      drm/amdgpu: introduce a firmware debugfs to dump all current firmware versions
      drm/amdgpu: change pcie_gen_cap magic code to macro
      drm/amdgpu: rename smumgr to smum for dpm
      drm/amdgpu: no need load microcode at sdma if powerplay is enabled
      drm/amdgpu: add ucode_start_address into cgs_firmware_info
      drm/amd/powerplay: add SMU register macro for future use
      drm/amdgpu: add new definitions into ppsmc.h for iceland
      drm/amd/powerplay: add atomctrl_get_voltage_evv function in ppatomctrl
      drm/amd/powerplay: fix the incorrect return value
      drm/amd/powerplay: add pp_tables_get_response_times function in process pptables
      drm/amdgpu: make amdgpu_cgs_call_acpi_method as static
      drm/amdgpu: fix incorrect type of info_id
      drm/amd/powerplay: rename smum header guards
      drm/amdgpu: add new definition in bif header
      drm/amdgpu: add query device id and revision id into system info entry at CGS

Ilia Mirkin (1):
      drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup

Imre Deak (31):
      drm/i915/bdw: Add missing delay during L3 SQC credit programming
      drm/i915: Clean up L3 SQC register field definitions
      drm/i915/chv: Tune L3 SQC credits based on actual latencies
      drm/i915/gen9: Avoid using negative array index in skl_update_plane()
      drm/i915: Add comments about fixed pipe->transcoder/PLL mapping
      drm/i915: Handle error return from dma_set_coherent_mask()
      drm/i915: Remove redundant const from function return type
      drm/i915/gen9: Assume CDCLK PLL is off if it's not locked
      drm/i915/bxt: Sanitize CDCLK to fix breakage during S4 resume
      drm/i915/bxt: Wait for PHY1 GRC calibration synchronously
      drm/i915: Factor out intel_power_well_get/put
      drm/i915/bxt: Move DDI PHY enabling/disabling to the power well code
      drm/i915/bxt: Set DDI PHY lane latency optimization during modeset
      drm/i915/bxt: Rename broxton to bxt in PHY/CDCLK function prefixes
      drm/i915/bxt: Sanitiy check the PHY lane power down status
      drm/i915/ibx, cpt: Don't attempt to register eDP if LVDS was detected
      drm/i915: Initialize the PPS HW before its first use
      drm/i915: Group all the PPS init steps to one place
      drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training
      drm/i915: Deduplicate PPS register retrieval
      drm/i915: Factor out helper to read out PPS HW state
      drm/i915: Sanity check PPS HW state
      drm/i915/bxt: Avoid early timeout during PLL enable
      drm/i915/lpt: Avoid early timeout during FDI PHY reset
      drm/i915/hsw: Avoid early timeout during LCPLL disable/restore
      drm/i915: Avoid early timeout during AUX transfers
      drm/i915: Fix log type for RC6 debug messages
      drm/i915/bxt: Fix sanity check for BIOS RC6 setup
      drm/i915/bxt: Remove the preliminary_hw_support flag
      drm/i915/gen9: Clean up MOCS table definitions
      drm/i915/bxt: Fix inadvertent CPU snooping due to incorrect MOCS config

Jani Nikula (17):
      drm/i915/dsi: don't pretend we support SC GPIOs
      drm/i915/dsi: add support for sequence block v3 gpio for VLV
      drm/i915/dsi: add support for gpio elements on CHV
      drm/i915/lvds: separate border enable readout from panel fitter
      drm/i915: don't mix bitwise and logical operations for has_snoop
      drm/i915/dsi: Add DCS control for Panel PWM
      drm/i915/dsi: fix bxt split screen and color issue
      Documentation/gpu: add new gpu.rst converted from DocBook gpu.tmpl
      Documentation/gpu: split up the gpu documentation
      MAINTAINERS: add Documentation/gpu and Documentation/gpu/i915.rst
      Documentation/gpu: use recommended order of heading markers
      Documentation/gpu: convert the KMS properties table to CSV
      Documentation/gpu: split up mm, kms and kms-helpers from internals
      Documentation/DocBook: remove gpu.tmpl
      drm/i915/opregion: add acpi defines from the spec
      drm/i915/opregion: abstract acpi display type getter for a connector
      drm/i915/opregion: handle missing connector types for acpi display types

Jie Qiu (2):
      drm/mediatek: Add HDMI support
      drm/mediatek: enable hdmi output control bit

John Keeping (4):
      drm/rockchip: dw_hdmi: remove unused #include
      drm/rockchip: fb: add missing header
      drm/rockchip: fix "should it be static?" warnings
      drm/rockchip: allocate correct crtc state structure on reset

Jon Hunter (8):
      drm/tegra: dpaux: Clean-up on probe failure
      drm/tegra: dpaux: Add helpers for setting up pads
      dt-bindings: display: Update Tegra DPAUX documentation
      drm/tegra: Prepare DPAUX for supporting generic PM domains
      dt-bindings: Add bindings for Tegra DPAUX pinctrl driver
      drm/tegra: dpaux: Add pinctrl support
      drm/tegra: dsi: Prepare for generic PM domain support
      drm/tegra: sor: Prepare for generic PM domain support

Joonas Lahtinen (2):
      drm/i915: Canonicalize stolen memory calculations
      drm/i915: Function per early graphics quirk

Joshua Clayton (2):
      drm/panel: simple: Add support for Sharp LQ101K1LY04
      dt-bindings: display: Add Sharp LQ101K1LY04 panel binding

Julia Lawall (1):
      drm/nouveau/gr/gk20a: delete unneeded second newline

Junwei Zhang (1):
      drm/amdgpu/dce8: fix flash with white screen on monitor

Jyri Sarha (4):
      drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt()
      drm/omapdrm: Add gamma table support to DSS dispc
      drm/omapdrm: Workaround for errata i734 (LCD1 Gamma) in DSS dispc
      drm/omapdrm: Implement gamma_lut atomic crtc properties

Karol Herbst (2):
      drm/nouveau/volt: save the voltage range we are able to set
      drm/nouveau/hwmon: add in_min and in_max

Ken Wang (1):
      drm/amdgpu: remove gfx8 registers that vary between asics

Kenneth Graunke (1):
      drm/i915: Allow MI_LOAD_REGISTER_REG between whitelisted registers.

Kumar, Mahesh (3):
      drm/i915/skl+: calculate ddb minimum allocation (v6)
      drm/i915/skl+: calculate plane pixel rate (v4)
      drm/i915/skl+: Use scaling amount for plane data rate calculation (v4)

Kuninori Morimoto (2):
      drm: rcar-du: error message is not needed for drm_vblank_init()
      drm: rcar-du: error message is not needed for EPROBE_DEFER

Laurent Pinchart (7):
      drm: omapdrm: panel-lgphilips-lb035q02: Remove unused backlight GPIO
      drm: omapdrm: Remove unused omap_gem_tiled_size function
      drm: omapdrm: Remove unused omap_framebuffer_bo function
      drm/ast: Remove useless drm_fb_get_bpp_depth() call
      drm/qxl: Remove useless drm_fb_get_bpp_depth() call
      drm: Move format-related helpers to drm_fourcc.c
      drm/msm: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp()

Lee Jones (1):
      drm/sti: use new Reset API

Leo Liu (1):
      drm/amdgpu: free handles after fini the context

Liu Ying (11):
      drm/atomic-helper: Do not call ->mode_fixup for CRTC which will be disabled
      drm/imx: ipuv3 plane: Check different types of plane separately
      gpu: ipu-v3: ipu-dmfc: Use static DMFC FIFO allocation mechanism
      drm/imx: atomic phase 1: Use transitional atomic CRTC and plane helpers
      drm/imx: atomic phase 2 step 1: Wire up state ->reset, ->duplicate and ->destroy
      drm/imx: atomic phase 2 step 2: Track plane_state->fb correctly in ->page_flip
      drm/imx: Remove encoders' ->prepare callbacks
      drm/imx: atomic phase 3 step 1: Use atomic configuration
      drm/bridge: dw-hdmi: Remove the legacy drm_connector_funcs structure
      drm/imx: atomic phase 3 step 2: Legacy callback fixups
      drm/imx: atomic phase 3 step 3: Advertise DRIVER_ATOMIC

Liviu Dudau (5):
      drm: Update obsolete information from {enable/disable}_vblank hooks.
      drm: Fix comment making reference to non-existing function
      dt/bindings: display: Add DT bindings for Mali Display Processors.
      drm/arm: Add support for Mali Display Processors
      MAINTAINERS: Add entry for Mali-DP driver

Lothar Waßmann (1):
      drm/imx: parallel-display: check return code from of_get_drm_display_mode()

Lucas Stach (3):
      drm/etnaviv: improve error reporting in GPU init path
      drm/etnaviv: remove generic GPU init failure reporting
      drm/imx: imx-ldb: check return code on panel attach

Lukas Wunner (21):
      vga_switcheroo: Add helper for deferred probing
      vga_switcheroo: Support deferred probing of audio clients
      drm: Remove dev_pm_ops from drm_class
      drm/i915: Don't unregister fbdev's fb twice
      drm/nouveau: Don't leak runtime pm ref on driver unload
      drm/nouveau: Forbid runtime pm on driver unload
      drm/radeon: Don't leak runtime pm ref on driver unload
      drm/radeon: Don't leak runtime pm ref on driver load
      drm/radeon: Forbid runtime pm on driver unload
      drm/amdgpu: Don't leak runtime pm ref on driver unload
      drm/amdgpu: Don't leak runtime pm ref on driver load
      drm/amdgpu: Forbid runtime pm on driver unload
      drm: Add helpers to turn off CRTCs
      drm/nouveau: Turn off CRTCs on driver unload
      drm/radeon: Turn off CRTCs on driver unload
      drm/amdgpu: Turn off CRTCs on driver unload
      drm: Use helper to turn off CRTC
      drm/i2c/ch7006: Use helper to turn off CRTC
      drm/nouveau/dispnv04: Use helper to turn off CRTC
      vga_switcheroo: Sphinxify docs
      apple-gmux: Sphinxify docs

Lyude (11):
      Revert "drm/i915: start adding dp mst audio"
      drm/i915/ilk: Don't disable SSC source if it's in use
      drm/i915/ilk: Don't disable SSC source if it's in use
      drm/i915/fbc: Disable on HSW by default for now
      drm/radeon: Poll for both connect/disconnect on analog connectors
      drm/amdgpu: Poll for both connect/disconnect on analog connectors
      drm/i915/vlv: Make intel_crt_reset() per-encoder
      drm/i915/vlv: Reset the ADPA in vlv_display_power_well_init()
      drm/i915/vlv: Disable HPD in valleyview_crt_detect_hotplug()
      drm/i915: Enable polling when we don't have hpd
      drm/amdgpu: Disable RPM helpers while reprobing connectors on resume

Maarten Lankhorst (28):
      drm/i915: Dump pipe config when intel_modeset_pipe_config fails.
      drm/core: Add drm_accurate_vblank_count, v5.
      drm/i915: Remove stallcheck special handling, v3.
      drm/i915: Remove intel_finish_page_flip_plane.
      drm/i915: Remove intel_prepare_page_flip, v3.
      drm/i915: Add support for detecting vblanks when hw frame counter is unavailable.
      drm/i915: Unify unpin_work and mmio_work into flip_work, v2.
      Revert "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
      drm/i915: Allow mmio updates on all platforms, v2.
      drm/i915: Convert flip_work to a list.
      drm/i915: Add the exclusive fence to plane_state.
      drm/i915: Rework intel_crtc_page_flip to be almost atomic, v3.
      drm/i915: Remove cs based page flip support.
      drm/i915: Remove use_mmio_flip kernel parameter.
      drm/i915: Remove queue_flip pointer.
      drm/i915: Remove reset_counter from intel_crtc.
      drm/i915: Pass atomic states to fbc update functions.
      drm/i915: Prepare connectors for nonblocking checks.
      drm/i915: Make unpin async.
      Reapply "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
      drm/i915: Check for unpin correctness.
      drm/i915: Allow nonblocking update of pageflips.
      drm/core: Change declaration for gamma_set.
      Reapply "drm/i915: Pass atomic states to fbc update, functions."
      drm/i915: Use connector->name in drrs debugfs.
      drm/i915: Use connector_type instead of intel_encoder->type for DP.
      drm/i915: Use atomic state and connector_type in i915_sink_src
      drm/i915: Use connector_type for printing in intel_connector_info, v2.

Marek Szyprowski (5):
      drm/exynos: iommu: move dma_params configuration code to separate functions
      drm/exynos: iommu: add a check if all sub-devices have iommu controller
      drm/exynos: iommu: remove unused entries from exynos_drm_private strcuture
      drm/exynos: iommu: move ARM specific code to exynos_drm_iommu.h
      drm/exynos: iommu: add support for ARM64 specific code for IOMMU glue

Mario Kleiner (1):
      drm/vc4: Implement precise vblank timestamping.

Mark Yao (2):
      drm/rockchip: vop: correct the source size of uv scale factor setting
      drm/rockchip: vop: correct rk3036 register define

Markus Elfring (32):
      drm/msm/hdmi: Delete an unnecessary check before the function call "kfree"
      drm/msm: Delete unnecessary checks before drm_gem_object_unreference_unlocked()
      drm/msm: Delete an unnecessary check before drm_gem_object_unreference()
      drm/bochs: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/rockchip: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/vc4: Delete unnecessary checks before two function calls
      drm/arcpgu: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      drm/virtgpu: Delete unnecessary checks before drm_gem_object_unreference_unlocked()
      drm/tegra: Delete an unnecessary check before the function call "vunmap"
      drm/cirrus: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/hdlcd: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      drm/ast: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/rockchip: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/ttm: Delete an unnecessary check before the function call "ttm_tt_destroy"
      drm/atomic: Delete an unnecessary check before drm_property_unreference_blob()
      GPU-DRM-sun4i: Delete an unnecessary check before drm_fbdev_cma_hotplug_event()
      GPU-DRM-Exynos: Delete an unnecessary check before the function call "vunmap"
      GPU-DRM-OMAP: Delete unnecessary checks before two function calls
      GPU-DRM-GMA500: Delete unnecessary checks before two function calls
      drm/bridge: ps8622: Delete an unnecessary check before backlight_device_unregister()
      drm/mgag200: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/qxl: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/vmwgfx: Delete an unnecessary check before the function call "vfree"
      drm/etnaviv: Delete unnecessary checks before two function calls
      drm/etnaviv: Optimize error handling in etnaviv_gem_new_userptr()
      GPU-DRM-Radeon: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/amdgpu: Delete an unnecessary check before drm_gem_object_unreference_unlocked()
      drm/amdgpu: One function call less in amdgpu_cgs_acpi_eval_object() after error detection
      drm/amdgpu: Delete a variable in amdgpu_cgs_acpi_eval_object()
      drm/amdgpu: Delete an unnecessary variable initialisation in amdgpu_cgs_acpi_eval_object()
      drm/amdgpu: Change assignment for a variable in amdgpu_cgs_acpi_eval_object()
      drm/amd/powerplay: Change assignment for a buffer variable in phm_dispatch_table() v2

Masanari Iida (1):
      drm: Fix a typo in drm_ioctl.c

Mathias Krause (3):
      dma-buf: propagate errors from dma_buf_describe() on debugfs read
      dma-buf: remove dma_buf directory on bufinfo file creation errors
      dma-buf: remove dma_buf_debugfs_create_file()

Matt Roper (19):
      drm/i915: Reorganize WM structs/unions in CRTC state
      drm/i915: Rename s/skl_compute_pipe_wm/skl_build_pipe_wm/
      drm/i915/gen9: Cache plane data rates in CRTC state
      drm/i915/gen9: Allow calculation of data rate for in-flight state (v2)
      drm/i915/gen9: Store plane minimum blocks in CRTC wm state (v2)
      drm/i915: Track whether an atomic transaction changes the active CRTC's
      drm/i915/gen9: Allow skl_allocate_pipe_ddb() to operate on in-flight state (v3)
      drm/i915: Add distrust_bios_wm flag to dev_priv (v2)
      drm/i915/gen9: Compute DDB allocation at atomic check time (v4)
      drm/i915/gen9: Drop re-allocation of DDB at atomic commit (v2)
      drm/i915/gen9: Calculate plane WM's from state
      drm/i915/gen9: Allow watermark calculation on in-flight atomic state (v3)
      drm/i915/gen9: Use a bitmask to track dirty pipe watermarks
      drm/i915/gen9: Propagate watermark calculation failures up the call chain
      drm/i915/gen9: Calculate watermarks during atomic 'check' (v2)
      drm/i915/gen9: Reject display updates that exceed wm limitations (v2)
      drm/i915: Remove wm_config from dev_priv/intel_atomic_state
      drm/i915: Don't try to calculate relative data rates during hw readout
      drm/i915/gen9: Re-allocate DDB only for changed pipes

Matthew Auld (4):
      drm/i915: tidy up gen8_init_scratch
      drm/i915: remove i915_gem_object_ggtt_unbind
      drm: use seqlock for vblank time/count
      drm: fix send_vblank_event use-after-free error

Matthias Beyer (1):
      drivers: gpu: drm: amd: powerplay: hwmgr: Remove unused variable

Meng Yi (2):
      drm/fsl-dcu: rework codes to support of_graph dt binding for panel
      drm/fsl-dcu: add support for drm bridge

Michał Winiarski (1):
      drm/i915: Set softmin frequency on idle->busy transition

Michel Dänzer (2):
      drm/amdgpu: Unpin BO if we can't get fences in amdgpu_crtc_page_flip
      drm: Only handle _DRM_VBLANK_NEXTONMISS once

Mika Kahola (1):
      drm/i915: Revert DisplayPort fast link training feature

Mika Kuoppala (28):
      drm/i915/skl: Add WaDisableGafsUnitClkGating
      drm/i915/kbl: Init gen9 workarounds
      drm/i915/kbl: Add REVID macro
      drm/i915/kbl: Add WaSkipStolenMemoryFirstPage for A0
      drm/i915/gen9: Always apply WaForceContextSaveRestoreNonCoherent
      drm/i915: Mimic skl with WaForceEnableNonCoherent
      drm/i915/kbl: Add WaEnableGapsTsvCreditFix
      drm/i915/kbl: Add WaDisableFenceDestinationToSLM for A0
      drm/i915/kbl: Add WaDisableSDEUnitClockGating
      drm/i915/edp: Add WaKVMNotificationOnConfigChange:bdw
      drm/i915/kbl: Add WaDisableLSQCROPERFforOCL
      drm/i915/gen9: Enable must set chicken bits in config0 reg
      drm/i915/kbl: Add WaDisableGamClockGating
      drm/i915/kbl: Add WaDisableDynamicCreditSharing
      drm/i915: Add WaInsertDummyPushConstP for bxt and kbl
      drm/i915/gen9: Add WaDisableSkipCaching
      drm/i915/skl: Add WAC6entrylatency
      drm/i915/kbl: Add WaForGAMHang
      drm/i915/kbl: Add WaDisableGafsUnitClkGating
      drm/i915/kbl: Add WaDisableSbeCacheDispatchPortSharing
      drm/i915/gen9: Add WaEnableChickenDCPR
      drm/i915/skl: Extend WaDisableChickenBitTSGBarrierAckForFFSliceCS
      drm/i915/kbl: Add WaClearSlmSpaceAtContextSwitch
      drm/i915/gen9: Add WaFbcTurnOffFbcWatermark
      drm/i915/gen9: Add WaFbcWakeMemOn
      drm/i195/fbc: Add WaFbcNukeOnHostModify
      drm/i915/gen9: Add WaFbcHighMemBwCorruptionAvoidance
      drm/i915/gen9: Add WaInPlaceDecompressionHang

Mikulas Patocka (1):
      drm/nouveau/fbcon: fix font width not divisible by 8

Monk Liu (2):
      drm/amdgpu: clear RB at ring init
      drm/amdgpu: fix ring debugfs bug

Nicholas Mc Guire (1):
      drm/radeon/ci add comment to document intentionally unreachable code

Nick Hoath (1):
      drm/i915/guc: Add Broxton GuC firmware loading support

Nicolai Hähnle (5):
      drm/amdgpu: add amdgpu.cg_mask and amdgpu.pg_mask parameters
      drm/amdgpu: remove cgs_acpi_method_argument member method_length
      drm/amdgpu: add disable_cu parameter
      drm/amdgpu/gfx7: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter
      drm/amdgpu/gfx8: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter

Nils Wallménius (2):
      drm/amd/powerplay: Mark functions of ppevvmath.h static
      drm/amd/powerplay: Delete unused functions in ppevvmath.h

Noralf Trønnes (1):
      drm: Add helper for simple display pipeline

Oded Gabbay (1):
      drm/amdkfd: destroy mutex if process creation fails

Patrik Jakobsson (1):
      drm/i915/dmc: Step away from symbolic links

Paul Bolle (1):
      drm/vmwgfx: use *_32_bits() macros

Paulo Zanoni (2):
      drm/i915/fbc: update busy_bits even for GTT and flip flushes
      drm/i915/fbc: sanitize i915.enable_fbc during FBC init

Peter Antoine (3):
      drm/i915/bxt: reserve space for RC6 in the the GuC WOPCM
      Revert "drm/i915/kbl: drm/i915: Avoid GuC loading for now on Kabylake."
      i915/guc: Add Kabylake GuC Loading

Peter Chen (12):
      gpu: drm: vc4_hdmi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_compositor: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_vdo: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_hqvdp: add missing of_node_put after calling of_parse_phandle
      gpu: drm: sti_vtg: add missing of_node_put after calling of_parse_phandle
      gpu: drm: rockchip_drm_drv: add missing of_node_put after calling of_parse_phandle
      gpu: drm: omapdrm: connector-dvi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: omapdrm: dss-of: add missing of_node_put after calling of_parse_phandle
      gpu: drm: exynos_hdmi: add missing of_node_put after calling of_parse_phandle
      gpu: drm: arcpgu_drv: add missing of_node_put after calling of_parse_phandle
      drm/fsl-dcu: add missing of_node_put after calling of_parse_phandle
      drm/msm: add missing of_node_put after calling of_parse_phandle

Peter Ujfalusi (23):
      omapfb: panel-tpo-td028ttec1: Remove legacy boot support
      omapfb: panel-nec-nl8048hl11: Remove legacy boot support
      omapfb: panel-tpo-td043mtea1: Remove legacy boot support
      omapfb: panel-sharp-ls037v7dw01: Remove legacy boot support
      omapfb: panel-lgphilips-lb035q02: Remove legacy boot support
      omapfb: panel-dsi-cm: Remove legacy boot support
      omapfb: connector-hdmi: Remove legacy boot support
      omapfb: connector-dvi: Remove legacy boot support
      omapfb: encoder-tfp410: Remove legacy boot support
      omapfb: encoder-tpd12s015: No need to include video/omap-panle-data.h
      drm/omap: displays: Do not include video/omap-panel-data.h if not needed
      omapdss: omap-panel-data.h: Remove struct omap_dss_device declaration
      drm/omap: connector-analog-tv: Support only Composite type in legacy boot
      omapfb: connector-analog-tv: Support only Composite type in legacy boot
      omapdss: omap-panel-data.h: Remove connector_type from atv pdata
      drm/omap: Remove reference to pdata->default_device
      omapfb: Remove reference to pdata->default_device
      platform_data: omapdss: Remove unused members from omap_dss_board_info
      omapdss: hdmi audio: Make header file independent of video/omapdss.h
      drm/omap: Do not include video/omapdss.h directly in drivers
      omapfb: Create new header file for omapfb DSS implementation
      [media] omap_vout: Switch to use the video/omapfb_dss.h header file
      drm/omap: Remove the video/omapdss.h and move it's content to local header file

Peter Wu (4):
      drm/nouveau/acpi: ensure matching ACPI handle and supported functions
      drm/nouveau/acpi: return supported DSM functions
      drm/nouveau/acpi: check for function 0x1B before using it
      drm/nouveau/acpi: fix lockup with PCIe runtime PM

Philipp Zabel (9):
      dt-bindings: drm/mediatek: Add Mediatek HDMI dts binding
      dt-bindings: hdmi-connector: add DDC I2C bus phandle documentation
      drm/imx: remove empty mode_set encoder callbacks
      drm/imx: store internal bus configuration in crtc state
      drm/imx: turn remaining container_of macros into inline functions
      gpu: ipu-v3: ipu-dc: don't bug out on invalid bus_format
      drm/imx: parallel-display: add bridge support
      dt-bindings: tc358767: add DT documentation
      drm/imx: imx-ldb: do not try to dereference crtc->state->state in encoder mode_set

Praveen Paneri (2):
      drm/i915: Unbind objects in shrinker only if device is runtime active
      drm/i915: Add rpm get/put in oom and vmap notifier

Ramalingam C (2):
      drm/i915/BXT: Retrieving the horizontal timing for DSI
      drm/i915/bxt: Adjusting the error in horizontal timings retrieval

Randy Dunlap (1):
      drm/i915: fix build errors when ACPI is not enabled

Rex Zhu (15):
      drm/amd/powerplay: functions's return state was reversed
      drm/amd/powerplay: change condition judgment as function's return value changed.
      drm/amdgpu: get number of shade engine by cgs interface.
      drm/amd/powerplay: add mvdd dpm support.
      drm/amd/powerplay: add shared definitions for di/dt feature.
      drm/amd/powerplay: add definitions related to di/dt feature for fiji and polaris.
      drm/amdgpu: add read/write function for GC CAC programming
      drm/amd/powerplay: don't add invalid voltage.
      drm/amd/powerplay: populate SMC ACPI minimum voltage using VBIOS boot SCLK and MCLK
      drm/amd/powerplay: enable DiDt feature for polaris10/11.
      drm/amd/powerplay: fix typo error when set clock gate state.
      Revert "drm/amd/powerplay: workaround issue that when uvd dpm disabled,"
      drm/amdgpu: add bypass mode for vce3.0
      drm/amd/powerplay: fix issue can't enable vce dpm.
      drm/amdgpu: add destroy session when generate VCE destroy msg.

Rob Clark (11):
      drm/prime: fix error path deadlock fail
      drm/msm: use mutex_lock_interruptible for submit ioctl
      drm/msm: add madvise ioctl
      drm/msm: add put_iova() helper
      drm/msm: shrinker support
      drm/msm: change gem->vmap() to get/put
      drm/msm: wire up vmap shrinker
      drm/msm: deal with arbitrary # of cmd buffers
      drm/msm: bump kernel api version
      drm/msm/rd: split out snapshot_buf helper
      drm/msm/rd: add module param to dump all bo's

Rob Herring (1):
      drm: vc4: enable XBGR8888 and ABGR8888 pixel formats

Robin Murphy (1):
      drm/fb_cma_helper: Implement fb_mmap callback

Rodrigo Vivi (5):
      drm/i915/kbl: Introduce the first official DMC for Kabylake.
      drm/i915: Add more Kabylake PCI IDs.
      drm/i915: Removing PCI IDs that are no longer listed as Kabylake.
      drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
      drm/i915/guc: Revert "drm/i915/guc: enable GuC loading & submission by default"

Roy Spliet (2):
      drm/nouveau/clk/gf100-: Clean up PLL locking test
      drm/nouveau/clk/gf100: Read secondary bypass postdiv when required

Russell King (1):
      drm/etnaviv: enable GPU module level clock gating support

Ruud Derwig (1):
      drm/arcpgu: Make ARC PGU usable on simulation platforms

SF Markus Elfring (1):
      drm/amd/powerplay: Delete an unnecessary variable initialisation in phm_dispatch_table()

Sagar Arun Kamble (1):
      drm/i915: Update GEN6_PMINTRMSK setup with GuC enabled

Sebastian Reichel (1):
      drm: omapdrm: add DSI mapping

Sergei Shtylyov (1):
      rcar-du: add/rename DEFR6 TCON bits

Slava Grigorev (3):
      drm/amdgpu: temporary comment out unused static const structures to fix the build
      drm/amdgpu: comment out unused defaults_bonaire_pro static const structures to     fix the build
      drm/amdgpu: comment out unused defaults_staturn_pro static const structure to fix the build

Srinivas Kandagatla (1):
      drm: msm: Add ASoC generic hdmi audio codec support.

Stefan Agner (7):
      drm/fb_cma_helper: add suspend helper
      drm/fsl-dcu: store layer registers in soc_data
      drm/fsl-dcu: move layer initialization to plane file
      drm/fsl-dcu: use clk helpers
      drm/fsl-dcu: implement suspend/resume using atomic helpers
      drm/fsl-dcu: disable vblank events on CRTC disable
      drm/fsl-dcu: use drm_mode_config_cleanup on initialization errors

Stefan Christ (1):
      drm/gma500: remove unnecessary stub for fb_ioctl()

Sudip Mukherjee (1):
      drm: fb: cma: fix memory leak

Thierry Reding (32):
      drm/panel: simple: Fix a couple of physical sizes
      drm/panel: simple: Remove gratuitous blank line
      drm/dsi: Add uevent callback
      Merge branch 'devel-dt-free-map' of git://git.kernel.org/.../linusw/linux-pinctrl into drm/tegra/for-next
      gpu: host1x: Consistently use unsigned int for counts
      gpu: host1x: Use unsigned int consistently for IDs
      gpu: host1x: channel: Use correct type
      gpu: host1x: cdma: Drop unnecessary local variable
      gpu: host1x: syncpt: Use kcalloc() instead of kzalloc()
      gpu: host1x: Fix a couple of checkpatch warnings
      gpu: host1x: Whitespace cleanup for readability
      gpu: host1x: Remove redundant parentheses
      gpu: host1x: Constify array of action handlers
      gpu: host1x: Remove useless local variable
      drm/tegra: sor: Factor out tegra_sor_set_parent_clock()
      drm/tegra: sor: Rename tegra_sor_calc_config()
      drm/tegra: sor: Split out tegra_sor_apply_config()
      drm/tegra: sor: Extract tegra_sor_mode_set()
      drm/tegra: sor: Do not support deep color modes
      drm/tegra: hdmi: Enable audio over HDMI
      drm/tegra: dc: Implement runtime PM
      drm/tegra: dsi: Implement runtime PM
      drm/tegra: hdmi: Implement runtime PM
      drm/tegra: sor: Implement runtime PM
      drm/panel: simple: Update backlight state property
      drm/qxl: Remove dead code
      drm/dsi: Make set_tear_scanline command consistent
      drm/tegra: sor: Implement sor1_brick clock
      dt-bindings: display: tegra: Add source clock for SOR
      drm/tegra: sor: Use sor1_src clock to set parent for HDMI
      drm/tegra: sor: Make XBAR configurable per SoC
      drm/tegra: sor: Reject HDMI 2.0 modes

Tim Gore (3):
      drm/i915:bxt: implement WaProgramL3SqcReg1DefaultForPerf
      drm/i915/gen9: implement WaConextSwitchWithConcurrentTLBInvalidate
      drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

Tina Ruchandani (1):
      drm/sti: Use 64-bit timestamps

Tobias Jakobi (22):
      drm/exynos: use logical AND in exynos_drm_plane_check_size()
      drm/exynos: make fbdev support really optional
      drm/rockchip: make fbdev support really optional
      drm/rcar-du: make fbdev support really optional
      drm/atmel-hlcdc: make fbdev support really optional
      drm/nouveau: make fbdev support really optional
      drm/arc: make fbdev support really optional
      drm/armada: make fbdev support really optional
      drm/omap: make fbdev support really optional
      drm/mgag200: make fbdev support really optional
      drm/cirrus: make fbdev support really optional
      drm/qxl: make fbdev support really optional
      drm/imx: make fbdev support really optional
      drm/shmobile: make fbdev support really optional
      drm/gma500: make fbdev support really optional
      drm/tilcdc: make fbdev support really optional
      drm/fsl-dcu: make fbdev support really optional
      drm/bochs: make fbdev support really optional
      drm/udl: make fbdev support really optional
      drm/virtio: make fbdev support really optional
      drm/ast: make fbdev support really optional
      drm/arm: make fbdev support really optional

Tom O'Rourke (1):
      drm/i915/guc: Use major_minor version for filename

Tom St Denis (17):
      drm/amdgpu/gfx8: Enable GFX PG on CZ
      drm/amdgpu/gfx8: Add serdes wait for idle in CGCG en/disable
      drm/amd/amdgpu: Convert ring debugfs entries to binary
      drm/amd/amdgpu: ring debugfs is read in increments of 4 bytes
      drm/amdgpu/trace:  Add tracepoints to MMIO read/writes
      drm/amdgpu/gfx8: Switch Stoney to share CZ's RLC functions
      drm/amdgpu/gfx8: Enable CG on Stoney
      drm/amdgpu/gfx8: Enable PG on Stoney
      drm/amdgpu/gfx8: Tidy up various PG helpers
      drm/amdgpu/gfx80:  Add QUICK_PG bit to GFX header and use it.
      drm/amdgpu/uvd6: De-numberify startup
      drm/amd/gfx: add instance field to select_se_sh (v3)
      drm/amd/amdgpu: Add gca config debug entry (v4)
      drm/amd/amdgpu: Add bank selection for MMIO debugfs (v3)
      drm/amd/powerplay:  Unify family defines
      drm/amd/powerplay: move clockgating to after ungating power in pp for uvd/vce
      drm/amd/powerplay: remove enable_clock_power_gatings_tasks from initialize and resume events

Tomasz Figa (1):
      drm/rockchip: Finish initialization before registering DRM device

Tomeu Vizoso (3):
      drm/rockchip: Drop drm_driver.load/unload callbacks
      drm/rockchip: Use atomic PM helpers
      drm/rockchip: Resume DP early

Tomi Valkeinen (33):
      drm/omap: remove unused enum omap_hdmi_flags
      drm/omap: remove unused enum omap_overlay_manager_caps
      drm/omap: fix wrong variable type
      drm/omap: video-pll: add missing data for clkout2 & 3
      drm/omap: copy enum omap_dss_clk_source
      drm/omap: rename omap_dss_clk_source
      drm/omap: remove dss_feat_get_clk_source_name()
      drm/omap: rename dss_get_generic_clk_source_name()
      drm/omap: rename dss_clk_source enums
      drm/omap: Add missing clock sources
      drm/omap: add field for PLL type
      drm/omap: clean up the LCD clk mux code
      drm/omap: add PLL helper funcs
      drm/omap: cleanup dispc_mgr_lclk_rate()
      drm/omap: cleanup dispc_fclk_rate()
      drm/omap: cleanup DPI clock source handling
      drm/omap: fix DPI clkout index handling
      drm/omap: HDMI PLL: use runtime pm
      drm/omap: rename PLL calc functions
      drm/omap: move HDMI PLL calc function to pll.c
      drm/omap: generalize dss_pll_calc_b()
      drm/omap: add comments for PLL calculations
      drm/omap: support type B PLL for DPI
      drm/omap: DPI: rename "DSI" related names
      drm/omap: remove unneeded gpio includes
      drm/omap: remove unnecessary pitch round-up
      drm/omap: remove align_pitch()
      drm/omap: fix pitch round-up
      MAINTAINERS: Add maintainer for OMAP DRM driver
      MAINTAINERS: Add maintainer for TI LCDC DRM driver
      drm/omap: rename panel/encoder Kconfig names
      Merge branch '4.8/omapdrm-pll' (omapdrm PLL work)
      Merge omapdss header refactoring

Tvrtko Ursulin (33):
      drm/i915: Remove i915_gem_obj_size
      drm/i915: Simplify i915_gem_obj_to_ggtt_view
      drm/i915: Simplify i915_gem_obj_ggtt_offset_view
      drm/i915: Simplify i915_gem_obj_ggtt_bound_view
      drm/i915: Store LRC hardware id in the request
      drm/i915: Stop tracking execlists retired requests
      drm/i915: Simplify intel_mark_busy/idle
      drm/i915: Small display interrupt handlers tidy
      drm/i915: Make IS_GENx macros work on a mask
      drm/i915: Promote IS_BROADWELL to a simple macro
      drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx
      drm/i915: Do not use a bitfield for INTEL_INFO->num_pipes
      drm/i915: Introduce IS_GEN macro
      drm/i915/guc: Disable automatic GuC firmware loading
      drm/i915: Fix a buch of kerneldoc warnings
      drm/i915/guc: Remove one unnecessary variable
      drm/i915: Small compaction of the engine init code
      drm/i915/debug: Select PREEMPT_COUNT when enabling debugging
      drm/i915: Use atomic waits for short non-atomic ones
      drm/i915: Consolidate write_tail vfunc initializer
      drm/i915: Consolidate add_request vfunc
      drm/i915: Consolidate seqno_barrier vfunc
      drm/i915: Consolidate get and put irq vfuncs
      drm/i915: Consolidate get/set_seqno
      drm/i915: Consolidate init_hw vfunc
      drm/i915: Consolidate dispatch_execbuffer vfunc
      drm/i915: Consolidate semaphore vfuncs init
      drm/i915: Move semaphore object creation into intel_ring_init_semaphores
      drm/i915: Compact Gen8 semaphore initialization
      drm/i915: Compact gen8_ring_sync
      drm/i915: Consolidate legacy semaphore initialization
      drm/i915: Trim some if-else braces
      drm/i915: Explicitly convert some macros to boolean values

Uwe Kleine-König (3):
      devicetree/bindings: add reset-gpios and vcc-supply for panel-dpi
      drm/omap: panel-dpi: make (limited) use of a reset gpio
      drm/omap: panel-dpi: implement support for a vcc regulator

Valdis Kletnieks (1):
      Fix annoyingly awkward typo in drm_edid_load.c

Ville Syrjälä (76):
      drm/i915: Unify VLV/CHV DPOunit clock gating disable/enable
      drm/i915: Update RAWCLK_FREQ register on VLV/CHV
      drm/i915: Update CDCLK_FREQ register on BDW after changing cdclk frequency
      drm/i915: Use cached cdclk value in i915_audio_component_get_cdclk_freq()
      drm/i915: Fix comments about GMBUSFREQ register
      mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly
      drm: Add helper for DP++ adaptors
      drm/i915: Respect DP++ adaptor TMDS clock limit
      drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed
      drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
      drm/i915: Calculate IPS linetime watermark based on future cdclk
      drm/i915: Add a FIXME about crtc !active vs. watermarks
      drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms
      drm/i915: s/DPPL/DPLL/ for SKL DPLLs
      drm/i915: Drop checks for max_pixclk failures in cdclk computation
      drm/i915: Extract broadwell_calc_cdclk()
      drm/i915: Untangle .fdi_link_train and cdclk vfunc setup
      drm/i915: Don't pass dev_priv to broxton_calc_cdclk()
      drm/i915: Use ilk_max_pixel_rate() for BXT cdclk calculation
      drm/i915: Use skl_cdclk_decimal() on bxt
      drm/i915: Remove 10% cdclk guardband on BXT
      drm/i915: Extract skl_dpll0_disable()
      drm/i915: Kill off dead code from skl_dpll0_enable()
      drm/i915: s/freq/cdclk/
      drm/i915: s/required_vco/vco/ in skl cdclk code
      drm/i915: Program BXT_CDCLK_CD2X_PIPE
      drm/i915: Eliminate the CDCLK_CTL RMW on BXT
      drm/i915: Don't leave old junk in ilk active watermarks on readout
      drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)
      drm/i915: Enable GSE interrupt on BDW+
      drm/i915: Fix BXT min_pixclk after state readout
      drm/i915: Move the SKL DPLL0 VCO computation into intel_dp_compute_config()
      drm/i915: Extract skl_calc_cdclk()
      drm/i915: Actually read out DPLL0 vco on skl from hardware
      drm/i915: Report the current DPLL0 vco on SKL/KBL
      drm/i915: Allow enable/disable of DPLL0 around cdclk changes on SKL
      drm/i915: Keep track of preferred cdclk vco frequency on SKL
      drm/i915: Beef up skl_sanitize_cdclk() a bit
      drm/i915: Unify SKL cdclk init paths
      drm/i915: Move SKL+ DBUF enable/disable to display core init/uninit
      drm/i915: Make 308 and 671 MHz cdclks more accurate on SKL
      drm/i915: Rename skl_vco_freq to cdclk_pll.vco
      drm/i915: Store cdclk PLL reference clock under dev_priv
      drm/i915: Extract bxt DE PLL enable/disable from broxton_set_cdclk()
      drm/i915: Store BXT DE PLL vco and ref clocks in dev_priv
      drm/i915: Update cached cdclk state from broxton_init_cdclk()
      drm/i915: Rewrite broxton_get_display_clock_speed() in terms of the DE PLL vco/refclk
      drm/i915: Make bxt_set_cdclk() operate in terms of the current vs target DE PLL vco
      drm/i915: Replace bxt_verify_cdclk_state() with a more generic cdclk check
      drm/i915: Set BXT cdclk to minimum initially
      drm/i915: Assert the dbuf is enabled when disabling DC5/6
      drm/i915: Reject modeset if the dotclock is too high
      drm/i915: Use crtc->name in debug messages
      drm/i915: Use plane->name in debug prints
      drm/i915: Set crtc->name to "pipe A", "pipe B", etc.
      drm/i915: Don't leak primary/cursor planes on crtc init failure
      drm/i915: Give meaningful names to all the planes
      drm/i915: Give encoders useful names
      drm/i915: kill STANDARD/CURSOR plane screams
      drm/i915: Extract physical display dimensions from VBT
      drm/i915: Check VBT for port presence in addition to the strap on VLV/CHV
      drm: Deal with rotation in drm_plane_helper_check_update()
      drm/i915: Refresh cached DP port register value on resume
      drm/i915: Don't mark eDP encoders as MST capable
      drm/i915: Remove encoder type checks from MST suspend/resume
      drm/i915: Add output_types bitmask into the crtc state
      drm/i915: Unify intel_pipe_has_type() and intel_pipe_will_have_type()
      drm/i915: Replace manual lvds and sdvo/hdmi counting with intel_crtc_has_type()
      drm/i915: Kill has_dp_encoder from pipe_config
      drm/i915: Replace some open coded intel_crtc_has_dp_encoder()s
      drm/i915: s/INTEL_OUTPUT_DISPLAYPORT/INTEL_OUTPUT_DP/
      drm/i915: Kill has_dsi_encoder
      drm/i915: Simplify hdmi_12bpc_possible()
      drm/i915: Check for invalid cloning earlier during modeset
      drm/i915: Unbreak interrupts on pre-gen6
      drm: aux ->transfer() can return 0, deal with it

Vinay Simha BN (1):
      drm/dsi: Implement set tear scanline

Wei Yongjun (11):
      drm/i915: Fix missing unlock on error in i915_ppgtt_info()
      drm/hisilicon: Fix return value check in ade_dts_parse()
      drm/msm/dsi: Fix return value check in msm_dsi_host_set_display_mode()
      drm/msm/hdmi: use PTR_ERR_OR_ZERO() to simplify the code
      drm/vgem: Fix non static symbol warning
      drm/arc: Fix some sparse warnings
      drm/arc: Remove redundant dev_err call in arcpgu_load()
      drm/virtio: Fix non static symbol warning
      drm/rockchip: analogix_dp: add missing clk_disable_unprepare() on error
      drm/arm: mali-dp: Remove redundant dev_err call in malidp_bind()
      drm/arm: mali-dp: Fix error return code in malidp_bind()

Xinliang Liu (2):
      drm/hisilicon: Fix ADE vblank on/off handling
      drm/hisilicon: Fix ADE vblank on/off handling

Yakir Yang (20):
      drm/rockchip: analogix_dp: split the lcdc select setting into device data
      drm/bridge: analogix_dp: correct the register bit define error in ANALOGIX_DP_PLL_REG_1
      drm/bridge: analogix_dp: some rockchip chips need to flip REF_CLK bit setting
      drm/rockchip: analogix_dp: add rk3399 eDP support
      drm/rockchip: analogix_dp: make panel detect to an optional action
      drm/bridge: analogix_dp: passing the connector as an argument in .get_modes()
      drm/rockchip: analogix_dp: correct the connector display color format and bpc
      drm/rockchip: analogix_dp: update the comments about why need to hardcode VOP output mode
      drm/bridge: analogix_dp: fix no drm hpd event when panel plug in
      drm/rockchip: analogix_dp: introduce the pclk for grf
      dt-bindings: analogix_dp: rockchip: correct the wrong compatible name
      dt-bindings: Add LG LP097QX1-SPA1 panel binding
      drm/panel: simple: Add support for LG LP097QX1-SPA1 panel
      dt-bindings: Add Samsung LSN122DL01-C01 panel binding
      drm/panel: simple: Add support for Samsung LSN122DL01-C01 panel
      dt-bindings: Add Sharp LQ123P1JX31 panel binding
      drm/panel: simple: Add support for Sharp LQ123P1JX31 panel
      dt-bindings: Add support for LG LP079QX1-SP0V panel
      drm/panel: simple: Add support for LG LP079QX1-SP0V panel
      drm/rockchip: vop: add uv_vir register field for RK3036 VOP

Yetunde Adebisi (3):
      drm/dp: Add definition for Display Control DPCD Registers capability size
      drm/i915: Read eDP Display control capability registers
      drm/i915: Add Backlight Control using DPCD for eDP connectors (v9)

Zhi Wang (10):
      drm/i915: Factor out i915_pvinfo.h
      drm/i915: Use offsetof() to calculate the offset of members in PVINFO page
      drm/i915: Fold vGPU active check into inner functions
      drm/i915: gvt: Introduce the basic architecture of GVT-g
      drm/i915: Make ring buffer size of a LRC context configurable
      drm/i915: Make addressing mode bits in context descriptor configurable
      drm/i915: Introduce execlist context status change notification
      drm/i915: Support LRC context single submission
      drm/i915: Introduce GVT context creation API
      drm/i915: Set the access right of kernel param "i915.enable_gvt" to read-only.

Zoltan Kuscsik (1):
      drm/hisilicon: add select HISI_KIRIN_DW_DSI

arun.siluvery@linux.intel.com (5):
      drm/i915/gen9: Add WaVFEStateAfterPipeControlwithMediaStateClear
      drm/i915:bxt: Enable Pooled EU support
      drm/i915/bxt: Add WaEnablePooledEuFor2x6
      drm/i915/bxt: Add WaDisablePooledEuLoadBalancingFix
      drm/i915/bxt: Export pooled eu info to userspace

jimqu (2):
      drm/amdgpu: S3 resume fail on Polaris10
      drm/amdgpu: correct coding style

yanyang1 (1):
      drm/amdgpu: print smc fw info in CGS.

 Documentation/.gitignore                           |    1 +
 Documentation/DocBook/Makefile                     |    9 +-
 Documentation/DocBook/device-drivers.tmpl          |    4 +
 Documentation/DocBook/gpu.tmpl                     | 3540 --------------------
 Documentation/Makefile.sphinx                      |   63 +
 Documentation/conf.py                              |  414 +++
 .../devicetree/bindings/display/arm,malidp.txt     |   65 +
 .../bindings/display/bridge/adi,adv7511.txt        |   26 +-
 .../bindings/display/bridge/analogix_dp.txt        |    1 +
 .../devicetree/bindings/display/bridge/sii902x.txt |   35 +
 .../bindings/display/bridge/toshiba,tc358767.txt   |   53 +
 .../bindings/display/connector/hdmi-connector.txt  |    1 +
 .../devicetree/bindings/display/fsl,dcu.txt        |    9 +-
 .../bindings/display/mediatek/mediatek,hdmi.txt    |  148 +
 .../devicetree/bindings/display/msm/dsi.txt        |  117 +-
 .../devicetree/bindings/display/msm/mdp.txt        |   59 -
 .../devicetree/bindings/display/msm/mdp4.txt       |  112 +
 .../devicetree/bindings/display/msm/mdp5.txt       |  160 +
 .../bindings/display/panel/lg,lp079qx1-sp0v.txt    |    7 +
 .../bindings/display/panel/lg,lp097qx1-spa1.txt    |    7 +
 .../bindings/display/panel/panel-dpi.txt           |    2 +
 .../display/panel/samsung,lsn122dl01-c01.txt       |    7 +
 .../bindings/display/panel/sharp,lq101k1ly04.txt   |    7 +
 .../bindings/display/panel/sharp,lq123p1jx31.txt   |    7 +
 .../bindings/display/panel/starry,kr122ea0sra.txt  |    7 +
 .../display/rockchip/analogix_dp-rockchip.txt      |    9 +-
 .../display/tegra/nvidia,tegra20-host1x.txt        |   13 +-
 .../pinctrl/nvidia,tegra124-dpaux-padctl.txt       |   60 +
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 Documentation/dmaengine/provider.txt               |    2 +-
 Documentation/gpu/drm-internals.rst                |  381 +++
 Documentation/gpu/drm-kms-helpers.rst              |  260 ++
 Documentation/gpu/drm-kms.rst                      |  653 ++++
 Documentation/gpu/drm-mm.rst                       |  454 +++
 Documentation/gpu/drm-uapi.rst                     |  111 +
 Documentation/gpu/i915.rst                         |  347 ++
 Documentation/gpu/index.rst                        |   14 +
 Documentation/gpu/introduction.rst                 |   51 +
 Documentation/gpu/kms-properties.csv               |  128 +
 Documentation/gpu/vga-switcheroo.rst               |   98 +
 Documentation/index.rst                            |   24 +
 Documentation/kernel-parameters.txt                |    5 +-
 Documentation/mic/mpssd/mpssd.c                    |    4 +-
 Documentation/security/self-protection.txt         |   28 +-
 Documentation/sphinx/convert_template.sed          |   18 +
 Documentation/sphinx/kernel-doc.py                 |  127 +
 Documentation/sphinx/post_convert.sed              |   23 +
 Documentation/sphinx/tmplcvt                       |   19 +
 Documentation/sync_file.txt                        |    6 +-
 Documentation/zh_CN/CodingStyle                    |  581 ++--
 MAINTAINERS                                        |   42 +-
 Makefile                                           |    5 +-
 arch/arc/boot/dts/nsimosci.dts                     |   14 +-
 arch/arc/boot/dts/nsimosci_hs.dts                  |   14 +-
 arch/arc/boot/dts/nsimosci_hs_idu.dts              |   14 +-
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi               |   13 +-
 arch/arc/boot/dts/vdk_hs38_smp.dts                 |    2 +-
 arch/arc/configs/nsimosci_defconfig                |    3 +-
 arch/arc/configs/nsimosci_hs_defconfig             |    3 +-
 arch/arc/configs/nsimosci_hs_smp_defconfig         |    3 +-
 arch/arc/configs/vdk_hs38_smp_defconfig            |    7 +-
 arch/arm/mach-omap2/board-ldp.c                    |    3 +-
 arch/arm/mach-omap2/board-rx51-video.c             |    4 +-
 arch/arm/mach-omap2/display.c                      |    2 +-
 arch/arm/mach-omap2/display.h                      |    5 +
 arch/arm/mach-omap2/dss-common.c                   |    2 +-
 arch/x86/kernel/early-quirks.c                     |  404 ++-
 drivers/char/agp/intel-gtt.c                       |    8 +
 drivers/dma-buf/Kconfig                            |   15 +-
 drivers/dma-buf/Makefile                           |    2 +-
 drivers/dma-buf/dma-buf.c                          |   59 +-
 drivers/dma-buf/fence-array.c                      |  144 +
 drivers/dma-buf/fence.c                            |    8 +-
 drivers/dma-buf/sync_file.c                        |    2 +-
 drivers/gpu/drm/Makefile                           |    5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |  112 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c         |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c       |   25 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c   |   68 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c           |   14 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c        |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c            |   57 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c     |    7 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |   41 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |  287 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c        |   18 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |   31 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c          |   17 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c            |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c            |   44 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h            |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c             |   22 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c            |   12 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h            |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c            |   80 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |  264 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c             |  172 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c      |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c           |  230 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c             |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c           |   90 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h          |  115 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c            |   15 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c            |   98 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h            |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c            |  170 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h            |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |  334 +-
 drivers/gpu/drm/amd/amdgpu/atombios_encoders.c     |    1 +
 drivers/gpu/drm/amd/amdgpu/ci_dpm.c                |  216 +-
 drivers/gpu/drm/amd/amdgpu/ci_dpm.h                |    1 +
 drivers/gpu/drm/amd/amdgpu/cik.c                   |   25 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c              |   50 +-
 drivers/gpu/drm/amd/amdgpu/cz_dpm.c                |    3 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   16 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |   21 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |   83 +-
 drivers/gpu/drm/amd/amdgpu/fiji_smc.c              |    2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |  137 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |  468 ++-
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.h              |    1 -
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c              |   41 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c              |   46 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h              |    7 -
 drivers/gpu/drm/amd/amdgpu/iceland_dpm.c           |    2 +-
 drivers/gpu/drm/amd/amdgpu/iceland_smc.c           |    4 +-
 .../amdgpu/{iceland_smumgr.h => iceland_smum.h}    |    4 +-
 drivers/gpu/drm/amd/amdgpu/kv_dpm.c                |    8 +-
 drivers/gpu/drm/amd/amdgpu/ppsmc.h                 |    4 +
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c             |   77 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c             |   48 +-
 drivers/gpu/drm/amd/amdgpu/tonga_smc.c             |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c              |   77 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c              |   76 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c              |  182 +-
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c              |    2 +
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |  160 +-
 drivers/gpu/drm/amd/amdgpu/vi.c                    |   57 +-
 .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h  |    4 +-
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h              |    3 -
 drivers/gpu/drm/amd/amdkfd/kfd_process.c           |    4 +-
 drivers/gpu/drm/amd/include/amd_pcie.h             |   14 +
 drivers/gpu/drm/amd/include/amd_shared.h           |   11 +-
 .../gpu/drm/amd/include/asic_reg/bif/bif_5_0_d.h   |    1 +
 .../gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h   |    3 +
 .../drm/amd/include/asic_reg/gca/gfx_8_0_sh_mask.h |  108 +-
 .../gpu/drm/amd/include/asic_reg/uvd/uvd_6_0_d.h   |    2 +
 drivers/gpu/drm/amd/include/cgs_common.h           |   19 +-
 drivers/gpu/drm/amd/powerplay/amd_powerplay.c      |  153 +-
 .../drm/amd/powerplay/eventmgr/eventactionchains.c |    2 -
 .../gpu/drm/amd/powerplay/eventmgr/eventtasks.c    |    3 +-
 .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c  |   17 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c     |   23 +-
 .../amd/powerplay/hwmgr/fiji_clockpowergating.c    |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c   |  404 ++-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.h   |    3 -
 .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.c   |   74 +-
 .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.h   |   15 +
 .../gpu/drm/amd/powerplay/hwmgr/functiontables.c   |    9 +-
 .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c  |   26 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c        |   10 +-
 .../powerplay/hwmgr/polaris10_clockpowergating.c   |   20 +-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c  |  464 ++-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h  |    6 +-
 .../drm/amd/powerplay/hwmgr/polaris10_powertune.c  |  590 ++++
 .../drm/amd/powerplay/hwmgr/polaris10_powertune.h  |   26 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/pp_acpi.c      |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c   |  303 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h   |    1 +
 drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h    |  165 +-
 .../gpu/drm/amd/powerplay/hwmgr/processpptables.c  |   33 +-
 .../gpu/drm/amd/powerplay/hwmgr/processpptables.h  |   17 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c  |  272 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h  |    3 -
 .../amd/powerplay/hwmgr/tonga_processpptables.c    |   27 +-
 drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h  |    7 +
 .../gpu/drm/amd/powerplay/inc/hardwaremanager.h    |    1 +
 drivers/gpu/drm/amd/powerplay/inc/hwmgr.h          |   10 +-
 drivers/gpu/drm/amd/powerplay/inc/smumgr.h         |   29 +
 drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c      |    5 +-
 .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c    |    3 +-
 drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h    |    4 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c      |  190 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.h      |   60 +-
 drivers/gpu/drm/amd/scheduler/sched_fence.c        |   81 +-
 drivers/gpu/drm/arc/Kconfig                        |    1 -
 drivers/gpu/drm/arc/Makefile                       |    2 +-
 drivers/gpu/drm/arc/arcpgu.h                       |    2 +-
 drivers/gpu/drm/arc/arcpgu_crtc.c                  |   16 +-
 drivers/gpu/drm/arc/arcpgu_drv.c                   |   64 +-
 drivers/gpu/drm/arc/arcpgu_hdmi.c                  |   18 -
 drivers/gpu/drm/arc/arcpgu_sim.c                   |  128 +
 drivers/gpu/drm/arm/Kconfig                        |   17 +-
 drivers/gpu/drm/arm/Makefile                       |    2 +
 drivers/gpu/drm/arm/hdlcd_crtc.c                   |   19 -
 drivers/gpu/drm/arm/hdlcd_drv.c                    |   13 +-
 drivers/gpu/drm/arm/malidp_crtc.c                  |  216 ++
 drivers/gpu/drm/arm/malidp_drv.c                   |  519 +++
 drivers/gpu/drm/arm/malidp_drv.h                   |   54 +
 drivers/gpu/drm/arm/malidp_hw.c                    |  691 ++++
 drivers/gpu/drm/arm/malidp_hw.h                    |  241 ++
 drivers/gpu/drm/arm/malidp_planes.c                |  298 ++
 drivers/gpu/drm/arm/malidp_regs.h                  |  172 +
 drivers/gpu/drm/armada/Kconfig                     |    4 -
 drivers/gpu/drm/armada/armada_crtc.c               |   16 +-
 drivers/gpu/drm/armada/armada_drv.c                |    3 +-
 drivers/gpu/drm/armada/armada_overlay.c            |    1 +
 drivers/gpu/drm/ast/Kconfig                        |    4 -
 drivers/gpu/drm/ast/ast_drv.c                      |    2 +-
 drivers/gpu/drm/ast/ast_fb.c                       |    3 -
 drivers/gpu/drm/ast/ast_main.c                     |    3 +-
 drivers/gpu/drm/ast/ast_mode.c                     |   10 +-
 drivers/gpu/drm/ast/ast_ttm.c                      |   13 +-
 drivers/gpu/drm/atmel-hlcdc/Kconfig                |    1 -
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c     |    6 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c       |   19 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c   |   12 -
 drivers/gpu/drm/bochs/Kconfig                      |    4 -
 drivers/gpu/drm/bochs/bochs_drv.c                  |    2 +-
 drivers/gpu/drm/bochs/bochs_mm.c                   |   15 +-
 drivers/gpu/drm/bridge/Kconfig                     |   19 +
 drivers/gpu/drm/bridge/Makefile                    |    3 +
 drivers/gpu/drm/bridge/adv7511/Kconfig             |   15 +
 drivers/gpu/drm/bridge/adv7511/Makefile            |    3 +
 drivers/gpu/drm/{i2c => bridge/adv7511}/adv7511.h  |  103 +
 .../adv7511.c => bridge/adv7511/adv7511_drv.c}     |  324 +-
 drivers/gpu/drm/bridge/adv7511/adv7533.c           |  265 ++
 drivers/gpu/drm/bridge/analogix-anx78xx.c          |    8 -
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c |    3 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.h |    8 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c  |   12 +-
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h  |    5 +-
 drivers/gpu/drm/bridge/dw-hdmi.c                   |   30 +-
 drivers/gpu/drm/bridge/nxp-ptn3460.c               |    8 -
 drivers/gpu/drm/bridge/parade-ps8622.c             |   14 +-
 drivers/gpu/drm/bridge/sii902x.c                   |  467 +++
 drivers/gpu/drm/bridge/tc358767.c                  | 1413 ++++++++
 drivers/gpu/drm/cirrus/Kconfig                     |    4 -
 drivers/gpu/drm/cirrus/cirrus_drv.c                |    2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c               |    4 +-
 drivers/gpu/drm/cirrus/cirrus_mode.c               |   11 +-
 drivers/gpu/drm/cirrus/cirrus_ttm.c                |   13 +-
 drivers/gpu/drm/drm_atomic.c                       |  105 +-
 drivers/gpu/drm/drm_atomic_helper.c                |  566 +++-
 drivers/gpu/drm/drm_auth.c                         |  285 +-
 drivers/gpu/drm/drm_bridge.c                       |    2 +-
 drivers/gpu/drm/drm_bufs.c                         |    8 +-
 drivers/gpu/drm/drm_cache.c                        |    1 +
 drivers/gpu/drm/drm_crtc.c                         |  717 ++--
 drivers/gpu/drm/drm_crtc_helper.c                  |   36 +-
 drivers/gpu/drm/drm_crtc_internal.h                |   88 +-
 drivers/gpu/drm/drm_debugfs.c                      |    3 -
 drivers/gpu/drm/drm_dp_aux_dev.c                   |    3 +-
 drivers/gpu/drm/drm_dp_helper.c                    |   58 +-
 drivers/gpu/drm/drm_dp_mst_topology.c              |   14 +-
 drivers/gpu/drm/drm_drv.c                          |  245 +-
 drivers/gpu/drm/drm_edid_load.c                    |    2 +-
 drivers/gpu/drm/drm_fb_cma_helper.c                |   43 +-
 drivers/gpu/drm/drm_fb_helper.c                    |   56 +-
 drivers/gpu/drm/drm_fops.c                         |  149 +-
 drivers/gpu/drm/drm_fourcc.c                       |  320 ++
 drivers/gpu/drm/drm_gem.c                          |    2 +-
 drivers/gpu/drm/drm_info.c                         |  117 +-
 drivers/gpu/drm/drm_internal.h                     |   21 +-
 drivers/gpu/drm/drm_ioctl.c                        |  176 +-
 drivers/gpu/drm/drm_irq.c                          |  243 +-
 drivers/gpu/drm/drm_legacy.h                       |    8 +-
 drivers/gpu/drm/drm_lock.c                         |  240 +-
 drivers/gpu/drm/drm_memory.c                       |    2 +-
 drivers/gpu/drm/drm_mipi_dsi.c                     |   38 +
 drivers/gpu/drm/drm_mm.c                           |    4 +-
 drivers/gpu/drm/drm_modes.c                        |    4 +-
 drivers/gpu/drm/drm_modeset_lock.c                 |   13 +-
 drivers/gpu/drm/drm_pci.c                          |   51 -
 drivers/gpu/drm/drm_plane_helper.c                 |   38 +-
 drivers/gpu/drm/drm_platform.c                     |   18 -
 drivers/gpu/drm/drm_prime.c                        |   10 +-
 drivers/gpu/drm/drm_probe_helper.c                 |   21 +-
 drivers/gpu/drm/drm_scatter.c                      |    2 +-
 drivers/gpu/drm/drm_simple_kms_helper.c            |  206 ++
 drivers/gpu/drm/drm_sysfs.c                        |   71 -
 drivers/gpu/drm/drm_vm.c                           |   58 +-
 drivers/gpu/drm/drm_vma_manager.c                  |    3 +
 drivers/gpu/drm/etnaviv/etnaviv_drv.c              |    5 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c              |   16 +-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c              |   54 +-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h              |    2 +-
 drivers/gpu/drm/etnaviv/state_hi.xml.h             |    7 +
 drivers/gpu/drm/exynos/Kconfig                     |    6 +-
 drivers/gpu/drm/exynos/exynos_dp.c                 |    4 +-
 drivers/gpu/drm/exynos/exynos_drm_dpi.c            |    9 -
 drivers/gpu/drm/exynos/exynos_drm_drv.c            |   18 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h            |    2 -
 drivers/gpu/drm/exynos/exynos_drm_dsi.c            |    9 -
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c          |    3 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.c          |   77 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.h          |   91 +
 drivers/gpu/drm/exynos/exynos_drm_vidi.c           |    8 -
 drivers/gpu/drm/exynos/exynos_hdmi.c               |   10 +-
 drivers/gpu/drm/fsl-dcu/Kconfig                    |    5 -
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c         |   44 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c          |   49 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h          |    2 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_kms.c          |   15 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_output.h       |    3 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c        |   16 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.h        |    1 +
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c          |   87 +-
 drivers/gpu/drm/fsl-dcu/fsl_tcon.c                 |    1 +
 drivers/gpu/drm/gma500/Kconfig                     |    4 -
 drivers/gpu/drm/gma500/cdv_intel_hdmi.c            |    3 +-
 drivers/gpu/drm/gma500/cdv_intel_lvds.c            |    9 +-
 drivers/gpu/drm/gma500/framebuffer.c               |    9 -
 drivers/gpu/drm/gma500/gma_display.c               |   11 +-
 drivers/gpu/drm/gma500/gma_display.h               |    4 +-
 drivers/gpu/drm/gma500/psb_drv.c                   |    6 +-
 drivers/gpu/drm/gma500/psb_intel_display.c         |    7 -
 drivers/gpu/drm/gma500/psb_intel_lvds.c            |    9 +-
 drivers/gpu/drm/hisilicon/kirin/Kconfig            |    1 +
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c    |   34 +-
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c    |   11 +-
 drivers/gpu/drm/i2c/Kconfig                        |    6 -
 drivers/gpu/drm/i2c/Makefile                       |    2 -
 drivers/gpu/drm/i2c/ch7006_drv.c                   |    9 +-
 drivers/gpu/drm/i915/Kconfig                       |   22 +
 drivers/gpu/drm/i915/Kconfig.debug                 |    3 +
 drivers/gpu/drm/i915/Makefile                      |   12 +-
 drivers/gpu/drm/i915/gvt/Makefile                  |    5 +
 drivers/gpu/drm/i915/gvt/debug.h                   |   34 +
 drivers/gpu/drm/i915/gvt/gvt.c                     |  145 +
 drivers/gpu/drm/i915/gvt/gvt.h                     |   69 +
 drivers/gpu/drm/i915/gvt/hypercall.h               |   38 +
 drivers/gpu/drm/i915/gvt/mpt.h                     |   49 +
 drivers/gpu/drm/i915/i915_cmd_parser.c             |   53 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |  569 ++--
 drivers/gpu/drm/i915/i915_dma.c                    | 1587 ---------
 drivers/gpu/drm/i915/i915_drv.c                    | 2120 ++++++++----
 drivers/gpu/drm/i915/i915_drv.h                    |  786 +++--
 drivers/gpu/drm/i915/i915_gem.c                    | 1262 ++++---
 drivers/gpu/drm/i915/i915_gem_batch_pool.c         |    6 +-
 drivers/gpu/drm/i915/i915_gem_context.c            |  515 +--
 drivers/gpu/drm/i915/i915_gem_dmabuf.h             |   45 +
 drivers/gpu/drm/i915/i915_gem_evict.c              |   55 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |   44 +-
 drivers/gpu/drm/i915/i915_gem_fence.c              |   38 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c                |  390 ++-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |   84 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c       |   45 +-
 drivers/gpu/drm/i915/i915_gem_shrinker.c           |   58 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |   10 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c             |    8 +-
 drivers/gpu/drm/i915/i915_gem_userptr.c            |   12 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |  203 +-
 drivers/gpu/drm/i915/i915_guc_reg.h                |    6 +-
 drivers/gpu/drm/i915/i915_guc_submission.c         |  538 +--
 drivers/gpu/drm/i915/i915_irq.c                    |  807 ++---
 drivers/gpu/drm/i915/i915_params.c                 |   23 +-
 drivers/gpu/drm/i915/i915_params.h                 |    5 +-
 drivers/gpu/drm/i915/i915_pci.c                    |  503 +++
 drivers/gpu/drm/i915/i915_pvinfo.h                 |  113 +
 drivers/gpu/drm/i915/i915_reg.h                    |   65 +-
 drivers/gpu/drm/i915/i915_suspend.c                |    8 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |   40 +-
 drivers/gpu/drm/i915/i915_trace.h                  |   54 +-
 drivers/gpu/drm/i915/i915_vgpu.c                   |   44 +-
 drivers/gpu/drm/i915/i915_vgpu.h                   |   92 +-
 drivers/gpu/drm/i915/intel_atomic.c                |    5 +-
 drivers/gpu/drm/i915/intel_audio.c                 |   50 +-
 drivers/gpu/drm/i915/intel_bios.c                  |   23 +-
 drivers/gpu/drm/i915/intel_bios.h                  |   16 +-
 drivers/gpu/drm/i915/intel_breadcrumbs.c           |  595 ++++
 drivers/gpu/drm/i915/intel_color.c                 |   23 +-
 drivers/gpu/drm/i915/intel_crt.c                   |   78 +-
 drivers/gpu/drm/i915/intel_csr.c                   |   25 +-
 drivers/gpu/drm/i915/intel_ddi.c                   |  274 +-
 drivers/gpu/drm/i915/intel_device_info.c           |  388 +++
 drivers/gpu/drm/i915/intel_display.c               | 2673 ++++++++-------
 drivers/gpu/drm/i915/intel_dp.c                    | 1087 +++---
 drivers/gpu/drm/i915/intel_dp_aux_backlight.c      |  172 +
 drivers/gpu/drm/i915/intel_dp_mst.c                |   25 +-
 drivers/gpu/drm/i915/intel_dpio_phy.c              |  470 +++
 drivers/gpu/drm/i915/intel_dpll_mgr.c              |   63 +-
 drivers/gpu/drm/i915/intel_drv.h                   |  353 +-
 drivers/gpu/drm/i915/intel_dsi.c                   |  135 +-
 drivers/gpu/drm/i915/intel_dsi.h                   |    4 +
 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c     |  179 +
 drivers/gpu/drm/i915/intel_dsi_panel_vbt.c         |   90 +-
 drivers/gpu/drm/i915/intel_dsi_pll.c               |   42 +-
 drivers/gpu/drm/i915/intel_dvo.c                   |   41 +-
 drivers/gpu/drm/i915/intel_fbc.c                   |  116 +-
 drivers/gpu/drm/i915/intel_fbdev.c                 |  122 +-
 drivers/gpu/drm/i915/intel_fifo_underrun.c         |   30 +-
 drivers/gpu/drm/i915/intel_guc.h                   |   50 +-
 drivers/gpu/drm/i915/intel_guc_fwif.h              |    3 +-
 drivers/gpu/drm/i915/intel_guc_loader.c            |  222 +-
 drivers/gpu/drm/i915/intel_gvt.c                   |  104 +
 drivers/gpu/drm/i915/intel_gvt.h                   |   45 +
 drivers/gpu/drm/i915/intel_hdmi.c                  |  429 +--
 drivers/gpu/drm/i915/intel_hotplug.c               |  134 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |   22 +-
 drivers/gpu/drm/i915/intel_lrc.c                   |  964 +++---
 drivers/gpu/drm/i915/intel_lrc.h                   |   24 +-
 drivers/gpu/drm/i915/intel_lvds.c                  |   58 +-
 drivers/gpu/drm/i915/intel_mocs.c                  |  100 +-
 drivers/gpu/drm/i915/intel_modes.c                 |    4 +-
 drivers/gpu/drm/i915/intel_opregion.c              |  210 +-
 drivers/gpu/drm/i915/intel_overlay.c               |  151 +-
 drivers/gpu/drm/i915/intel_panel.c                 |   48 +-
 drivers/gpu/drm/i915/intel_pm.c                    | 1466 ++++----
 drivers/gpu/drm/i915/intel_psr.c                   |  118 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c            | 1323 ++++----
 drivers/gpu/drm/i915/intel_ringbuffer.h            |  176 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c            |  282 +-
 drivers/gpu/drm/i915/intel_sdvo.c                  |   87 +-
 drivers/gpu/drm/i915/intel_sideband.c              |   32 +-
 drivers/gpu/drm/i915/intel_sprite.c                |   75 +-
 drivers/gpu/drm/i915/intel_tv.c                    |   19 +-
 drivers/gpu/drm/i915/intel_uncore.c                |  328 +-
 drivers/gpu/drm/i915/intel_vbt_defs.h              |    6 +
 drivers/gpu/drm/imx/Kconfig                        |    1 -
 drivers/gpu/drm/imx/dw_hdmi-imx.c                  |   32 +-
 drivers/gpu/drm/imx/imx-drm-core.c                 |  121 +-
 drivers/gpu/drm/imx/imx-drm.h                      |   21 +-
 drivers/gpu/drm/imx/imx-ldb.c                      |  189 +-
 drivers/gpu/drm/imx/imx-tve.c                      |   97 +-
 drivers/gpu/drm/imx/ipuv3-crtc.c                   |  400 +--
 drivers/gpu/drm/imx/ipuv3-plane.c                  |  548 ++-
 drivers/gpu/drm/imx/ipuv3-plane.h                  |   16 -
 drivers/gpu/drm/imx/parallel-display.c             |  149 +-
 drivers/gpu/drm/mediatek/Kconfig                   |    9 +-
 drivers/gpu/drm/mediatek/Makefile                  |    7 +
 drivers/gpu/drm/mediatek/mtk_cec.c                 |  265 ++
 drivers/gpu/drm/mediatek/mtk_cec.h                 |   26 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             |   13 +-
 drivers/gpu/drm/mediatek/mtk_drm_plane.c           |    1 +
 drivers/gpu/drm/mediatek/mtk_dsi.c                 |    9 -
 drivers/gpu/drm/mediatek/mtk_hdmi.c                | 1828 ++++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi.h                |   23 +
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c            |  358 ++
 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h           |  238 ++
 drivers/gpu/drm/mediatek/mtk_mipi_tx.c             |    2 +-
 drivers/gpu/drm/mediatek/mtk_mt8173_hdmi_phy.c     |  515 +++
 drivers/gpu/drm/mgag200/Kconfig                    |    4 -
 drivers/gpu/drm/mgag200/mgag200_drv.c              |    2 +-
 drivers/gpu/drm/mgag200/mgag200_main.c             |    4 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c             |    9 +-
 drivers/gpu/drm/mgag200/mgag200_ttm.c              |   13 +-
 drivers/gpu/drm/msm/Kconfig                        |    1 +
 drivers/gpu/drm/msm/Makefile                       |    2 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c            |   17 +-
 drivers/gpu/drm/msm/dsi/dsi.c                      |    2 +-
 drivers/gpu/drm/msm/dsi/dsi_cfg.c                  |    8 +
 drivers/gpu/drm/msm/dsi/dsi_cfg.h                  |    2 +
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |   69 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c              |   32 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.h              |    2 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c         |    4 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c         |    4 +
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c    |    2 +
 drivers/gpu/drm/msm/edp/edp_connector.c            |   10 -
 drivers/gpu/drm/msm/hdmi/hdmi.c                    |  117 +-
 drivers/gpu/drm/msm/hdmi/hdmi.h                    |   14 +
 drivers/gpu/drm/msm/hdmi/hdmi_connector.c          |    8 -
 drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c               |    2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c    |   31 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c            |   44 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h            |    2 +
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c |    9 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h            |  203 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c            |  113 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c    |   14 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c           |   16 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c            |   26 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c        |   10 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c            |  125 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c            |  339 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h            |   16 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c           |  235 ++
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c            |   22 +-
 drivers/gpu/drm/msm/msm_atomic.c                   |   39 +-
 drivers/gpu/drm/msm/msm_drv.c                      |  270 +-
 drivers/gpu/drm/msm/msm_drv.h                      |   24 +-
 drivers/gpu/drm/msm/msm_fb.c                       |   12 +-
 drivers/gpu/drm/msm/msm_fbdev.c                    |   17 +-
 drivers/gpu/drm/msm/msm_gem.c                      |  139 +-
 drivers/gpu/drm/msm/msm_gem.h                      |   23 +-
 drivers/gpu/drm/msm/msm_gem_prime.c                |    4 +-
 drivers/gpu/drm/msm/msm_gem_shrinker.c             |  168 +
 drivers/gpu/drm/msm/msm_gem_submit.c               |   26 +-
 drivers/gpu/drm/msm/msm_iommu.c                    |    6 +-
 drivers/gpu/drm/msm/msm_kms.h                      |    8 +-
 drivers/gpu/drm/msm/msm_perf.c                     |    7 +-
 drivers/gpu/drm/msm/msm_rd.c                       |   71 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c               |    6 +-
 drivers/gpu/drm/nouveau/Kconfig                    |    6 -
 drivers/gpu/drm/nouveau/dispnv04/crtc.c            |   12 +-
 drivers/gpu/drm/nouveau/dispnv04/disp.c            |   10 -
 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c          |    9 +-
 drivers/gpu/drm/nouveau/include/nvif/cl0080.h      |    1 +
 drivers/gpu/drm/nouveau/include/nvif/class.h       |   10 +
 drivers/gpu/drm/nouveau/include/nvkm/core/device.h |   18 +-
 drivers/gpu/drm/nouveau/include/nvkm/core/tegra.h  |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h   |    2 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h |    2 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h   |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h |   10 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h   |    4 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h  |    1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h   |   14 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/pci.h  |    1 +
 .../gpu/drm/nouveau/include/nvkm/subdev/secboot.h  |    3 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h  |    9 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h |    3 +
 drivers/gpu/drm/nouveau/nouveau_abi16.c            |    1 +
 drivers/gpu/drm/nouveau/nouveau_acpi.c             |  105 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |   75 +-
 drivers/gpu/drm/nouveau/nouveau_chan.c             |    3 +-
 drivers/gpu/drm/nouveau/nouveau_display.c          |   27 +-
 drivers/gpu/drm/nouveau/nouveau_display.h          |    3 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |   36 +-
 drivers/gpu/drm/nouveau/nouveau_fence.h            |    3 +-
 drivers/gpu/drm/nouveau/nouveau_hwmon.c            |   36 +
 drivers/gpu/drm/nouveau/nouveau_ttm.c              |    1 +
 drivers/gpu/drm/nouveau/nouveau_usif.c             |    1 -
 drivers/gpu/drm/nouveau/nv04_fbcon.c               |    4 +-
 drivers/gpu/drm/nouveau/nv50_display.c             |   11 +-
 drivers/gpu/drm/nouveau/nv50_fbcon.c               |    2 +-
 drivers/gpu/drm/nouveau/nvc0_fbcon.c               |    2 +-
 drivers/gpu/drm/nouveau/nvkm/core/subdev.c         |    6 +-
 drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild      |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.c     |  102 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp104.c     |   44 +
 drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h      |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c  |   72 +
 drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c   |    1 -
 drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c |   12 +-
 drivers/gpu/drm/nouveau/nvkm/engine/device/user.c  |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild    |    9 +
 .../gpu/drm/nouveau/nvkm/engine/disp/basegp104.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/channv50.h    |    1 +
 .../gpu/drm/nouveau/nvkm/engine/disp/coregf119.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/coregp100.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/coregp104.c   |   78 +
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacgf119.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacgp104.c   |   66 +
 .../gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h    |   10 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c   |    9 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c   |   55 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp104.c   |   81 +
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c    |  136 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h    |    2 +
 .../gpu/drm/nouveau/nvkm/engine/disp/ovlygk104.c   |    2 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/ovlygp104.c   |   38 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c   |   58 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c   |   58 +
 .../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h    |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild    |    2 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/changk104.h   |    1 +
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c   |    9 +-
 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c   |   67 +
 .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c |   34 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild      |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h  |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c  |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c  |  179 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c     |   18 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h     |    2 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c     |    1 -
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c     |    2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c     |  171 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/nv30.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/nv34.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c    |   59 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c      |    8 +
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.c   |    7 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c     |   20 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.c     |   20 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.c  |    6 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.c    |   28 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.c    |    8 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.c    |  394 +--
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.h    |   96 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.c    |  896 ++++-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild      |    3 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c      |    6 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.c     |   19 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.h     |    2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c     |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c     |   19 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c     |   69 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp104.c     |   43 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h      |    5 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h       |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c  |  146 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c    |    3 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c    |   12 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.c    |   75 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h     |    3 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild      |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c      |  118 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/g84.c       |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/g98.c       |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gf100.c     |   11 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk104.c     |    2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.c     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c     |  103 +
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gt215.c     |    9 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.c      |    4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv11.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv17.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.c      |    2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h      |   12 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/Kbuild     |    1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c     |   14 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.c    |   44 +
 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/base.c |   28 +-
 .../gpu/drm/nouveau/nvkm/subdev/secboot/gm200.c    |   88 +-
 .../gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c    |   54 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h |   18 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c     |   28 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c    |   39 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c    |   14 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c   |   27 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.h   |   11 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gm20b.c   |   40 +-
 drivers/gpu/drm/omapdrm/Kconfig                    |    5 -
 drivers/gpu/drm/omapdrm/displays/Kconfig           |   28 +-
 drivers/gpu/drm/omapdrm/displays/Makefile          |   28 +-
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c |   11 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   |    5 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  |    4 +-
 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c  |    3 +-
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c  |    3 +-
 .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c   |    3 +-
 drivers/gpu/drm/omapdrm/displays/panel-dpi.c       |   26 +-
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c    |    7 +-
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    |   22 +-
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    |    2 +-
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |    4 +-
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    |    3 +-
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    |    3 +-
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    |    2 +-
 drivers/gpu/drm/omapdrm/dss/core.c                 |    5 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                |  471 ++-
 drivers/gpu/drm/omapdrm/dss/dispc.h                |    5 +
 drivers/gpu/drm/omapdrm/dss/dispc_coefs.c          |    2 +-
 drivers/gpu/drm/omapdrm/dss/display.c              |    2 +-
 drivers/gpu/drm/omapdrm/dss/dpi.c                  |  136 +-
 drivers/gpu/drm/omapdrm/dss/dsi.c                  |   57 +-
 drivers/gpu/drm/omapdrm/dss/dss-of.c               |   10 +-
 drivers/gpu/drm/omapdrm/dss/dss.c                  |  255 +-
 drivers/gpu/drm/omapdrm/dss/dss.h                  |   45 +-
 drivers/gpu/drm/omapdrm/dss/dss_features.c         |   46 +-
 drivers/gpu/drm/omapdrm/dss/dss_features.h         |    1 -
 drivers/gpu/drm/omapdrm/dss/hdmi.h                 |    6 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                |   11 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                |   11 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_common.c          |    2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_phy.c             |    2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_pll.c             |   78 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              |    2 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h              |  871 ++++-
 drivers/gpu/drm/omapdrm/dss/output.c               |    3 +-
 drivers/gpu/drm/omapdrm/dss/pll.c                  |  129 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                 |    2 +-
 drivers/gpu/drm/omapdrm/dss/sdi.c                  |    2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                 |    3 +-
 drivers/gpu/drm/omapdrm/dss/video-pll.c            |    9 +-
 drivers/gpu/drm/omapdrm/omap_connector.c           |   10 -
 drivers/gpu/drm/omapdrm/omap_crtc.c                |   56 +
 drivers/gpu/drm/omapdrm/omap_drv.c                 |   16 +-
 drivers/gpu/drm/omapdrm/omap_drv.h                 |   14 -
 drivers/gpu/drm/omapdrm/omap_fb.c                  |   20 +-
 drivers/gpu/drm/omapdrm/omap_fbdev.c               |    8 +-
 drivers/gpu/drm/omapdrm/omap_gem.c                 |   15 +-
 drivers/gpu/drm/panel/panel-simple.c               |  166 +-
 drivers/gpu/drm/qxl/Kconfig                        |    5 -
 drivers/gpu/drm/qxl/qxl_cmd.c                      |    2 +-
 drivers/gpu/drm/qxl/qxl_display.c                  |   11 +-
 drivers/gpu/drm/qxl/qxl_draw.c                     |    5 +-
 drivers/gpu/drm/qxl/qxl_drv.c                      |    2 +-
 drivers/gpu/drm/qxl/qxl_drv.h                      |    1 -
 drivers/gpu/drm/qxl/qxl_fb.c                       |    4 -
 drivers/gpu/drm/qxl/qxl_kms.c                      |   10 +-
 drivers/gpu/drm/qxl/qxl_release.c                  |    2 +-
 drivers/gpu/drm/qxl/qxl_ttm.c                      |   10 +-
 drivers/gpu/drm/radeon/atombios_crtc.c             |    4 +-
 drivers/gpu/drm/radeon/atombios_encoders.c         |    1 +
 drivers/gpu/drm/radeon/ci_dpm.c                    |    5 +-
 drivers/gpu/drm/radeon/cik.c                       |   17 +-
 drivers/gpu/drm/radeon/evergreen_cs.c              |    7 +
 drivers/gpu/drm/radeon/evergreend.h                |    1 +
 drivers/gpu/drm/radeon/radeon.h                    |    2 +-
 drivers/gpu/drm/radeon/radeon_acpi.c               |    7 -
 drivers/gpu/drm/radeon/radeon_atombios.c           |    4 +-
 drivers/gpu/drm/radeon/radeon_atpx_handler.c       |   67 +-
 drivers/gpu/drm/radeon/radeon_connectors.c         |   15 +-
 drivers/gpu/drm/radeon/radeon_device.c             |    4 +
 drivers/gpu/drm/radeon/radeon_display.c            |   24 +-
 drivers/gpu/drm/radeon/radeon_drv.c                |   26 +-
 drivers/gpu/drm/radeon/radeon_kms.c                |    5 +-
 drivers/gpu/drm/radeon/radeon_legacy_crtc.c        |    4 +-
 drivers/gpu/drm/radeon/radeon_pm.c                 |   13 +-
 drivers/gpu/drm/radeon/radeon_ttm.c                |   10 +-
 drivers/gpu/drm/radeon/si.c                        |   45 +-
 drivers/gpu/drm/rcar-du/Kconfig                    |    1 -
 drivers/gpu/drm/rcar-du/Makefile                   |    4 +-
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c             |    2 +-
 drivers/gpu/drm/rcar-du/rcar_du_drv.c              |   17 +-
 drivers/gpu/drm/rcar-du/rcar_du_encoder.c          |   15 +-
 drivers/gpu/drm/rcar-du/rcar_du_encoder.h          |   10 +-
 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c          |  117 -
 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.h          |   31 -
 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c          |   68 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c              |   10 +-
 drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c          |    1 -
 drivers/gpu/drm/rcar-du/rcar_du_plane.c            |   20 +-
 drivers/gpu/drm/rcar-du/rcar_du_regs.h             |    5 +-
 drivers/gpu/drm/rcar-du/rcar_du_vgacon.c           |    3 -
 drivers/gpu/drm/rockchip/Kconfig                   |    5 +-
 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c    |  189 +-
 drivers/gpu/drm/rockchip/dw-mipi-dsi.c             |    9 -
 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c        |    1 -
 drivers/gpu/drm/rockchip/inno_hdmi.c               |    9 -
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c        |  210 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h        |   12 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c         |   81 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c      |    5 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c        |    2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c        |   90 +-
 drivers/gpu/drm/rockchip/rockchip_vop_reg.c        |    7 +-
 drivers/gpu/drm/shmobile/Kconfig                   |    1 -
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c          |    4 +-
 drivers/gpu/drm/shmobile/shmob_drm_drv.c           |    3 +-
 drivers/gpu/drm/sis/sis_mm.c                       |    2 +-
 drivers/gpu/drm/sti/Kconfig                        |    1 +
 drivers/gpu/drm/sti/sti_awg_utils.c                |    4 +-
 drivers/gpu/drm/sti/sti_compositor.c               |   26 +-
 drivers/gpu/drm/sti/sti_compositor.h               |    3 +
 drivers/gpu/drm/sti/sti_crtc.c                     |   71 +-
 drivers/gpu/drm/sti/sti_cursor.c                   |   39 +-
 drivers/gpu/drm/sti/sti_drv.c                      |  148 +-
 drivers/gpu/drm/sti/sti_drv.h                      |    1 +
 drivers/gpu/drm/sti/sti_dvo.c                      |   43 +-
 drivers/gpu/drm/sti/sti_gdp.c                      |   46 +-
 drivers/gpu/drm/sti/sti_hda.c                      |   43 +-
 drivers/gpu/drm/sti/sti_hdmi.c                     |  350 +-
 drivers/gpu/drm/sti/sti_hdmi.h                     |   13 +
 drivers/gpu/drm/sti/sti_hqvdp.c                    |   40 +-
 drivers/gpu/drm/sti/sti_mixer.c                    |   12 +-
 drivers/gpu/drm/sti/sti_mixer.h                    |    2 +
 drivers/gpu/drm/sti/sti_plane.c                    |   40 +-
 drivers/gpu/drm/sti/sti_plane.h                    |    9 +-
 drivers/gpu/drm/sti/sti_tvout.c                    |   43 +-
 drivers/gpu/drm/sti/sti_vid.c                      |   12 +-
 drivers/gpu/drm/sti/sti_vid.h                      |    2 +
 drivers/gpu/drm/sti/sti_vtg.c                      |    3 +-
 drivers/gpu/drm/sun4i/sun4i_crtc.c                 |   12 +
 drivers/gpu/drm/sun4i/sun4i_drv.c                  |   13 +-
 drivers/gpu/drm/sun4i/sun4i_framebuffer.c          |    3 +-
 drivers/gpu/drm/sun4i/sun4i_rgb.c                  |   10 -
 drivers/gpu/drm/sun4i/sun4i_tv.c                   |    9 -
 drivers/gpu/drm/tegra/dc.c                         |  176 +-
 drivers/gpu/drm/tegra/dpaux.c                      |  245 +-
 drivers/gpu/drm/tegra/drm.c                        |    4 +-
 drivers/gpu/drm/tegra/drm.h                        |    2 -
 drivers/gpu/drm/tegra/dsi.c                        |  248 +-
 drivers/gpu/drm/tegra/fb.c                         |    2 +-
 drivers/gpu/drm/tegra/hdmi.c                       |  508 ++-
 drivers/gpu/drm/tegra/hdmi.h                       |   21 +-
 drivers/gpu/drm/tegra/output.c                     |    9 +-
 drivers/gpu/drm/tegra/rgb.c                        |    1 -
 drivers/gpu/drm/tegra/sor.c                        |  717 ++--
 drivers/gpu/drm/tegra/sor.h                        |    3 +
 drivers/gpu/drm/tilcdc/Kconfig                     |    1 -
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c               |    2 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c                |    3 +-
 drivers/gpu/drm/ttm/ttm_bo.c                       |  165 +-
 drivers/gpu/drm/ttm/ttm_bo_util.c                  |  111 +-
 drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   19 +-
 drivers/gpu/drm/ttm/ttm_tt.c                       |    6 +-
 drivers/gpu/drm/udl/Kconfig                        |    5 -
 drivers/gpu/drm/udl/udl_drv.c                      |    1 -
 drivers/gpu/drm/udl/udl_modeset.c                  |    2 +-
 drivers/gpu/drm/vc4/vc4_bo.c                       |    2 -
 drivers/gpu/drm/vc4/vc4_crtc.c                     |  183 +-
 drivers/gpu/drm/vc4/vc4_dpi.c                      |   23 +-
 drivers/gpu/drm/vc4/vc4_drv.c                      |   70 +-
 drivers/gpu/drm/vc4/vc4_drv.h                      |   12 +-
 drivers/gpu/drm/vc4/vc4_gem.c                      |   11 +-
 drivers/gpu/drm/vc4/vc4_hdmi.c                     |   22 +-
 drivers/gpu/drm/vc4/vc4_kms.c                      |   15 +-
 drivers/gpu/drm/vc4/vc4_plane.c                    |   13 +-
 drivers/gpu/drm/vc4/vc4_qpu_defines.h              |   17 +-
 drivers/gpu/drm/vc4/vc4_regs.h                     |   22 +-
 drivers/gpu/drm/vc4/vc4_validate.c                 |   13 +-
 drivers/gpu/drm/vc4/vc4_validate_shaders.c         |  449 ++-
 drivers/gpu/drm/vgem/Makefile                      |    2 +-
 drivers/gpu/drm/vgem/vgem_drv.c                    |  291 +-
 drivers/gpu/drm/vgem/vgem_drv.h                    |   20 +-
 drivers/gpu/drm/vgem/vgem_fence.c                  |  283 ++
 drivers/gpu/drm/via/via_mm.c                       |    2 +-
 drivers/gpu/drm/virtio/Kconfig                     |    4 -
 drivers/gpu/drm/virtio/virtgpu_display.c           |  187 +-
 drivers/gpu/drm/virtio/virtgpu_drm_bus.c           |   10 -
 drivers/gpu/drm/virtio/virtgpu_drv.c               |    3 +-
 drivers/gpu/drm/virtio/virtgpu_drv.h               |    3 +-
 drivers/gpu/drm/virtio/virtgpu_plane.c             |  150 +-
 drivers/gpu/drm/virtio/virtgpu_ttm.c               |    6 +
 drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c             |    7 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                |    8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                |    1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |    4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c              |    2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                |    8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h                |    4 +-
 drivers/gpu/host1x/cdma.c                          |   42 +-
 drivers/gpu/host1x/channel.c                       |    5 +-
 drivers/gpu/host1x/debug.c                         |   38 +-
 drivers/gpu/host1x/dev.c                           |   16 +-
 drivers/gpu/host1x/dev.h                           |   38 +-
 drivers/gpu/host1x/hw/cdma_hw.c                    |   23 +-
 drivers/gpu/host1x/hw/channel_hw.c                 |    5 +-
 drivers/gpu/host1x/hw/debug_hw.c                   |   36 +-
 drivers/gpu/host1x/hw/intr_hw.c                    |   30 +-
 drivers/gpu/host1x/hw/syncpt_hw.c                  |   10 +-
 drivers/gpu/host1x/intr.c                          |   16 +-
 drivers/gpu/host1x/intr.h                          |    4 +-
 drivers/gpu/host1x/job.c                           |    8 +-
 drivers/gpu/host1x/syncpt.c                        |   58 +-
 drivers/gpu/host1x/syncpt.h                        |    8 +-
 drivers/gpu/ipu-v3/ipu-dc.c                        |    9 +-
 drivers/gpu/ipu-v3/ipu-di.c                        |    3 -
 drivers/gpu/ipu-v3/ipu-dmfc.c                      |  213 +-
 drivers/gpu/vga/vga_switcheroo.c                   |   62 +-
 drivers/media/platform/omap/omap_vout.c            |    2 +-
 drivers/media/platform/omap/omap_voutdef.h         |    2 +-
 drivers/media/platform/omap/omap_voutlib.c         |    2 +-
 drivers/net/ethernet/mellanox/mlx4/pd.c            |    4 +-
 drivers/pinctrl/pinconf-generic.c                  |    8 +
 drivers/platform/x86/apple-gmux.c                  |   55 +-
 drivers/staging/android/sync.h                     |    3 +-
 .../omap2/omapfb/displays/connector-analog-tv.c    |   10 +-
 .../fbdev/omap2/omapfb/displays/connector-dvi.c    |   60 +-
 .../fbdev/omap2/omapfb/displays/connector-hdmi.c   |   44 +-
 .../fbdev/omap2/omapfb/displays/encoder-opa362.c   |    2 +-
 .../fbdev/omap2/omapfb/displays/encoder-tfp410.c   |   46 +-
 .../omap2/omapfb/displays/encoder-tpd12s015.c      |    3 +-
 .../video/fbdev/omap2/omapfb/displays/panel-dpi.c  |    2 +-
 .../fbdev/omap2/omapfb/displays/panel-dsi-cm.c     |   54 +-
 .../omapfb/displays/panel-lgphilips-lb035q02.c     |   58 +-
 .../omap2/omapfb/displays/panel-nec-nl8048hl11.c   |   47 +-
 .../omapfb/displays/panel-sharp-ls037v7dw01.c      |   83 +-
 .../omap2/omapfb/displays/panel-sony-acx565akm.c   |    2 +-
 .../omap2/omapfb/displays/panel-tpo-td028ttec1.c   |   45 +-
 .../omap2/omapfb/displays/panel-tpo-td043mtea1.c   |   46 +-
 drivers/video/fbdev/omap2/omapfb/dss/apply.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/core.c        |    4 +-
 .../video/fbdev/omap2/omapfb/dss/dispc-compat.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dispc.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dispc_coefs.c |    2 +-
 .../video/fbdev/omap2/omapfb/dss/display-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/display.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dpi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dsi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss-of.c      |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/dss.h         |   11 +
 .../video/fbdev/omap2/omapfb/dss/dss_features.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi.h        |    3 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c       |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_pll.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/hdmi_wp.c     |    2 +-
 .../video/fbdev/omap2/omapfb/dss/manager-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/manager.c     |    3 +-
 drivers/video/fbdev/omap2/omapfb/dss/output.c      |    2 +-
 .../video/fbdev/omap2/omapfb/dss/overlay-sysfs.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/overlay.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/pll.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/rfbi.c        |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/sdi.c         |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/venc.c        |    2 +-
 drivers/video/fbdev/omap2/omapfb/dss/video-pll.c   |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-main.c     |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-sysfs.c    |    2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb.h          |    2 +-
 include/drm/bridge/analogix_dp.h                   |    9 +-
 include/drm/drmP.h                                 |  167 +-
 include/drm/drm_atomic.h                           |   82 +-
 include/drm/drm_atomic_helper.h                    |   42 +-
 include/drm/drm_auth.h                             |   59 +
 include/drm/drm_crtc.h                             |  858 +++--
 include/drm/drm_crtc_helper.h                      |    3 -
 include/drm/drm_dp_helper.h                        |   11 +-
 include/drm/drm_dp_mst_helper.h                    |  141 +-
 include/drm/drm_fb_cma_helper.h                    |    1 +
 include/drm/drm_fb_helper.h                        |   11 -
 include/drm/drm_fourcc.h                           |   37 +
 include/drm/drm_irq.h                              |  183 +
 include/drm/drm_legacy.h                           |    2 +
 include/drm/drm_mipi_dsi.h                         |    3 +
 include/drm/drm_modes.h                            |    2 +
 include/drm/drm_modeset_helper_vtables.h           |   49 +-
 include/drm/drm_plane_helper.h                     |    1 +
 include/drm/drm_simple_kms_helper.h                |   94 +
 include/drm/i915_drm.h                             |    3 +
 include/drm/intel-gtt.h                            |    3 +
 include/drm/ttm/ttm_bo_api.h                       |    4 +-
 include/drm/ttm/ttm_bo_driver.h                    |   35 +-
 include/linux/dma-buf.h                            |    2 -
 include/linux/fence-array.h                        |   73 +
 include/linux/fence.h                              |   13 +-
 include/linux/io-mapping.h                         |   10 +-
 include/linux/pinctrl/pinconf-generic.h            |    2 +
 include/linux/platform_data/omapdss.h              |   37 +
 include/linux/vga_switcheroo.h                     |    2 +
 include/sound/hdmi-codec.h                         |   13 +-
 include/sound/omap-hdmi-audio.h                    |    9 +-
 include/uapi/drm/amdgpu_drm.h                      |   32 +-
 include/uapi/drm/i915_drm.h                        |    3 +
 include/uapi/drm/msm_drm.h                         |   25 +-
 include/uapi/drm/vc4_drm.h                         |   13 +
 include/uapi/drm/vgem_drm.h                        |   62 +
 include/video/imx-ipu-v3.h                         |    3 -
 include/video/omap-panel-data.h                    |  157 -
 include/video/{omapdss.h => omapfb_dss.h}          |   80 +-
 scripts/kernel-doc                                 |  393 ++-
 sound/soc/codecs/hdmi-codec.c                      |   15 +-
 sound/soc/omap/omap-hdmi-audio.c                   |    1 -
 947 files changed, 49505 insertions(+), 25855 deletions(-)
 create mode 100644 Documentation/.gitignore
 delete mode 100644 Documentation/DocBook/gpu.tmpl
 create mode 100644 Documentation/Makefile.sphinx
 create mode 100644 Documentation/conf.py
 create mode 100644 Documentation/devicetree/bindings/display/arm,malidp.txt
 create mode 100644 Documentation/devicetree/bindings/display/bridge/sii902x.txt
 create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba,tc358767.txt
 create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,hdmi.txt
 delete mode 100644 Documentation/devicetree/bindings/display/msm/mdp.txt
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdp4.txt
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdp5.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/lg,lp079qx1-sp0v.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/lg,lp097qx1-spa1.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,lsn122dl01-c01.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq101k1ly04.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/sharp,lq123p1jx31.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/starry,kr122ea0sra.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt
 create mode 100644 Documentation/gpu/drm-internals.rst
 create mode 100644 Documentation/gpu/drm-kms-helpers.rst
 create mode 100644 Documentation/gpu/drm-kms.rst
 create mode 100644 Documentation/gpu/drm-mm.rst
 create mode 100644 Documentation/gpu/drm-uapi.rst
 create mode 100644 Documentation/gpu/i915.rst
 create mode 100644 Documentation/gpu/index.rst
 create mode 100644 Documentation/gpu/introduction.rst
 create mode 100644 Documentation/gpu/kms-properties.csv
 create mode 100644 Documentation/gpu/vga-switcheroo.rst
 create mode 100644 Documentation/index.rst
 create mode 100644 Documentation/sphinx/convert_template.sed
 create mode 100644 Documentation/sphinx/kernel-doc.py
 create mode 100644 Documentation/sphinx/post_convert.sed
 create mode 100755 Documentation/sphinx/tmplcvt
 create mode 100644 drivers/dma-buf/fence-array.c
 rename drivers/gpu/drm/amd/amdgpu/{iceland_smumgr.h => iceland_smum.h} (96%)
 create mode 100644 drivers/gpu/drm/arc/arcpgu_sim.c
 create mode 100644 drivers/gpu/drm/arm/malidp_crtc.c
 create mode 100644 drivers/gpu/drm/arm/malidp_drv.c
 create mode 100644 drivers/gpu/drm/arm/malidp_drv.h
 create mode 100644 drivers/gpu/drm/arm/malidp_hw.c
 create mode 100644 drivers/gpu/drm/arm/malidp_hw.h
 create mode 100644 drivers/gpu/drm/arm/malidp_planes.c
 create mode 100644 drivers/gpu/drm/arm/malidp_regs.h
 create mode 100644 drivers/gpu/drm/bridge/adv7511/Kconfig
 create mode 100644 drivers/gpu/drm/bridge/adv7511/Makefile
 rename drivers/gpu/drm/{i2c => bridge/adv7511}/adv7511.h (82%)
 rename drivers/gpu/drm/{i2c/adv7511.c => bridge/adv7511/adv7511_drv.c} (80%)
 create mode 100644 drivers/gpu/drm/bridge/adv7511/adv7533.c
 create mode 100644 drivers/gpu/drm/bridge/sii902x.c
 create mode 100644 drivers/gpu/drm/bridge/tc358767.c
 create mode 100644 drivers/gpu/drm/drm_fourcc.c
 create mode 100644 drivers/gpu/drm/drm_simple_kms_helper.c
 create mode 100644 drivers/gpu/drm/i915/gvt/Makefile
 create mode 100644 drivers/gpu/drm/i915/gvt/debug.h
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.c
 create mode 100644 drivers/gpu/drm/i915/gvt/gvt.h
 create mode 100644 drivers/gpu/drm/i915/gvt/hypercall.h
 create mode 100644 drivers/gpu/drm/i915/gvt/mpt.h
 delete mode 100644 drivers/gpu/drm/i915/i915_dma.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_dmabuf.h
 create mode 100644 drivers/gpu/drm/i915/i915_pci.c
 create mode 100644 drivers/gpu/drm/i915/i915_pvinfo.h
 create mode 100644 drivers/gpu/drm/i915/intel_breadcrumbs.c
 create mode 100644 drivers/gpu/drm/i915/intel_device_info.c
 create mode 100644 drivers/gpu/drm/i915/intel_dp_aux_backlight.c
 create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.c
 create mode 100644 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.c
 create mode 100644 drivers/gpu/drm/i915/intel_gvt.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_mt8173_hdmi_phy.c
 create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c
 create mode 100644 drivers/gpu/drm/msm/msm_gem_shrinker.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/basegp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacgp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/ovlygp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp104.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.c
 delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c
 delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmicon.h
 create mode 100644 drivers/gpu/drm/vgem/vgem_fence.c
 create mode 100644 include/drm/drm_auth.h
 create mode 100644 include/drm/drm_fourcc.h
 create mode 100644 include/drm/drm_irq.h
 create mode 100644 include/drm/drm_simple_kms_helper.h
 create mode 100644 include/linux/fence-array.h
 create mode 100644 include/linux/platform_data/omapdss.h
 create mode 100644 include/uapi/drm/vgem_drm.h
 rename include/video/{omapdss.h => omapfb_dss.h} (91%)

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  1:32 ` Dave Airlie
@ 2016-08-02  2:26   ` Linus Torvalds
  -1 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02  2:26 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter, Jani Nikula
  Cc: DRI mailing list, Linux Kernel Mailing List

On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
>
> This is the main drm pull request for 4.8, I'm down with a cold at the moment
> so hopefully this isn't in too bad a state, I finished pulling stuff last
> week mostly (nouveau fixes just went in today), so only this message should
> be influenced by illness. Apologies to anyone who's major feature I missed :-)
>
> i915:
>         BXT support enabled by default
>         GVT-g infrastructure
>         GuC command submission and fixes
>         BXT workarounds
>         SKL/BKL workarounds
>         Demidlayering device registration
>         Thundering herd fixes
>         Missing pci ids
>         Atomic updates

Hmm. I did the merge and pushed it out, but testing it on my laptop
shows some very annoying flickering problem.

The screen goes dark for a very short while (one frame? Who knows?
Seems longer occasionally). I have no idea what triggers it, but it
happens quite a lot when it happens. Like once every second or two.
And it seems to happen most of the time, although right now it happens
to be behaving nicely, so sometimes it goes for a while without the
flickering.

Things *work*, but the flickering is nasty enough to make the end
result painful to use.

The only thing I see in dmesg that looks bad is

   [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
uncleared fifo underrun on pipe A
   [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
FIFO underrun

but I've seen that before, and it happens a couple of times during
boot. Not once per second.

This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).

So it's bog-standard intel graphics (i5-4200U - Haswell ULT).

Suggestions to try?

             Linus

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02  2:26   ` Linus Torvalds
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02  2:26 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter, Jani Nikula
  Cc: Linux Kernel Mailing List, DRI mailing list

On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
>
> This is the main drm pull request for 4.8, I'm down with a cold at the moment
> so hopefully this isn't in too bad a state, I finished pulling stuff last
> week mostly (nouveau fixes just went in today), so only this message should
> be influenced by illness. Apologies to anyone who's major feature I missed :-)
>
> i915:
>         BXT support enabled by default
>         GVT-g infrastructure
>         GuC command submission and fixes
>         BXT workarounds
>         SKL/BKL workarounds
>         Demidlayering device registration
>         Thundering herd fixes
>         Missing pci ids
>         Atomic updates

Hmm. I did the merge and pushed it out, but testing it on my laptop
shows some very annoying flickering problem.

The screen goes dark for a very short while (one frame? Who knows?
Seems longer occasionally). I have no idea what triggers it, but it
happens quite a lot when it happens. Like once every second or two.
And it seems to happen most of the time, although right now it happens
to be behaving nicely, so sometimes it goes for a while without the
flickering.

Things *work*, but the flickering is nasty enough to make the end
result painful to use.

The only thing I see in dmesg that looks bad is

   [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
uncleared fifo underrun on pipe A
   [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
FIFO underrun

but I've seen that before, and it happens a couple of times during
boot. Not once per second.

This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).

So it's bog-standard intel graphics (i5-4200U - Haswell ULT).

Suggestions to try?

             Linus
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  2:26   ` Linus Torvalds
@ 2016-08-02  8:00     ` Daniel Vetter
  -1 siblings, 0 replies; 24+ messages in thread
From: Daniel Vetter @ 2016-08-02  8:00 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula,
	Linux Kernel Mailing List, DRI mailing list

On Tue, Aug 2, 2016 at 4:26 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
>>
>> This is the main drm pull request for 4.8, I'm down with a cold at the moment
>> so hopefully this isn't in too bad a state, I finished pulling stuff last
>> week mostly (nouveau fixes just went in today), so only this message should
>> be influenced by illness. Apologies to anyone who's major feature I missed :-)
>>
>> i915:
>>         BXT support enabled by default
>>         GVT-g infrastructure
>>         GuC command submission and fixes
>>         BXT workarounds
>>         SKL/BKL workarounds
>>         Demidlayering device registration
>>         Thundering herd fixes
>>         Missing pci ids
>>         Atomic updates
>
> Hmm. I did the merge and pushed it out, but testing it on my laptop
> shows some very annoying flickering problem.
>
> The screen goes dark for a very short while (one frame? Who knows?
> Seems longer occasionally). I have no idea what triggers it, but it
> happens quite a lot when it happens. Like once every second or two.
> And it seems to happen most of the time, although right now it happens
> to be behaving nicely, so sometimes it goes for a while without the
> flickering.
>
> Things *work*, but the flickering is nasty enough to make the end
> result painful to use.
>
> The only thing I see in dmesg that looks bad is
>
>    [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
> uncleared fifo underrun on pipe A
>    [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
> FIFO underrun
>
> but I've seen that before, and it happens a couple of times during
> boot. Not once per second.
>
> This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).
>
> So it's bog-standard intel graphics (i5-4200U - Haswell ULT).
>
> Suggestions to try?

psr or fbc are the likely culprits. More likely fbc if the underruns
correlate with the flicker (but note that by default we only report
them once per modest, needs to be reset with a dpms or
suspend/resume). Driver should even pick up the new module option
settings at runtime (but again you need to force a modeset, just
suspend/resume quickly), so fast to test.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02  8:00     ` Daniel Vetter
  0 siblings, 0 replies; 24+ messages in thread
From: Daniel Vetter @ 2016-08-02  8:00 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 4:26 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
>>
>> This is the main drm pull request for 4.8, I'm down with a cold at the moment
>> so hopefully this isn't in too bad a state, I finished pulling stuff last
>> week mostly (nouveau fixes just went in today), so only this message should
>> be influenced by illness. Apologies to anyone who's major feature I missed :-)
>>
>> i915:
>>         BXT support enabled by default
>>         GVT-g infrastructure
>>         GuC command submission and fixes
>>         BXT workarounds
>>         SKL/BKL workarounds
>>         Demidlayering device registration
>>         Thundering herd fixes
>>         Missing pci ids
>>         Atomic updates
>
> Hmm. I did the merge and pushed it out, but testing it on my laptop
> shows some very annoying flickering problem.
>
> The screen goes dark for a very short while (one frame? Who knows?
> Seems longer occasionally). I have no idea what triggers it, but it
> happens quite a lot when it happens. Like once every second or two.
> And it seems to happen most of the time, although right now it happens
> to be behaving nicely, so sometimes it goes for a while without the
> flickering.
>
> Things *work*, but the flickering is nasty enough to make the end
> result painful to use.
>
> The only thing I see in dmesg that looks bad is
>
>    [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
> uncleared fifo underrun on pipe A
>    [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
> FIFO underrun
>
> but I've seen that before, and it happens a couple of times during
> boot. Not once per second.
>
> This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).
>
> So it's bog-standard intel graphics (i5-4200U - Haswell ULT).
>
> Suggestions to try?

psr or fbc are the likely culprits. More likely fbc if the underruns
correlate with the flicker (but note that by default we only report
them once per modest, needs to be reset with a dpms or
suspend/resume). Driver should even pick up the new module option
settings at runtime (but again you need to force a modeset, just
suspend/resume quickly), so fast to test.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  8:00     ` Daniel Vetter
@ 2016-08-02  8:10       ` Ville Syrjälä
  -1 siblings, 0 replies; 24+ messages in thread
From: Ville Syrjälä @ 2016-08-02  8:10 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Linus Torvalds, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List

On Tue, Aug 02, 2016 at 10:00:12AM +0200, Daniel Vetter wrote:
> On Tue, Aug 2, 2016 at 4:26 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
> >>
> >> This is the main drm pull request for 4.8, I'm down with a cold at the moment
> >> so hopefully this isn't in too bad a state, I finished pulling stuff last
> >> week mostly (nouveau fixes just went in today), so only this message should
> >> be influenced by illness. Apologies to anyone who's major feature I missed :-)
> >>
> >> i915:
> >>         BXT support enabled by default
> >>         GVT-g infrastructure
> >>         GuC command submission and fixes
> >>         BXT workarounds
> >>         SKL/BKL workarounds
> >>         Demidlayering device registration
> >>         Thundering herd fixes
> >>         Missing pci ids
> >>         Atomic updates
> >
> > Hmm. I did the merge and pushed it out, but testing it on my laptop
> > shows some very annoying flickering problem.
> >
> > The screen goes dark for a very short while (one frame? Who knows?
> > Seems longer occasionally). I have no idea what triggers it, but it
> > happens quite a lot when it happens. Like once every second or two.
> > And it seems to happen most of the time, although right now it happens
> > to be behaving nicely, so sometimes it goes for a while without the
> > flickering.
> >
> > Things *work*, but the flickering is nasty enough to make the end
> > result painful to use.
> >
> > The only thing I see in dmesg that looks bad is
> >
> >    [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
> > uncleared fifo underrun on pipe A
> >    [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
> > FIFO underrun
> >
> > but I've seen that before, and it happens a couple of times during
> > boot. Not once per second.
> >
> > This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).
> >
> > So it's bog-standard intel graphics (i5-4200U - Haswell ULT).
> >
> > Suggestions to try?
> 
> psr or fbc are the likely culprits. More likely fbc if the underruns
> correlate with the flicker (but note that by default we only report
> them once per modest, needs to be reset with a dpms or
> suspend/resume). Driver should even pick up the new module option
> settings at runtime (but again you need to force a modeset, just
> suspend/resume quickly), so fast to test.

I think FBC is still disabled by default on HSW.

So PSR seems more likely. The underruns might point at some watermark
fail though :(

I have a couple of pending PSR patches you may want to try as well,
if i915.enable_psr=0 helps.

First set is here:
git://github.com/vsyrjala/linux.git psr_setup_time_2
This should be perfectly safe to go in actually, as it will only result
in disabling PSR with certain panels.

The second set is here:
git://github.com/vsyrjala/linux.git psr_fixes_2
This one I think is causing some kind of slight regression on one
machine in our CI system. Still not sure what's going on there.

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02  8:10       ` Ville Syrjälä
  0 siblings, 0 replies; 24+ messages in thread
From: Ville Syrjälä @ 2016-08-02  8:10 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Linus Torvalds, Linux Kernel Mailing List,
	DRI mailing list

On Tue, Aug 02, 2016 at 10:00:12AM +0200, Daniel Vetter wrote:
> On Tue, Aug 2, 2016 at 4:26 AM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Mon, Aug 1, 2016 at 9:32 PM, Dave Airlie <airlied@linux.ie> wrote:
> >>
> >> This is the main drm pull request for 4.8, I'm down with a cold at the moment
> >> so hopefully this isn't in too bad a state, I finished pulling stuff last
> >> week mostly (nouveau fixes just went in today), so only this message should
> >> be influenced by illness. Apologies to anyone who's major feature I missed :-)
> >>
> >> i915:
> >>         BXT support enabled by default
> >>         GVT-g infrastructure
> >>         GuC command submission and fixes
> >>         BXT workarounds
> >>         SKL/BKL workarounds
> >>         Demidlayering device registration
> >>         Thundering herd fixes
> >>         Missing pci ids
> >>         Atomic updates
> >
> > Hmm. I did the merge and pushed it out, but testing it on my laptop
> > shows some very annoying flickering problem.
> >
> > The screen goes dark for a very short while (one frame? Who knows?
> > Seems longer occasionally). I have no idea what triggers it, but it
> > happens quite a lot when it happens. Like once every second or two.
> > And it seems to happen most of the time, although right now it happens
> > to be behaving nicely, so sometimes it goes for a while without the
> > flickering.
> >
> > Things *work*, but the flickering is nasty enough to make the end
> > result painful to use.
> >
> > The only thing I see in dmesg that looks bad is
> >
> >    [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR*
> > uncleared fifo underrun on pipe A
> >    [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A
> > FIFO underrun
> >
> > but I've seen that before, and it happens a couple of times during
> > boot. Not once per second.
> >
> > This is my old Vaio 11 Pro, now running Fedora 24 (up-to-date as of today).
> >
> > So it's bog-standard intel graphics (i5-4200U - Haswell ULT).
> >
> > Suggestions to try?
> 
> psr or fbc are the likely culprits. More likely fbc if the underruns
> correlate with the flicker (but note that by default we only report
> them once per modest, needs to be reset with a dpms or
> suspend/resume). Driver should even pick up the new module option
> settings at runtime (but again you need to force a modeset, just
> suspend/resume quickly), so fast to test.

I think FBC is still disabled by default on HSW.

So PSR seems more likely. The underruns might point at some watermark
fail though :(

I have a couple of pending PSR patches you may want to try as well,
if i915.enable_psr=0 helps.

First set is here:
git://github.com/vsyrjala/linux.git psr_setup_time_2
This should be perfectly safe to go in actually, as it will only result
in disabling PSR with certain panels.

The second set is here:
git://github.com/vsyrjala/linux.git psr_fixes_2
This one I think is causing some kind of slight regression on one
machine in our CI system. Still not sure what's going on there.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  8:10       ` Ville Syrjälä
@ 2016-08-02 11:28         ` Linus Torvalds
  -1 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02 11:28 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> I have a couple of pending PSR patches you may want to try as well,
> if i915.enable_psr=0 helps.

Yes. i915.enable_psr=0 seems to make the bad flickering go away.

I'll try your git trees out later, but what exactly changed with
regards to psr lately? It's set as a "dangerous" option, and even just
clearing it caused

  Setting dangerous option enable_psr - tainting kernel

which seems entirely bogus.

              Linus

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 11:28         ` Linus Torvalds
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02 11:28 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> I have a couple of pending PSR patches you may want to try as well,
> if i915.enable_psr=0 helps.

Yes. i915.enable_psr=0 seems to make the bad flickering go away.

I'll try your git trees out later, but what exactly changed with
regards to psr lately? It's set as a "dangerous" option, and even just
clearing it caused

  Setting dangerous option enable_psr - tainting kernel

which seems entirely bogus.

              Linus
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  2:26   ` Linus Torvalds
  (?)
  (?)
@ 2016-08-02 11:47   ` Jiri Kosina
  2016-08-02 12:19     ` Jiri Kosina
  2016-08-02 12:27       ` Jani Nikula
  -1 siblings, 2 replies; 24+ messages in thread
From: Jiri Kosina @ 2016-08-02 11:47 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, DRI mailing list,
	Linux Kernel Mailing List

On Mon, 1 Aug 2016, Linus Torvalds wrote:

> > This is the main drm pull request for 4.8, I'm down with a cold at the moment
> > so hopefully this isn't in too bad a state, I finished pulling stuff last
> > week mostly (nouveau fixes just went in today), so only this message should
> > be influenced by illness. Apologies to anyone who's major feature I missed :-)
> >
> > i915:
> >         BXT support enabled by default
> >         GVT-g infrastructure
> >         GuC command submission and fixes
> >         BXT workarounds
> >         SKL/BKL workarounds
> >         Demidlayering device registration
> >         Thundering herd fixes
> >         Missing pci ids
> >         Atomic updates
> 
> Hmm. I did the merge and pushed it out, but testing it on my laptop
> shows some very annoying flickering problem.

In addition to that, what I see with current git (HEAD == 731c7d3a205, 
i.e. the drm merge) is lockdep report during bootup about AB-BA between 
mode_config.mutex and fb_notifier_list rwsem; will probably not have time 
to look into it more (look at the code and / or bisect) until tomorrow, so 
sending out early as a heads-up.

Also, trying to suspend the machine to disk hangs, with the "suspend" LED 
constantly blinking, LCD being blank, but the machine never actually 
powering off. Not sure whether it might not be the very deadlock actually 
triggering for real.


[    8.731638] fbcon: inteldrmfb (fb0) is primary device

[    8.732611] ======================================================
[    8.732612] [ INFO: possible circular locking dependency detected ]
[    8.732614] 4.7.0-10753-g731c7d3 #459 Not tainted
[    8.732614] -------------------------------------------------------
[    8.732615] kworker/u8:3/60 is trying to acquire lock:
[    8.732650]  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
[    8.732651] 
but task is already holding lock:
[    8.732657]  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
[    8.732658] 
which lock already depends on the new lock.

[    8.732658] 
the existing dependency chain (in reverse order) is:
[    8.732661] 
-> #1 ((fb_notifier_list).rwsem){++++.+}:
[    8.732665]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
[    8.732669]        [<ffffffff8d6a0b25>] down_write+0x55/0xc0
[    8.732671]        [<ffffffff8d08ffb1>] blocking_notifier_chain_register+0x21/0xb0
[    8.732674]        [<ffffffff8d3d1318>] fb_register_client+0x18/0x20
[    8.732676]        [<ffffffff8d3d0b88>] backlight_device_register+0x138/0x250
[    8.732746]        [<ffffffffc0568912>] intel_backlight_device_register+0xa2/0x160 [i915]
[    8.732791]        [<ffffffffc053735e>] intel_connector_register+0xe/0x10 [i915]
[    8.732809]        [<ffffffffc02ae389>] drm_connector_register+0x49/0x80 [drm]
[    8.732827]        [<ffffffffc02b28a0>] drm_modeset_register_all+0x1d0/0x260 [drm]
[    8.732843]        [<ffffffffc02a9c22>] drm_dev_register+0xc2/0xd0 [drm]
[    8.732878]        [<ffffffffc04a6ce5>] i915_driver_load+0x745/0x13e0 [i915]
[    8.732914]        [<ffffffffc04b173f>] i915_pci_probe+0x4f/0x70 [i915]
[    8.732917]        [<ffffffff8d3af7d5>] local_pci_probe+0x45/0xa0
[    8.732920]        [<ffffffff8d3b0bf1>] pci_device_probe+0xe1/0x130
[    8.732923]        [<ffffffff8d489be8>] driver_probe_device+0x1a8/0x460
[    8.732925]        [<ffffffff8d489f6d>] __driver_attach+0xcd/0xf0
[    8.732927]        [<ffffffff8d4878a4>] bus_for_each_dev+0x64/0xa0
[    8.732929]        [<ffffffff8d4894ee>] driver_attach+0x1e/0x20
[    8.732931]        [<ffffffff8d488f83>] bus_add_driver+0x1d3/0x290
[    8.732933]        [<ffffffff8d48ad30>] driver_register+0x60/0xe0
[    8.732935]        [<ffffffff8d3af100>] __pci_register_driver+0x60/0x70
[    8.732972]        [<ffffffffc05ec05d>] i915_init+0x5d/0x64 [i915]
[    8.732975]        [<ffffffff8d00041d>] do_one_initcall+0x3d/0x160
[    8.732979]        [<ffffffff8d182bfd>] do_init_module+0x60/0x1dc
[    8.732982]        [<ffffffff8d107a5e>] load_module+0x142e/0x1bf0
[    8.732984]        [<ffffffff8d108449>] SYSC_finit_module+0xa9/0xd0
[    8.732986]        [<ffffffff8d10848e>] SyS_finit_module+0xe/0x10
[    8.732989]        [<ffffffff8d6a38e9>] entry_SYSCALL_64_fastpath+0x1c/0xac
[    8.732992] 
-> #0 (&dev->mode_config.mutex){+.+.+.}:
[    8.732995]        [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
[    8.732997]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
[    8.732999]        [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
[    8.733019]        [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
[    8.733034]        [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
[    8.733043]        [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
[    8.733088]        [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
[    8.733091]        [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
[    8.733094]        [<ffffffff8d450526>] visual_init+0xd6/0x130
[    8.733097]        [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
[    8.733099]        [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
[    8.733101]        [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
[    8.733104]        [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
[    8.733106]        [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
[    8.733109]        [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
[    8.733111]        [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
[    8.733113]        [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
[    8.733116]        [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
[    8.733126]        [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
[    8.733169]        [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
[    8.733172]        [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
[    8.733174]        [<ffffffff8d08771e>] process_one_work+0x1de/0x670
[    8.733176]        [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
[    8.733178]        [<ffffffff8d08e7e2>] kthread+0xf2/0x110
[    8.733181]        [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
[    8.733181] 
other info that might help us debug this:

[    8.733182]  Possible unsafe locking scenario:

[    8.733183]        CPU0                    CPU1
[    8.733183]        ----                    ----
[    8.733185]   lock((fb_notifier_list).rwsem);
[    8.733186]                                lock(&dev->mode_config.mutex);
[    8.733187]                                lock((fb_notifier_list).rwsem);
[    8.733188]   lock(&dev->mode_config.mutex);
[    8.733189] 
 *** DEADLOCK ***

[    8.733190] 6 locks held by kworker/u8:3/60:
[    8.733194]  #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
[    8.733198]  #1:  ((&entry->work)){+.+.+.}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
[    8.733201]  #2:  (registration_lock){+.+.+.}, at: [<ffffffff8d3d3167>] register_framebuffer+0x27/0x320
[    8.733205]  #3:  (console_lock){+.+.+.}, at: [<ffffffff8d3d3396>] register_framebuffer+0x256/0x320
[    8.733208]  #4:  (&fb_info->lock){+.+.+.}, at: [<ffffffff8d3d178d>] lock_fb_info+0x1d/0x40
[    8.733212]  #5:  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
[    8.733212] 
stack backtrace:
[    8.733214] CPU: 1 PID: 60 Comm: kworker/u8:3 Not tainted 4.7.0-10753-g731c7d3 #459
[    8.733215] Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008
[    8.733218] Workqueue: events_unbound async_run_entry_fn
[    8.733221]  0000000000000000 ffff95f0b77537d8 ffffffff8d36c09e ffffffff8e822d00
[    8.733224]  ffffffff8e822d00 ffff95f0b7753818 ffffffff8d18205b ffff95f0b7753850
[    8.733226]  ffff95f0b774d718 0000000000000005 0000000000000006 ffff95f0b774cd40
[    8.733227] Call Trace:
[    8.733230]  [<ffffffff8d36c09e>] dump_stack+0x67/0x99
[    8.733232]  [<ffffffff8d18205b>] print_circular_bug+0x200/0x20e
[    8.733235]  [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
[    8.733238]  [<ffffffff8d0a17c8>] ? sched_clock_local+0x18/0x80
[    8.733240]  [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
[    8.733260]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
[    8.733262]  [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
[    8.733281]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
[    8.733301]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
[    8.733304]  [<ffffffff8d1ec87c>] ? kmem_cache_alloc_trace+0x25c/0x320
[    8.733322]  [<ffffffffc02bfce5>] ? drm_modeset_lock_all+0x25/0x120 [drm]
[    8.733341]  [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
[    8.733351]  [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
[    8.733360]  [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
[    8.733403]  [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
[    8.733406]  [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
[    8.733408]  [<ffffffff8d450526>] visual_init+0xd6/0x130
[    8.733410]  [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
[    8.733413]  [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
[    8.733415]  [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
[    8.733417]  [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
[    8.733419]  [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
[    8.733422]  [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
[    8.733424]  [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
[    8.733426]  [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
[    8.733427]  [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
[    8.733430]  [<ffffffff8d4817c0>] ? vga_switcheroo_client_fb_set+0x60/0x70
[    8.733440]  [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
[    8.733483]  [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
[    8.733484]  [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
[    8.733486]  [<ffffffff8d08771e>] process_one_work+0x1de/0x670
[    8.733488]  [<ffffffff8d08769f>] ? process_one_work+0x15f/0x670
[    8.733490]  [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
[    8.733492]  [<ffffffff8d087bb0>] ? process_one_work+0x670/0x670
[    8.733494]  [<ffffffff8d08e7e2>] kthread+0xf2/0x110
[    8.733497]  [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
[    8.733499]  [<ffffffff8d08e6f0>] ? kthread_create_on_node+0x220/0x220

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 11:47   ` Jiri Kosina
@ 2016-08-02 12:19     ` Jiri Kosina
  2016-08-02 12:27       ` Jani Nikula
  1 sibling, 0 replies; 24+ messages in thread
From: Jiri Kosina @ 2016-08-02 12:19 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, DRI mailing list,
	Linux Kernel Mailing List

On Tue, 2 Aug 2016, Jiri Kosina wrote:

> In addition to that, what I see with current git (HEAD == 731c7d3a205, 
> i.e. the drm merge) is lockdep report during bootup about AB-BA between 
> mode_config.mutex and fb_notifier_list rwsem; will probably not have time 
> to look into it more (look at the code and / or bisect) until tomorrow, so 
> sending out early as a heads-up.
> 
> Also, trying to suspend the machine to disk hangs, with the "suspend" LED 
> constantly blinking, LCD being blank, but the machine never actually 
> powering off. Not sure whether it might not be the very deadlock actually 
> triggering for real.

Ok, I tried HEAD == 7a66ecf (per-drm merge kernel from yesterday), and it 
doesn't produce the AB-BA warning (so it's really introduced by the last 
merge), but still has the suspend issue, so those are two separate issues.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 11:28         ` Linus Torvalds
@ 2016-08-02 12:22           ` Jani Nikula
  -1 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2016-08-02 12:22 UTC (permalink / raw)
  To: Linus Torvalds, Ville Syrjälä
  Cc: Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, 02 Aug 2016, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
>>
>> I have a couple of pending PSR patches you may want to try as well,
>> if i915.enable_psr=0 helps.
>
> Yes. i915.enable_psr=0 seems to make the bad flickering go away.
>
> I'll try your git trees out later, but what exactly changed with
> regards to psr lately? It's set as a "dangerous" option, and even just
> clearing it caused
>
>   Setting dangerous option enable_psr - tainting kernel
>
> which seems entirely bogus.

The warning comes from kernel/params.c for module_param_named_unsafe()
which has no way of knowing which values are safe, and complains if the
option is set at all.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 12:22           ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2016-08-02 12:22 UTC (permalink / raw)
  To: Linus Torvalds, Ville Syrjälä
  Cc: Daniel Vetter, Linux Kernel Mailing List, DRI mailing list

On Tue, 02 Aug 2016, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
>>
>> I have a couple of pending PSR patches you may want to try as well,
>> if i915.enable_psr=0 helps.
>
> Yes. i915.enable_psr=0 seems to make the bad flickering go away.
>
> I'll try your git trees out later, but what exactly changed with
> regards to psr lately? It's set as a "dangerous" option, and even just
> clearing it caused
>
>   Setting dangerous option enable_psr - tainting kernel
>
> which seems entirely bogus.

The warning comes from kernel/params.c for module_param_named_unsafe()
which has no way of knowing which values are safe, and complains if the
option is set at all.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 11:47   ` Jiri Kosina
@ 2016-08-02 12:27       ` Jani Nikula
  2016-08-02 12:27       ` Jani Nikula
  1 sibling, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2016-08-02 12:27 UTC (permalink / raw)
  To: Jiri Kosina, Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List, Chris Wilson

On Tue, 02 Aug 2016, Jiri Kosina <jikos@kernel.org> wrote:
> On Mon, 1 Aug 2016, Linus Torvalds wrote:
>
>> > This is the main drm pull request for 4.8, I'm down with a cold at the moment
>> > so hopefully this isn't in too bad a state, I finished pulling stuff last
>> > week mostly (nouveau fixes just went in today), so only this message should
>> > be influenced by illness. Apologies to anyone who's major feature I missed :-)
>> >
>> > i915:
>> >         BXT support enabled by default
>> >         GVT-g infrastructure
>> >         GuC command submission and fixes
>> >         BXT workarounds
>> >         SKL/BKL workarounds
>> >         Demidlayering device registration
>> >         Thundering herd fixes
>> >         Missing pci ids
>> >         Atomic updates
>> 
>> Hmm. I did the merge and pushed it out, but testing it on my laptop
>> shows some very annoying flickering problem.
>
> In addition to that, what I see with current git (HEAD == 731c7d3a205, 
> i.e. the drm merge) is lockdep report during bootup about AB-BA between 
> mode_config.mutex and fb_notifier_list rwsem; will probably not have time 
> to look into it more (look at the code and / or bisect) until tomorrow, so 
> sending out early as a heads-up.
>
> Also, trying to suspend the machine to disk hangs, with the "suspend" LED 
> constantly blinking, LCD being blank, but the machine never actually 
> powering off. Not sure whether it might not be the very deadlock actually 
> triggering for real.

There was [1] before my vacation to fix this, but it doesn't seem to
have gone anywhere since. And it doesn't refer what caused the lockdep
splat to begin with.

BR,
Jani.

[1] http://patchwork.freedesktop.org/patch/msgid/1467286256-8870-1-git-send-email-chris@chris-wilson.co.uk

>
>
> [    8.731638] fbcon: inteldrmfb (fb0) is primary device
>
> [    8.732611] ======================================================
> [    8.732612] [ INFO: possible circular locking dependency detected ]
> [    8.732614] 4.7.0-10753-g731c7d3 #459 Not tainted
> [    8.732614] -------------------------------------------------------
> [    8.732615] kworker/u8:3/60 is trying to acquire lock:
> [    8.732650]  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.732651] 
> but task is already holding lock:
> [    8.732657]  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
> [    8.732658] 
> which lock already depends on the new lock.
>
> [    8.732658] 
> the existing dependency chain (in reverse order) is:
> [    8.732661] 
> -> #1 ((fb_notifier_list).rwsem){++++.+}:
> [    8.732665]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.732669]        [<ffffffff8d6a0b25>] down_write+0x55/0xc0
> [    8.732671]        [<ffffffff8d08ffb1>] blocking_notifier_chain_register+0x21/0xb0
> [    8.732674]        [<ffffffff8d3d1318>] fb_register_client+0x18/0x20
> [    8.732676]        [<ffffffff8d3d0b88>] backlight_device_register+0x138/0x250
> [    8.732746]        [<ffffffffc0568912>] intel_backlight_device_register+0xa2/0x160 [i915]
> [    8.732791]        [<ffffffffc053735e>] intel_connector_register+0xe/0x10 [i915]
> [    8.732809]        [<ffffffffc02ae389>] drm_connector_register+0x49/0x80 [drm]
> [    8.732827]        [<ffffffffc02b28a0>] drm_modeset_register_all+0x1d0/0x260 [drm]
> [    8.732843]        [<ffffffffc02a9c22>] drm_dev_register+0xc2/0xd0 [drm]
> [    8.732878]        [<ffffffffc04a6ce5>] i915_driver_load+0x745/0x13e0 [i915]
> [    8.732914]        [<ffffffffc04b173f>] i915_pci_probe+0x4f/0x70 [i915]
> [    8.732917]        [<ffffffff8d3af7d5>] local_pci_probe+0x45/0xa0
> [    8.732920]        [<ffffffff8d3b0bf1>] pci_device_probe+0xe1/0x130
> [    8.732923]        [<ffffffff8d489be8>] driver_probe_device+0x1a8/0x460
> [    8.732925]        [<ffffffff8d489f6d>] __driver_attach+0xcd/0xf0
> [    8.732927]        [<ffffffff8d4878a4>] bus_for_each_dev+0x64/0xa0
> [    8.732929]        [<ffffffff8d4894ee>] driver_attach+0x1e/0x20
> [    8.732931]        [<ffffffff8d488f83>] bus_add_driver+0x1d3/0x290
> [    8.732933]        [<ffffffff8d48ad30>] driver_register+0x60/0xe0
> [    8.732935]        [<ffffffff8d3af100>] __pci_register_driver+0x60/0x70
> [    8.732972]        [<ffffffffc05ec05d>] i915_init+0x5d/0x64 [i915]
> [    8.732975]        [<ffffffff8d00041d>] do_one_initcall+0x3d/0x160
> [    8.732979]        [<ffffffff8d182bfd>] do_init_module+0x60/0x1dc
> [    8.732982]        [<ffffffff8d107a5e>] load_module+0x142e/0x1bf0
> [    8.732984]        [<ffffffff8d108449>] SYSC_finit_module+0xa9/0xd0
> [    8.732986]        [<ffffffff8d10848e>] SyS_finit_module+0xe/0x10
> [    8.732989]        [<ffffffff8d6a38e9>] entry_SYSCALL_64_fastpath+0x1c/0xac
> [    8.732992] 
> -> #0 (&dev->mode_config.mutex){+.+.+.}:
> [    8.732995]        [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
> [    8.732997]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.732999]        [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
> [    8.733019]        [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733034]        [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
> [    8.733043]        [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
> [    8.733088]        [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
> [    8.733091]        [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
> [    8.733094]        [<ffffffff8d450526>] visual_init+0xd6/0x130
> [    8.733097]        [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
> [    8.733099]        [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
> [    8.733101]        [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
> [    8.733104]        [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
> [    8.733106]        [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
> [    8.733109]        [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
> [    8.733111]        [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
> [    8.733113]        [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
> [    8.733116]        [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
> [    8.733126]        [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
> [    8.733169]        [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
> [    8.733172]        [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
> [    8.733174]        [<ffffffff8d08771e>] process_one_work+0x1de/0x670
> [    8.733176]        [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
> [    8.733178]        [<ffffffff8d08e7e2>] kthread+0xf2/0x110
> [    8.733181]        [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
> [    8.733181] 
> other info that might help us debug this:
>
> [    8.733182]  Possible unsafe locking scenario:
>
> [    8.733183]        CPU0                    CPU1
> [    8.733183]        ----                    ----
> [    8.733185]   lock((fb_notifier_list).rwsem);
> [    8.733186]                                lock(&dev->mode_config.mutex);
> [    8.733187]                                lock((fb_notifier_list).rwsem);
> [    8.733188]   lock(&dev->mode_config.mutex);
> [    8.733189] 
>  *** DEADLOCK ***
>
> [    8.733190] 6 locks held by kworker/u8:3/60:
> [    8.733194]  #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
> [    8.733198]  #1:  ((&entry->work)){+.+.+.}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
> [    8.733201]  #2:  (registration_lock){+.+.+.}, at: [<ffffffff8d3d3167>] register_framebuffer+0x27/0x320
> [    8.733205]  #3:  (console_lock){+.+.+.}, at: [<ffffffff8d3d3396>] register_framebuffer+0x256/0x320
> [    8.733208]  #4:  (&fb_info->lock){+.+.+.}, at: [<ffffffff8d3d178d>] lock_fb_info+0x1d/0x40
> [    8.733212]  #5:  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
> [    8.733212] 
> stack backtrace:
> [    8.733214] CPU: 1 PID: 60 Comm: kworker/u8:3 Not tainted 4.7.0-10753-g731c7d3 #459
> [    8.733215] Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008
> [    8.733218] Workqueue: events_unbound async_run_entry_fn
> [    8.733221]  0000000000000000 ffff95f0b77537d8 ffffffff8d36c09e ffffffff8e822d00
> [    8.733224]  ffffffff8e822d00 ffff95f0b7753818 ffffffff8d18205b ffff95f0b7753850
> [    8.733226]  ffff95f0b774d718 0000000000000005 0000000000000006 ffff95f0b774cd40
> [    8.733227] Call Trace:
> [    8.733230]  [<ffffffff8d36c09e>] dump_stack+0x67/0x99
> [    8.733232]  [<ffffffff8d18205b>] print_circular_bug+0x200/0x20e
> [    8.733235]  [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
> [    8.733238]  [<ffffffff8d0a17c8>] ? sched_clock_local+0x18/0x80
> [    8.733240]  [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.733260]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733262]  [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
> [    8.733281]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733301]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733304]  [<ffffffff8d1ec87c>] ? kmem_cache_alloc_trace+0x25c/0x320
> [    8.733322]  [<ffffffffc02bfce5>] ? drm_modeset_lock_all+0x25/0x120 [drm]
> [    8.733341]  [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733351]  [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
> [    8.733360]  [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
> [    8.733403]  [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
> [    8.733406]  [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
> [    8.733408]  [<ffffffff8d450526>] visual_init+0xd6/0x130
> [    8.733410]  [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
> [    8.733413]  [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
> [    8.733415]  [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
> [    8.733417]  [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
> [    8.733419]  [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
> [    8.733422]  [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
> [    8.733424]  [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
> [    8.733426]  [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
> [    8.733427]  [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
> [    8.733430]  [<ffffffff8d4817c0>] ? vga_switcheroo_client_fb_set+0x60/0x70
> [    8.733440]  [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
> [    8.733483]  [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
> [    8.733484]  [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
> [    8.733486]  [<ffffffff8d08771e>] process_one_work+0x1de/0x670
> [    8.733488]  [<ffffffff8d08769f>] ? process_one_work+0x15f/0x670
> [    8.733490]  [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
> [    8.733492]  [<ffffffff8d087bb0>] ? process_one_work+0x670/0x670
> [    8.733494]  [<ffffffff8d08e7e2>] kthread+0xf2/0x110
> [    8.733497]  [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
> [    8.733499]  [<ffffffff8d08e6f0>] ? kthread_create_on_node+0x220/0x220

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 12:27       ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2016-08-02 12:27 UTC (permalink / raw)
  To: Jiri Kosina, Linus Torvalds
  Cc: Daniel Vetter, Linux Kernel Mailing List, DRI mailing list

On Tue, 02 Aug 2016, Jiri Kosina <jikos@kernel.org> wrote:
> On Mon, 1 Aug 2016, Linus Torvalds wrote:
>
>> > This is the main drm pull request for 4.8, I'm down with a cold at the moment
>> > so hopefully this isn't in too bad a state, I finished pulling stuff last
>> > week mostly (nouveau fixes just went in today), so only this message should
>> > be influenced by illness. Apologies to anyone who's major feature I missed :-)
>> >
>> > i915:
>> >         BXT support enabled by default
>> >         GVT-g infrastructure
>> >         GuC command submission and fixes
>> >         BXT workarounds
>> >         SKL/BKL workarounds
>> >         Demidlayering device registration
>> >         Thundering herd fixes
>> >         Missing pci ids
>> >         Atomic updates
>> 
>> Hmm. I did the merge and pushed it out, but testing it on my laptop
>> shows some very annoying flickering problem.
>
> In addition to that, what I see with current git (HEAD == 731c7d3a205, 
> i.e. the drm merge) is lockdep report during bootup about AB-BA between 
> mode_config.mutex and fb_notifier_list rwsem; will probably not have time 
> to look into it more (look at the code and / or bisect) until tomorrow, so 
> sending out early as a heads-up.
>
> Also, trying to suspend the machine to disk hangs, with the "suspend" LED 
> constantly blinking, LCD being blank, but the machine never actually 
> powering off. Not sure whether it might not be the very deadlock actually 
> triggering for real.

There was [1] before my vacation to fix this, but it doesn't seem to
have gone anywhere since. And it doesn't refer what caused the lockdep
splat to begin with.

BR,
Jani.

[1] http://patchwork.freedesktop.org/patch/msgid/1467286256-8870-1-git-send-email-chris@chris-wilson.co.uk

>
>
> [    8.731638] fbcon: inteldrmfb (fb0) is primary device
>
> [    8.732611] ======================================================
> [    8.732612] [ INFO: possible circular locking dependency detected ]
> [    8.732614] 4.7.0-10753-g731c7d3 #459 Not tainted
> [    8.732614] -------------------------------------------------------
> [    8.732615] kworker/u8:3/60 is trying to acquire lock:
> [    8.732650]  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.732651] 
> but task is already holding lock:
> [    8.732657]  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
> [    8.732658] 
> which lock already depends on the new lock.
>
> [    8.732658] 
> the existing dependency chain (in reverse order) is:
> [    8.732661] 
> -> #1 ((fb_notifier_list).rwsem){++++.+}:
> [    8.732665]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.732669]        [<ffffffff8d6a0b25>] down_write+0x55/0xc0
> [    8.732671]        [<ffffffff8d08ffb1>] blocking_notifier_chain_register+0x21/0xb0
> [    8.732674]        [<ffffffff8d3d1318>] fb_register_client+0x18/0x20
> [    8.732676]        [<ffffffff8d3d0b88>] backlight_device_register+0x138/0x250
> [    8.732746]        [<ffffffffc0568912>] intel_backlight_device_register+0xa2/0x160 [i915]
> [    8.732791]        [<ffffffffc053735e>] intel_connector_register+0xe/0x10 [i915]
> [    8.732809]        [<ffffffffc02ae389>] drm_connector_register+0x49/0x80 [drm]
> [    8.732827]        [<ffffffffc02b28a0>] drm_modeset_register_all+0x1d0/0x260 [drm]
> [    8.732843]        [<ffffffffc02a9c22>] drm_dev_register+0xc2/0xd0 [drm]
> [    8.732878]        [<ffffffffc04a6ce5>] i915_driver_load+0x745/0x13e0 [i915]
> [    8.732914]        [<ffffffffc04b173f>] i915_pci_probe+0x4f/0x70 [i915]
> [    8.732917]        [<ffffffff8d3af7d5>] local_pci_probe+0x45/0xa0
> [    8.732920]        [<ffffffff8d3b0bf1>] pci_device_probe+0xe1/0x130
> [    8.732923]        [<ffffffff8d489be8>] driver_probe_device+0x1a8/0x460
> [    8.732925]        [<ffffffff8d489f6d>] __driver_attach+0xcd/0xf0
> [    8.732927]        [<ffffffff8d4878a4>] bus_for_each_dev+0x64/0xa0
> [    8.732929]        [<ffffffff8d4894ee>] driver_attach+0x1e/0x20
> [    8.732931]        [<ffffffff8d488f83>] bus_add_driver+0x1d3/0x290
> [    8.732933]        [<ffffffff8d48ad30>] driver_register+0x60/0xe0
> [    8.732935]        [<ffffffff8d3af100>] __pci_register_driver+0x60/0x70
> [    8.732972]        [<ffffffffc05ec05d>] i915_init+0x5d/0x64 [i915]
> [    8.732975]        [<ffffffff8d00041d>] do_one_initcall+0x3d/0x160
> [    8.732979]        [<ffffffff8d182bfd>] do_init_module+0x60/0x1dc
> [    8.732982]        [<ffffffff8d107a5e>] load_module+0x142e/0x1bf0
> [    8.732984]        [<ffffffff8d108449>] SYSC_finit_module+0xa9/0xd0
> [    8.732986]        [<ffffffff8d10848e>] SyS_finit_module+0xe/0x10
> [    8.732989]        [<ffffffff8d6a38e9>] entry_SYSCALL_64_fastpath+0x1c/0xac
> [    8.732992] 
> -> #0 (&dev->mode_config.mutex){+.+.+.}:
> [    8.732995]        [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
> [    8.732997]        [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.732999]        [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
> [    8.733019]        [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733034]        [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
> [    8.733043]        [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
> [    8.733088]        [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
> [    8.733091]        [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
> [    8.733094]        [<ffffffff8d450526>] visual_init+0xd6/0x130
> [    8.733097]        [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
> [    8.733099]        [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
> [    8.733101]        [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
> [    8.733104]        [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
> [    8.733106]        [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
> [    8.733109]        [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
> [    8.733111]        [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
> [    8.733113]        [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
> [    8.733116]        [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
> [    8.733126]        [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
> [    8.733169]        [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
> [    8.733172]        [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
> [    8.733174]        [<ffffffff8d08771e>] process_one_work+0x1de/0x670
> [    8.733176]        [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
> [    8.733178]        [<ffffffff8d08e7e2>] kthread+0xf2/0x110
> [    8.733181]        [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
> [    8.733181] 
> other info that might help us debug this:
>
> [    8.733182]  Possible unsafe locking scenario:
>
> [    8.733183]        CPU0                    CPU1
> [    8.733183]        ----                    ----
> [    8.733185]   lock((fb_notifier_list).rwsem);
> [    8.733186]                                lock(&dev->mode_config.mutex);
> [    8.733187]                                lock((fb_notifier_list).rwsem);
> [    8.733188]   lock(&dev->mode_config.mutex);
> [    8.733189] 
>  *** DEADLOCK ***
>
> [    8.733190] 6 locks held by kworker/u8:3/60:
> [    8.733194]  #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
> [    8.733198]  #1:  ((&entry->work)){+.+.+.}, at: [<ffffffff8d08769f>] process_one_work+0x15f/0x670
> [    8.733201]  #2:  (registration_lock){+.+.+.}, at: [<ffffffff8d3d3167>] register_framebuffer+0x27/0x320
> [    8.733205]  #3:  (console_lock){+.+.+.}, at: [<ffffffff8d3d3396>] register_framebuffer+0x256/0x320
> [    8.733208]  #4:  (&fb_info->lock){+.+.+.}, at: [<ffffffff8d3d178d>] lock_fb_info+0x1d/0x40
> [    8.733212]  #5:  ((fb_notifier_list).rwsem){++++.+}, at: [<ffffffff8d08fe2a>] __blocking_notifier_call_chain+0x3a/0x70
> [    8.733212] 
> stack backtrace:
> [    8.733214] CPU: 1 PID: 60 Comm: kworker/u8:3 Not tainted 4.7.0-10753-g731c7d3 #459
> [    8.733215] Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008
> [    8.733218] Workqueue: events_unbound async_run_entry_fn
> [    8.733221]  0000000000000000 ffff95f0b77537d8 ffffffff8d36c09e ffffffff8e822d00
> [    8.733224]  ffffffff8e822d00 ffff95f0b7753818 ffffffff8d18205b ffff95f0b7753850
> [    8.733226]  ffff95f0b774d718 0000000000000005 0000000000000006 ffff95f0b774cd40
> [    8.733227] Call Trace:
> [    8.733230]  [<ffffffff8d36c09e>] dump_stack+0x67/0x99
> [    8.733232]  [<ffffffff8d18205b>] print_circular_bug+0x200/0x20e
> [    8.733235]  [<ffffffff8d0c1e7c>] __lock_acquire+0x16cc/0x1700
> [    8.733238]  [<ffffffff8d0a17c8>] ? sched_clock_local+0x18/0x80
> [    8.733240]  [<ffffffff8d0c22d0>] lock_acquire+0xb0/0x1e0
> [    8.733260]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733262]  [<ffffffff8d69f2d1>] mutex_lock_nested+0x71/0x390
> [    8.733281]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733301]  [<ffffffffc02bfd00>] ? drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733304]  [<ffffffff8d1ec87c>] ? kmem_cache_alloc_trace+0x25c/0x320
> [    8.733322]  [<ffffffffc02bfce5>] ? drm_modeset_lock_all+0x25/0x120 [drm]
> [    8.733341]  [<ffffffffc02bfd00>] drm_modeset_lock_all+0x40/0x120 [drm]
> [    8.733351]  [<ffffffffc047640b>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2b/0x80 [drm_kms_helper]
> [    8.733360]  [<ffffffffc047648c>] drm_fb_helper_set_par+0x2c/0x50 [drm_kms_helper]
> [    8.733403]  [<ffffffffc05476aa>] intel_fbdev_set_par+0x1a/0x60 [i915]
> [    8.733406]  [<ffffffff8d3ce2b8>] fbcon_init+0x4d8/0x550
> [    8.733408]  [<ffffffff8d450526>] visual_init+0xd6/0x130
> [    8.733410]  [<ffffffff8d452ab6>] do_bind_con_driver+0x146/0x310
> [    8.733413]  [<ffffffff8d452f66>] do_take_over_console+0x106/0x180
> [    8.733415]  [<ffffffff8d3c9777>] do_fbcon_takeover+0x57/0xb0
> [    8.733417]  [<ffffffff8d3cedd6>] fbcon_event_notify+0x726/0x870
> [    8.733419]  [<ffffffff8d08fbfe>] notifier_call_chain+0x4e/0xa0
> [    8.733422]  [<ffffffff8d08fe43>] __blocking_notifier_call_chain+0x53/0x70
> [    8.733424]  [<ffffffff8d08fe76>] blocking_notifier_call_chain+0x16/0x20
> [    8.733426]  [<ffffffff8d3d135b>] fb_notifier_call_chain+0x1b/0x20
> [    8.733427]  [<ffffffff8d3d3379>] register_framebuffer+0x239/0x320
> [    8.733430]  [<ffffffff8d4817c0>] ? vga_switcheroo_client_fb_set+0x60/0x70
> [    8.733440]  [<ffffffffc047670a>] drm_fb_helper_initial_config+0x25a/0x3a3 [drm_kms_helper]
> [    8.733483]  [<ffffffffc0548938>] intel_fbdev_initial_config+0x18/0x30 [i915]
> [    8.733484]  [<ffffffff8d091aaa>] async_run_entry_fn+0x4a/0x140
> [    8.733486]  [<ffffffff8d08771e>] process_one_work+0x1de/0x670
> [    8.733488]  [<ffffffff8d08769f>] ? process_one_work+0x15f/0x670
> [    8.733490]  [<ffffffff8d087cd5>] worker_thread+0x125/0x4a0
> [    8.733492]  [<ffffffff8d087bb0>] ? process_one_work+0x670/0x670
> [    8.733494]  [<ffffffff8d08e7e2>] kthread+0xf2/0x110
> [    8.733497]  [<ffffffff8d6a3b2f>] ret_from_fork+0x1f/0x40
> [    8.733499]  [<ffffffff8d08e6f0>] ? kthread_create_on_node+0x220/0x220

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 12:27       ` Jani Nikula
  (?)
@ 2016-08-02 12:49       ` Jiri Kosina
  -1 siblings, 0 replies; 24+ messages in thread
From: Jiri Kosina @ 2016-08-02 12:49 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Linus Torvalds, Dave Airlie, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List, Chris Wilson

On Tue, 2 Aug 2016, Jani Nikula wrote:

> >> > This is the main drm pull request for 4.8, I'm down with a cold at the moment
> >> > so hopefully this isn't in too bad a state, I finished pulling stuff last
> >> > week mostly (nouveau fixes just went in today), so only this message should
> >> > be influenced by illness. Apologies to anyone who's major feature I missed :-)
> >> >
> >> > i915:
> >> >         BXT support enabled by default
> >> >         GVT-g infrastructure
> >> >         GuC command submission and fixes
> >> >         BXT workarounds
> >> >         SKL/BKL workarounds
> >> >         Demidlayering device registration
> >> >         Thundering herd fixes
> >> >         Missing pci ids
> >> >         Atomic updates
> >> 
> >> Hmm. I did the merge and pushed it out, but testing it on my laptop
> >> shows some very annoying flickering problem.
> >
> > In addition to that, what I see with current git (HEAD == 731c7d3a205, 
> > i.e. the drm merge) is lockdep report during bootup about AB-BA between 
> > mode_config.mutex and fb_notifier_list rwsem; will probably not have time 
> > to look into it more (look at the code and / or bisect) until tomorrow, so 
> > sending out early as a heads-up.
> >
> > Also, trying to suspend the machine to disk hangs, with the "suspend" LED 
> > constantly blinking, LCD being blank, but the machine never actually 
> > powering off. Not sure whether it might not be the very deadlock actually 
> > triggering for real.
> 
> There was [1] before my vacation to fix this, but it doesn't seem to
> have gone anywhere since. And it doesn't refer what caused the lockdep
> splat to begin with.

Confirmed, that patch fixes the lockdep splat, so for that part

	Tested-by: Jiri Kosina <jkosina@suse.cz>

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02  8:10       ` Ville Syrjälä
@ 2016-08-02 16:40         ` Linus Torvalds
  -1 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02 16:40 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> So PSR seems more likely. The underruns might point at some watermark
> fail though :(
>
> I have a couple of pending PSR patches you may want to try as well,
> if i915.enable_psr=0 helps.
>
> First set is here:
> git://github.com/vsyrjala/linux.git psr_setup_time_2
> This should be perfectly safe to go in actually, as it will only result
> in disabling PSR with certain panels.

This first git pull fixes it for me, as far as I can tell. I'm not
sure that the problem is 100% reproducible, but I booted into each
kernel twice, and the current git tree is broken, while with your
psr_setup_time_2 branch pulled it works.  So it does seem to be the
fix.

> The second set is here:
> git://github.com/vsyrjala/linux.git psr_fixes_2

I didn't even test that one.

Should I just pull that psr_setup_time2 branch for real? I'd like to
get a real pull request with explanations etc, but other than that it
looks good to go.

            Linus

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 16:40         ` Linus Torvalds
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Torvalds @ 2016-08-02 16:40 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> So PSR seems more likely. The underruns might point at some watermark
> fail though :(
>
> I have a couple of pending PSR patches you may want to try as well,
> if i915.enable_psr=0 helps.
>
> First set is here:
> git://github.com/vsyrjala/linux.git psr_setup_time_2
> This should be perfectly safe to go in actually, as it will only result
> in disabling PSR with certain panels.

This first git pull fixes it for me, as far as I can tell. I'm not
sure that the problem is 100% reproducible, but I booted into each
kernel twice, and the current git tree is broken, while with your
psr_setup_time_2 branch pulled it works.  So it does seem to be the
fix.

> The second set is here:
> git://github.com/vsyrjala/linux.git psr_fixes_2

I didn't even test that one.

Should I just pull that psr_setup_time2 branch for real? I'd like to
get a real pull request with explanations etc, but other than that it
looks good to go.

            Linus
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 16:40         ` Linus Torvalds
@ 2016-08-02 18:01           ` Daniel Vetter
  -1 siblings, 0 replies; 24+ messages in thread
From: Daniel Vetter @ 2016-08-02 18:01 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Ville Syrjälä,
	Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 6:40 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
>>
>> So PSR seems more likely. The underruns might point at some watermark
>> fail though :(
>>
>> I have a couple of pending PSR patches you may want to try as well,
>> if i915.enable_psr=0 helps.
>>
>> First set is here:
>> git://github.com/vsyrjala/linux.git psr_setup_time_2
>> This should be perfectly safe to go in actually, as it will only result
>> in disabling PSR with certain panels.
>
> This first git pull fixes it for me, as far as I can tell. I'm not
> sure that the problem is 100% reproducible, but I booted into each
> kernel twice, and the current git tree is broken, while with your
> psr_setup_time_2 branch pulled it works.  So it does seem to be the
> fix.
>
>> The second set is here:
>> git://github.com/vsyrjala/linux.git psr_fixes_2
>
> I didn't even test that one.
>
> Should I just pull that psr_setup_time2 branch for real? I'd like to
> get a real pull request with explanations etc, but other than that it
> looks good to go.

Hm, I reviewed all the patches from Ville already. I gues they were
stuck because we didn't have someone who reported that it's fixed,
plus they lacked an ack from Dave for the 2 core patches. tbh I'd just
apply them all to drm-intel-fixes and then send out a pull for that
(there's two more bugfix patches on it which missed Dave's main pull
by a notch). Dave/Jani?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 18:01           ` Daniel Vetter
  0 siblings, 0 replies; 24+ messages in thread
From: Daniel Vetter @ 2016-08-02 18:01 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Daniel Vetter, DRI mailing list, Linux Kernel Mailing List

On Tue, Aug 2, 2016 at 6:40 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
>>
>> So PSR seems more likely. The underruns might point at some watermark
>> fail though :(
>>
>> I have a couple of pending PSR patches you may want to try as well,
>> if i915.enable_psr=0 helps.
>>
>> First set is here:
>> git://github.com/vsyrjala/linux.git psr_setup_time_2
>> This should be perfectly safe to go in actually, as it will only result
>> in disabling PSR with certain panels.
>
> This first git pull fixes it for me, as far as I can tell. I'm not
> sure that the problem is 100% reproducible, but I booted into each
> kernel twice, and the current git tree is broken, while with your
> psr_setup_time_2 branch pulled it works.  So it does seem to be the
> fix.
>
>> The second set is here:
>> git://github.com/vsyrjala/linux.git psr_fixes_2
>
> I didn't even test that one.
>
> Should I just pull that psr_setup_time2 branch for real? I'd like to
> get a real pull request with explanations etc, but other than that it
> looks good to go.

Hm, I reviewed all the patches from Ville already. I gues they were
stuck because we didn't have someone who reported that it's fixed,
plus they lacked an ack from Dave for the 2 core patches. tbh I'd just
apply them all to drm-intel-fixes and then send out a pull for that
(there's two more bugfix patches on it which missed Dave's main pull
by a notch). Dave/Jani?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
  2016-08-02 18:01           ` Daniel Vetter
@ 2016-08-02 18:34             ` Ville Syrjälä
  -1 siblings, 0 replies; 24+ messages in thread
From: Ville Syrjälä @ 2016-08-02 18:34 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Linus Torvalds, Daniel Vetter, DRI mailing list,
	Linux Kernel Mailing List

On Tue, Aug 02, 2016 at 08:01:14PM +0200, Daniel Vetter wrote:
> On Tue, Aug 2, 2016 at 6:40 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> > <ville.syrjala@linux.intel.com> wrote:
> >>
> >> So PSR seems more likely. The underruns might point at some watermark
> >> fail though :(
> >>
> >> I have a couple of pending PSR patches you may want to try as well,
> >> if i915.enable_psr=0 helps.
> >>
> >> First set is here:
> >> git://github.com/vsyrjala/linux.git psr_setup_time_2
> >> This should be perfectly safe to go in actually, as it will only result
> >> in disabling PSR with certain panels.
> >
> > This first git pull fixes it for me, as far as I can tell. I'm not
> > sure that the problem is 100% reproducible, but I booted into each
> > kernel twice, and the current git tree is broken, while with your
> > psr_setup_time_2 branch pulled it works.  So it does seem to be the
> > fix.
> >
> >> The second set is here:
> >> git://github.com/vsyrjala/linux.git psr_fixes_2
> >
> > I didn't even test that one.
> >
> > Should I just pull that psr_setup_time2 branch for real? I'd like to
> > get a real pull request with explanations etc, but other than that it
> > looks good to go.
> 
> Hm, I reviewed all the patches from Ville already. I gues they were
> stuck because we didn't have someone who reported that it's fixed,
> plus they lacked an ack from Dave for the 2 core patches.

+ they were part of a series that included a rotten apple responsible
  for a BAT regression

> tbh I'd just
> apply them all to drm-intel-fixes and then send out a pull for that
> (there's two more bugfix patches on it which missed Dave's main pull
> by a notch). Dave/Jani?
> -Daniel
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [git pull] drm for v4.8
@ 2016-08-02 18:34             ` Ville Syrjälä
  0 siblings, 0 replies; 24+ messages in thread
From: Ville Syrjälä @ 2016-08-02 18:34 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Linus Torvalds, Linux Kernel Mailing List,
	DRI mailing list

On Tue, Aug 02, 2016 at 08:01:14PM +0200, Daniel Vetter wrote:
> On Tue, Aug 2, 2016 at 6:40 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > On Tue, Aug 2, 2016 at 4:10 AM, Ville Syrjälä
> > <ville.syrjala@linux.intel.com> wrote:
> >>
> >> So PSR seems more likely. The underruns might point at some watermark
> >> fail though :(
> >>
> >> I have a couple of pending PSR patches you may want to try as well,
> >> if i915.enable_psr=0 helps.
> >>
> >> First set is here:
> >> git://github.com/vsyrjala/linux.git psr_setup_time_2
> >> This should be perfectly safe to go in actually, as it will only result
> >> in disabling PSR with certain panels.
> >
> > This first git pull fixes it for me, as far as I can tell. I'm not
> > sure that the problem is 100% reproducible, but I booted into each
> > kernel twice, and the current git tree is broken, while with your
> > psr_setup_time_2 branch pulled it works.  So it does seem to be the
> > fix.
> >
> >> The second set is here:
> >> git://github.com/vsyrjala/linux.git psr_fixes_2
> >
> > I didn't even test that one.
> >
> > Should I just pull that psr_setup_time2 branch for real? I'd like to
> > get a real pull request with explanations etc, but other than that it
> > looks good to go.
> 
> Hm, I reviewed all the patches from Ville already. I gues they were
> stuck because we didn't have someone who reported that it's fixed,
> plus they lacked an ack from Dave for the 2 core patches.

+ they were part of a series that included a rotten apple responsible
  for a BAT regression

> tbh I'd just
> apply them all to drm-intel-fixes and then send out a pull for that
> (there's two more bugfix patches on it which missed Dave's main pull
> by a notch). Dave/Jani?
> -Daniel
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [git pull] drm for v4.8
@ 2016-08-02  7:03 Михаил Гаврилов
  0 siblings, 0 replies; 24+ messages in thread
From: Михаил Гаврилов @ 2016-08-02  7:03 UTC (permalink / raw)
  To: dri-devel, torvalds

> Hmm. I did the merge and pushed it out, but testing it on my laptop
> shows some very annoying flickering problem.

I can confirm that this problem present in older kernels.

Just run Fedora 24 as guest in gnome-boxes on Fedora 24.

--
Best Regards,
Mike Gavrilov.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2016-08-02 19:09 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-02  1:32 [git pull] drm for v4.8 Dave Airlie
2016-08-02  1:32 ` Dave Airlie
2016-08-02  2:26 ` Linus Torvalds
2016-08-02  2:26   ` Linus Torvalds
2016-08-02  8:00   ` Daniel Vetter
2016-08-02  8:00     ` Daniel Vetter
2016-08-02  8:10     ` Ville Syrjälä
2016-08-02  8:10       ` Ville Syrjälä
2016-08-02 11:28       ` Linus Torvalds
2016-08-02 11:28         ` Linus Torvalds
2016-08-02 12:22         ` Jani Nikula
2016-08-02 12:22           ` Jani Nikula
2016-08-02 16:40       ` Linus Torvalds
2016-08-02 16:40         ` Linus Torvalds
2016-08-02 18:01         ` Daniel Vetter
2016-08-02 18:01           ` Daniel Vetter
2016-08-02 18:34           ` Ville Syrjälä
2016-08-02 18:34             ` Ville Syrjälä
2016-08-02 11:47   ` Jiri Kosina
2016-08-02 12:19     ` Jiri Kosina
2016-08-02 12:27     ` Jani Nikula
2016-08-02 12:27       ` Jani Nikula
2016-08-02 12:49       ` Jiri Kosina
2016-08-02  7:03 Михаил Гаврилов

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.