dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [git pull] drm for 4.4-rc1
@ 2015-11-09  0:46 Dave Airlie
  2015-12-10  3:04 ` Stefan Lippers-Hollmann
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Airlie @ 2015-11-09  0:46 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, DRI mailing list

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


Hi Linus,

I Was Almost Tempted To Capitalise Every Word, but then I decided I 
couldn't read it myself!

There are some conflicts with your tree in MAINTAINERS, i915 and amdgpu, 
they are all fairly trivial, I've pushed a drm-next-merged branch if you 
want to check anything out.

I've also got one pull request for the sti driver outstanding. It relied 
on a commit in Greg's tree and I didn't find out in time, that commit is 
in your tree now so I might send that along once this is merged.

I also had the accidental misfortune to have access to a Skylake on my 
desk for a few days, and I've had to encourage Intel to try harder, which 
seems to be happening now.

Here is the main drm-next pull request for 4.4.

Highlights:

New driver:
	vc4 driver for the Rasberry Pi VPU.
	(From Eric Anholt at Broadcom.)

Core:
	Atomic fbdev support
	Atomic helpers for runtime pm
	dp/aux i2c STATUS_UPDATE handling
	struct_mutex usage cleanups.
	Generic of probing support.
	
Documentation:
	Kerneldoc for VGA switcheroo code.
	Rename to gpu instead of drm to reflect scope.

i915:
	Skylake GuC firmware fixes
	HPD A support
	VBT backlight fallbacks
	Fastboot by default for some systems
	FBC work
	BXT/SKL workarounds
	Skylake deeper sleep state fixes

amdgpu:
	Enable GPU scheduler by default
	New atombios opcodes
	GPUVM debugging options
	Stoney support.
	Fencing cleanups.

radeon:
	More efficient CS checking

nouveau:
	gk20a instance memory handling improvements.
	Improved PGOB detection and GK107 support
	Kepler GDDR5 PLL statbility improvement
	G8x/GT2xx reclock improvements
	new userspace API compatiblity fixes.

virtio-gpu:
	Add 3D support - qemu 2.5 has it merged for it's gtk backend.

msm:
	Initial msm88896 (snapdragon 8200)

exynos:
	HDMI cleanups
	Enable mixer driver byt default
	Add DECON-TV support

vmwgfx:
	Move to using memremap + fixes.

rcar-du:
	Add support for R8A7793/4 DU

armada:
	Remove support for non-component mode
	Improved plane handling
	Power savings while in DPMS off.

tda998x:
	Remove unused slave encoder support
	Use more HDMI helpers
	Fix EDID read handling

dwhdmi:
	Interlace video mode support for ipu-v3/dw_hdmi
	Hotplug state fixes
	Audio driver integration

imx:
	More color formats support.

tegra:
	Minor fixes/improvements.


The following changes since commit 06d1ee32a4d25356a710b49d5e95dbdd68bdf505:

  Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (2015-10-13 09:45:21 -0700)

are available in the git repository at:

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

for you to fetch changes up to 816d2206f0f9953ca854e4ff1a2749a5cbd62715:

  Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next (2015-11-07 17:16:59 +1000)

----------------------------------------------------------------
Adam Richter (1):
      drm: fix mutex leak in drm_dp_get_mst_branch_device

Akash Goel (1):
      drm/i915/bxt: Set time interval unit to 0.833us

Alex Dai (10):
      drm/i915: GuC-specific firmware loader
      drm/i915: Debugfs interface to read GuC load status
      drm/i915: Prepare for GuC-based command submission
      drm/i915: Enable GuC firmware log
      drm/i915: Integrate GuC-based command submission
      drm/i915/guc: Support GuC version 4.3
      drm/i915: Notify GuC rc6 state
      drm/i915/guc: Fix a bug in GuC status check
      drm/i915/guc: Media domain bit needed when notify GuC rc6 state
      drm/i915/guc: Add host2guc notification for suspend and resume

Alex Deucher (33):
      drm/amdgpu: split gfx8 gpu init into sw and hw parts
      drm/amdgpu: disable hw semaphores by default
      drm/amdgpu/atom: implement debug opcode
      drm/amdgpu/atom: add support for process ds opcode
      drm/amdgpu/atom: add support for new mul32 opcodes (v2)
      drm/amdgpu/atom: add support for new div32 opcodes (v3)
      drm/amdgpu/dce10: Use cursor_set2 hook for enabling / disabling the HW cursor
      drm/amdgpu/dce10: Re-show the cursor after a modeset (v2)
      drm/amdgpu/dce10: Move hotspot handling out of set_cursor
      drm/amdgpu/dce10: Clean up reference counting and pinning of the cursor BOs
      drm/amdgpu/dce10: Fold set_cursor() into show_cursor()
      drm/amdgpu/dce11: Use cursor_set2 hook for enabling / disabling the HW cursor
      drm/amdgpu/dce11: Re-show the cursor after a modeset (v2)
      drm/amdgpu/dce11: Move hotspot handling out of set_cursor
      drm/amdgpu/dce11: Clean up reference counting and pinning of the cursor BOs
      drm/amdgpu/dce11: Fold set_cursor() into show_cursor()
      drm/amdgpu/dce8: Use cursor_set2 hook for enabling / disabling the HW cursor
      drm/amdgpu/dce8: Re-show the cursor after a modeset (v2)
      drm/amdgpu/dce8: Move hotspot handling out of set_cursor
      drm/amdgpu/dce8: Clean up reference counting and pinning of the cursor BOs
      drm/amdgpu/dce8: Fold set_cursor() into show_cursor()
      drm/amdgpu: unpin cursor BOs on suspend and pin them again on resume
      drm/amdgpu: rework sdma structures
      drm/amdgpu: clean up pageflip interrupt handling
      drm/amdgpu/gfx8: set TC_WB_ACTION_EN in RELEASE_MEM packet
      drm/amdgpu/dce: simplify suspend/resume
      drm/amdgpu/dce8: optimize pageflip
      drm/amdgpu/dce10: optimize pageflip
      drm/amdgpu/dce11: optimize pageflip
      drm/radeon/dce4+: optimize pageflip (v2)
      drm/amdgpu: add some additional CZ revisions
      drm/amdgpu: add GFX 8.1 register headers
      drm/amdgpu: don't VT switch on suspend

Alexandre Courbot (9):
      drm/nouveau/pmu: do not assume a PMU is present
      drm/nouveau/timer: re-introduce nvkm_wait_xsec macros
      drm/nouveau/ltc: add hooks for invalidate and flush
      drm/nouveau/ltc/gf100: add flush/invalidate functions
      drm/nouveau/instmem/gk20a: use direct CPU access
      drm/nouveau/platform: allow to specify the IOMMU bit
      drm/nouveau/instmem/gk20a: make use of the IOMMU bit
      drm/nouveau/ttm: convert to DMA API
      drm/nouveau/ttm: set the DMA mask for platform devices

Ander Conselvan de Oliveira (1):
      drm/i915: Rename DP link training functions

Andrzej Hajda (29):
      drm/i915: fix handling gen8_emit_flush_coherentl3_wa result
      drm/exynos/hdmi: remove support for deprecated compatible
      drm/exynos/hdmi: use mappings for registers with IP dependent address
      drm/exynos/hdmi: move PLL stabilization check code to separate function
      drm/exynos/hdmi: simplify HDMI-PHY power sequence
      drm/exynos/hdmi: replace all writeb with writel
      drm/exynos/hdmi: fix removal order
      drm/exynos/hdmi: use optional regulator_get for hdmi-en
      drm/exynos/hdmi: use constant size array for regulators
      drm/exynos/hdmi: simplify clock re-parenting
      drm/exynos/hdmi: convert to gpiod API
      drm/exynos/hdmi: remove deprecated hdmi_resources structure
      drm/exynos/hdmi: convert container_of macro to inline function
      drm/exynos/hdmi: improve HDMI/ACR related code
      drm/exynos/hdmi: remove unused field
      gpu: ipu-v3: fix div_ratio type
      drm/exynos/decon5433: add PCLK clock
      drm/exynos/decon5433: fix timing registers writes
      drm/exynos/decon5433: add function to set particular register bits
      drm/exynos/decon5433: merge different flag fields
      drm/exynos/decon5433: remove duplicated initialization
      drm/exynos/decon5433: add support for DECON-TV
      drm/exynos: add atomic_check callback to exynos_crtc
      drm/exynos/mixer: replace direct cross-driver call with drm mode validation
      drm/exynos: separate Mixer and HDMI drivers
      drm/exynos: abstract out common dependency
      drm/exynos: re-arrange Kconfig entries
      drm/exynos: simplify Kconfig component names
      ARM: exynos_defconfig: enable Exynos DRM Mixer driver

Animesh Manna (7):
      drm/i915/bxt: Path added of dmc firmware ver1 for BXT.
      drm/i915/bxt: Stepping info added for bxt.
      drm/i915/bxt: Modified HAS_CSR, added support for BXT
      drm/i915/skl: Added a check for the hardware status of csr fw before loading.
      drm/i915/skl Remove the call for csr uninitialization from suspend path
      drm/i915/skl: Do not disable cdclk PLL if csr firmware is present
      drm/i915/skl: Block disable call for pw1 if dmc firmware is present.

Archit Taneja (1):
      drm/msm: Remove local fbdev emulation Kconfig option

Arun Siluvery (19):
      drm/i915: Change SRM, LRM instructions to use correct length
      drm/i915/gen9: Add WaDisableSamplerPowerBypassForSOPingPong
      drm/i915/bxt: Add WaSetClckGatingDisableMedia
      drm/i915/bxt: Update revision id for BXT C0
      drm/i915/gen9: Handle error returned by gen9_init_workarounds
      drm/i915/gen9: Merge two WA as they part of same register
      drm/i915/bxt: Add WaStoreMultiplePTEenable name
      drm/i915/skl: Remove WaDisableSDEUnitClockGating
      drm/i915/skl: Remove WaSetGAPSunitClckGateDisable
      drm/i915/skl: Remove WaDisableVFUnitClockGating
      drm/i915/gen8: Add gen8_init_workarounds for common WA
      drm/i915/gen8: Move INSTPM WA to common function
      drm/i915/gen8: Move WaDisableAsyncFlipPerfMode to common init fn
      drm/i915/gen8: Move WaDisablePartialInstShootdown to common init fn
      drm/i915/gen8: Move HiZ RAW stall optimization disable WA to common init fn
      drm/i915/gen8: Move Wa4x4STCOptimizationDisable to common init fn
      drm/i915/gen8: Move GEN7_GT_MODE WA to common init fn
      drm/i915/gen8: Move WaForceEnableNonCoherent to common init fn
      drm/i915/gen8: Move WaHdcDisableFetchWhenMasked to common init fn

Ben Skeggs (11):
      drm/nouveau: remove unnecessary usage of object handles
      drm/nouveau/pci/g84: split implementation from nv50
      drm/nouveau/pci/g94: split implementation from nv40
      drm/nouveau/pci/nv46: attempt to fix msi, and re-enable by default
      drm/nouveau/pci: prepare for chipset-specific initialisation tasks
      drm/nouveau/pmu/gk104: check fuse to determine presence of PGOB
      drm/nouveau/pmu/gk107: enable PGOB codepaths
      drm/nouveau/abi16: remove unused argument from nouveau_abi16_get()
      drm/nouveau/abi16: introduce locked variant of nouveau_abi16_get()
      drm/nouveau/abi16: implement limited interoperability with usif/nvif
      drm/nouveau: bump patchlevel to indicate availability of abi16/nvif interop

Bjorn Andersson (1):
      drm: msm: dsi: Don't attempt changing voltage of switches

Bob Paauwe (4):
      dtrm/edid: Allow comma separated edid binaries. (v3)
      drm/i915/skl: Don't clear all watermarks when updating. (v2)
      drm/i915/skl+: Enable pipe CSC on cursor planes. (v2)
      drm/i915/skl: Enable pipe gamma for sprite planes.

Chris Wilson (15):
      drm/i915: Do not check or a stalled pageflip prior to it being queued
      drm/i915: Refactor common ringbuffer allocation code
      drm/i915: Fix cmdparser STORE/LOAD command descriptors
      drm/i915: Defer adding preallocated stolen objects to the VM list
      drm/i915: Only update the current userptr worker
      drm/i915: Fix userptr deadlock with aliased GTT mmappings
      drm/i915: Use a task to cancel the userptr on invalidate_range
      drm/i915: shrinker_control->nr_to_scan is now unsigned long
      drm/i915: Add a tracepoint for the shrinker
      drm/i915: During shrink_all we only need to idle the GPU
      drm/i915: Remove dead i915_gem_evict_everything()
      drm/i915: Avoid GPU stalls from kswapd
      drm/i915: Kill DRI1 cliprects
      drm/i915: Hold dev->event_lock whilst inspecting intel_crtc->unpin_work
      drm/i915: Drop i915_gem_obj_is_pinned() from set-cache-level

Christian König (23):
      drm/amdgpu: also trace already allocated VMIDs
      drm/amdgpu: only print meaningful VM faults
      drm/amdgpu: add option to stop on VM fault
      drm/amdgpu: add option to clear VM page tables after every submit
      drm/amdgpu: add VM CS mapping trace point
      drm/amdgpu: remove old lockup detection infrastructure
      drm/amdgpu: remove the exclusive lock
      drm/amdgpu: change VM size default to 64GB
      drm/amdgpu: ignore scheduler fences from the same entity
      dma-buf/fence: add fence_wait_any_timeout function v2
      dma-buf/fence: add fence_is_later()
      drm/amdgpu: remove unneeded fence functions
      drm/amdgpu: switch to common fence_wait_any_timeout v2
      drm/amdgpu: move ring_from_fence to common code
      drm/amdgpu: use common fences for VMID management v2
      drm/amdgpu: use the new fence_is_later
      drm/amdgpu: use common fence for sync
      drm/amdgpu: remove amdgpu_fence_ref/unref
      drm/amdgpu: fix stoping the scheduler timeout
      drm/amdgpu: fix fence fallback check
      drm/amdgpu: remove now unused fence functions
      drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE
      drm/amdgpu: group together common fence implementation

Chunming Zhou (4):
      drm/amdgpu: add vram usage into debugfs
      drm/amdgpu: add TOPDOWN flag to the whole vram
      drm/amdgpu: enable scheduler by default
      drm/amdgpu: fix the broken vm->mutex V2

Damien Lespiau (1):
      drm/i915/bxt: Fix wrongly placed ')' in I915_READ()

Dan Carpenter (2):
      drm/i915: unlock on error in i915_ppgtt_info()
      drm/amdgpu: cleanup on error in amdgpu_cs_ioctl()

Dan Williams (1):
      drm/vmwgfx: switch from ioremap_cache to memremap

Daniel Stone (1):
      drm/i915: Fix locking around GuC firmware load

Daniel Vetter (44):
      drm/i915: Update DRIVER_DATE to 20150828
      Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued
      drm/i915: Update comments around base bpp
      drm/atomic-helper: properly annotate functions in kerneldoc
      drm/fb-helper: Use -errno return in restore_mode_unlocked
      drm: Make drm_fb_unregister/remove accept NULL fb
      drm/fb-helper: Add module option to disable fbdev emulation
      drm/atomic: refuse changing CRTC for planes directly
      drm/atomic-helper: Add option to update planes only on active crtc
      drm/atomic-helper: Pimp docs with recommendations for rpm drivers
      drm: Nuke drm_framebuffer->helper_private
      drm/i915: Update DRIVER_DATE to 20150911
      Merge remote-tracking branch 'drm-intel/drm-intel-next-queued' into drm-intel-next-queued
      drm/i915: Mark debug mod options as _unsafe
      Merge tag 'v4.3-rc2' into topic/drm-misc
      drm/i915: Update DRIVER_DATE to 20150928
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next
      drm/doc: Update docs about device instance setup
      drm: Remove __OS_HAS_AGP
      drm: Define a drm_invalid_op ioctl implementation
      drm/drm_ioctl.c: kerneldoc
      drm/vmwgfx: Stop checking for DRM_UNLOCKED
      drm: Remove dummy agp ioctl wrappers
      drm/i915: Remove setparam ioctl
      drm: Hack around CONFIG_AGP=m build failures
      drm/i915: Fix kerneldoc for i915_gem_shrink_all
      Merge remote-tracking branch 'takashi/topic/drm-sync-audio-rate' into drm-intel-next-queued
      drm/i915: Resurrect golden context on gen6/7
      Revert "drm/i915: Add hot_plug hook for hdmi encoder"
      Revert "drm/i915: Call encoder hotplug for init and resume cases"
      drm/i915: Update DRIVER_DATE to 20151010
      drm/i915: restore ggtt double-bind avoidance
      drm/radeon: Use rdev->gem.mutex to protect hyperz/cmask owners
      drm/i915: Mark getparam ioctl as DRM_UNLOCKED
      drm: Enforce unlocked ioctl operation for kms driver ioctls
      drm/<drivers>: Drop DRM_UNLOCKED from modeset drivers
      drm/doc: Rename docbook to gpu.tmpl
      drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj
      drm/gem: Check locking in drm_gem_object_unreference
      drm/gem: Use container_of in drm_gem_object_free
      drm/vgem: Drop vgem_drm_gem_mmap
      drm/gem: Use kref_get_unless_zero for the weak mmap references
      drm/fb-helper: Set plane rotation directly
      drm/fb-helper: Fix fb refcounting in pan_display_atomic

Danilo Cesar Lemes de Paula (1):
      drm/doc: Fixing xml documentation warning

Dave Airlie (33):
      Merge tag 'topic/drm-misc-2015-09-25' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-intel-next-2015-09-11' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
      Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
      Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'drm-intel-next-2015-09-28-merged' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'topic/drm-misc-2015-10-08' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge commit '06d1ee32a4d25356a710b49d5e95dbdd68bdf505' of git://git.kernel.org/.../torvalds/linux into drm-next
      Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
      virtio-gpu: don't free things on ttm_bo_init failure
      virtio-gpu: add basic prime support
      virtio-gpu: mark as a render gpu
      Merge branch 'virtio-gpu-for-drm-next' of git://git.kraxel.org/linux into drm-next
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next
      Merge tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge tag 'drm-vc4-next-2015-10-21' of http://github.com/anholt/linux into drm-next
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next
      Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next
      Merge tag 'drm-intel-next-fixes-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'topic/drm-misc-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next
      Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next
      Merge branch 'exynos-drm-next' of git://git.kernel.org/.../daeinki/drm-exynos into drm-next
      Merge branch 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next
      drm/amdgpu: don't oops on failure to load (v2)
      drm/amd/scheduler: don't oops on failure to load
      Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next
      Merge tag 'imx-drm-next-2015-10-30' of git://git.pengutronix.de/git/pza/linux into drm-next
      Merge tag 'drm/tegra/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge tag 'drm/panel/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
      Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next
      Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next

Dave Gordon (5):
      drm/i915: Expose one LRC function for GuC submission mode
      drm/i915: Implementation of GuC submission client
      drm/i915: Interrupt routing for GuC submission
      drm/i915: Debugfs interface for GuC submission statistics
      drm/i915: fix driver's versions of WARN_ON & WARN_ON_ONCE

David Herrmann (2):
      drm: simplify drm_sysfs_destroy() via IS_ERR_OR_NULL()
      drm: move drm_class into drm_sysfs.c

Derek Foreman (2):
      drm/vc4: Use the fbdev_cma helpers
      drm/vc4: Allow vblank to be disabled

Dmitry Osipenko (1):
      gpu: host1x: Fix MLOCK's debug info

Dongwon Kim (1):
      drm/i915: Do not hardcode s_max, ss_max and eu_mask for BXT

Egbert Eich (1):
      drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2

Eric Anholt (2):
      drm/vc4: Add devicetree bindings for VC4.
      drm/vc4: Add KMS support for Raspberry Pi.

Fabio Estevam (1):
      gpu: ipu-v3: ipu-csi: bool test doesn't need a comparison to false

Flora Cui (3):
      drm/amdgpu: extract common code in vi_common_early_init
      drm/amdgpu: update Fiji's rev id
      drm/amdgpu: update Fiji's Golden setting

Francisco Jerez (3):
      drm/i915: Bump command parser version number.
      drm/i915: Don't warn if the workaround list is empty.
      drm/i915: Hook up ring workaround writes at context creation time on Gen6-7.

Geert Uytterhoeven (1):
      drm: rcar-du: Remove obsolete rcar-du-r8a779x platform_device_id entries

Geliang Tang (5):
      drm/i915: fix kernel-doc warnings in i915_gem.c
      drm: fix kernel-doc warnings in drm_crtc.h
      drm: drm_atomic_crtc_get_property should be static
      drm/i915: fix task reference leak in i915_debugfs.c
      drm: fix trivial typos

Gerd Hoffmann (5):
      virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked
      virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer
      virtio-gpu: wait for cursor updates finish
      virtio-gpu: add 3d/virgl support
      virtio-gpu: add page flip support

Graham Whaley (1):
      doc: drm: Fix mis-spelling of i915_guc_submission includes

Grazvydas Ignotas (4):
      drm/radeon: simplify register checker
      drm/radeon: split evergreen_cs_check_reg
      drm/radeon: refactor register check loop
      drm/radeon: remove volatile qualifier

Gustavo Padovan (3):
      drm: WARN_ON if a modeset driver uses legacy suspend/resume helpers
      drm/exynos: add global macro for the default primary plane
      drm/exynos: add cursor plane support

Hai Li (1):
      drm/msm/dsi: Updata LNn_CFG4 register settings for 28nm PHY

Harry Wentland (1):
      drm/amdgpu: Make amdgpu_mn functions inline

Ilia Mirkin (5):
      drm/nouveau/gem: return only valid domain when there's only one
      drm/nouveau/gr: document mp error 0x10
      drm/nouveau/gr: add FERMI_COMPUTE_B class to GF110+
      drm/nouveau/pci: enable c800 magic for Lenovo Y510P
      drm/nouveau/pci: enable c800 magic for Medion Erazer X7827

Imre Deak (9):
      drm/i915/bxt: work around HW coherency issue when accessing GPU seqno
      drm/i915/bxt: don't allow cached GEM mappings on A stepping
      drm/i915: access the PP_CONTROL reg only pre GEN5
      drm/i915: access the PP_ON_DELAYS/PP_OFF_DELAYS regs only pre GEN5
      drm/i915/bxt: fix RC6 residency time calculation
      drm/i915: remove duplicate names for the render ring INSTDONE register
      drm/i915: rename INSTDONE to GEN2_INSTDONE
      drm/i915: rename INSTDONE1 to GEN4_INSTDONE1
      drm/i915/skl: disable display side power well support for now

Ingi Kim (1):
      drm/exynos: fix spelling errors

Insu Yun (1):
      drm: correctly check failed allocation

Jani Nikula (28):
      drm/i915: remove excessive scaler debugging messages
      drm/i915: move ibx_digital_port_connected to intel_dp.c
      drm/i915: make g4x_digital_port_connected return boolean status
      drm/i915: add MISSING_CASE annotation to ibx_digital_port_connected
      drm/i915: add common intel_digital_port_connected function
      drm/i915: split ibx_digital_port_connected to ibx and cpt variants
      drm/i915: split g4x_digital_port_connected to g4x and vlv variants
      drm/i915/bxt: Use correct live status register for BXT platform
      drm/dp: add drm_dp_tps3_supported helper
      drm/i915/dp: use the drm dp helper for determining sink tps3 support
      drm/i915: move intel_hrawclk() to intel_display.c
      drm/i915: add yesno utility function
      drm/i915/dp: move TPS3 logic to where it's used
      drm/i915: ignore link rate in TPS3 selection
      drm/i915: use the yesno helper for logging
      drm/i915: use pch backlight override on hsw too
      drm/i915: initialize backlight max from VBT
      drm/i915: don't hard code vlv backlight frequency if unset
      drm/i915/skl: handle port E in cpt_digital_port_connected
      drm/i915/ddi: warn instead of oops on invalid ddi encoder type
      drm/i915/ddi: use switch case instead of if ladder for ddi_get_encoder_port
      drm/i915: make backlight hooks connector specific
      drm/i915/snb: remove pre-production hardware workaround
      drm/i915/chv: remove pre-production hardware workarounds
      MAINTAINERS: add link to the Intel Graphics for Linux web site
      drm/i915: add hotplug activation period to hotplug update mask
      drm/i915: disable CPU PWM also on LPT/SPT backlight disable
      drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015)

Javier Martinez Canillas (2):
      drm/i915/irq: Fix kernel-doc warnings
      drm/i915/irq: Fix misspelled word register in kernel-doc

Jesse Barnes (6):
      drm/i915: make CSR firmware messages less verbose
      drm/i915: don't try to load GuC fw on pre-gen9
      drm/i915: add more debug info for when atomic updates fail v3
      drm/i915: cleanup pipe_update trace functions with new crtc debug info v3
      drm/i915: fix crash in error state readout on non-execlist platforms v2
      drm/i915: fixup runtime PM handling v2

Joonas Lahtinen (2):
      drm: Add DRM_ROTATE_MASK and DRM_REFLECT_MASK
      drm: Use DRM_ROTATE_MASK and DRM_REFLECT_MASK

Joonyoung Shim (2):
      drm/exynos: fix to detach device of iommu
      drm/exynos: cleanup name of gem object for exynos_drm

Jordan Justen (1):
      drm/i915: Add GEN7_GPGPU_DISPATCHDIMX/Y/Z to the register whitelist

Julia Lawall (2):
      drm: i915: drop null test before destroy functions
      drm/nouveau/disp,pm: constify nvkm_object_func structures

Junwei Zhang (3):
      drm/amdgpu: add timer to fence to detect scheduler lockup
      drm/amdgpu: fix lockup when clean pending fences
      drm/amdgpu: remove the unnecessary parameter adev for amdgpu_fence_wait_any()

Karol Herbst (1):
      drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5

Kumar, Mahesh (2):
      drm/i915/skl: Avoid using un-initialized bits_per_pixel
      drm/i915/skl+: Add YUV pixel format in Capability list

Laurent Pinchart (6):
      drm/atomic-helper: Don't skip plane disabling on active CRTC
      drm: rcar-du: Add dependency on OF
      drm: rcar-du: Enable DU0 to DPAD connection on R8A7791
      drm: rcar-du: Fix plane state free in plane reset handler
      drm: rcar-du: Add support for the R8A7793 DU
      drm: rcar-du: Add support for the R8A7794 DU

Libin Yang (2):
      drm/i915: add kerneldoc for i915_audio_component
      drm/i915: DocBook add i915_component.h support

Liviu Dudau (4):
      drm: Introduce generic probe function for component based masters.
      drm/imx: Convert the probe function to the generic drm_of_component_probe()
      drm/rockchip: Convert the probe function to the generic drm_of_component_probe()
      drm/armada: Convert the probe function to the generic drm_of_component_probe()

Lucas Stach (3):
      gpu: ipu-v3: add support for ARGB4444 16-bit color format
      drm/imx: enable ARGB4444 16-bit color format
      drm/imx: hdmi: fix HDMI setup to allow modes larger than FullHD

Lukas Wunner (21):
      vga_switcheroo: Document _ALL_ the things!
      drm/i915: Spell vga_switcheroo consistently
      drm: Spell vga_switcheroo consistently
      vga_switcheroo: Sort headers alphabetically
      vga_switcheroo: Set active attribute to false for audio clients
      vga_switcheroo: Add missing locking
      drm/radeon: Spell vga_switcheroo consistently
      drm/amdgpu: Spell vga_switcheroo consistently
      drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h>
      drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h>
      drm/amdgpu: Drop unnecessary #include <linux/vga_switcheroo.h>
      vga_switcheroo: Use enum vga_switcheroo_state instead of int
      vga_switcheroo: Use VGA_SWITCHEROO_UNKNOWN_ID instead of -1
      vga_switcheroo: Use enum vga_switcheroo_client_id instead of int
      gpu/doc: Fix up remaining occurrences of old document title
      gpu/doc: Add vga_switcheroo documentation
      gpu/doc: Convert to markdown harder
      drm: Fix return value of drm_framebuffer_init()
      ALSA: hda - Spell vga_switcheroo consistently
      vga_switcheroo: Constify vga_switcheroo_handler
      vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT

Maarten Lankhorst (25):
      Partially revert "drm/i915: Use full atomic modeset."
      drm/i915: Fix module initialisation, v2.
      drm/i915: Remove start frame argument to pipe_update_begin/end.
      drm/i915: Also record time difference if vblank evasion fails, v2.
      drm/atomic: Make sure lock is held in trylock contexts.
      drm/atomic: Make prepare_fb/cleanup_fb only take state, v3.
      drm/core: Do not call drm_framebuffer_remove internally during teardown.
      drm/i915: Use atomic plane state in the primary plane update.
      drm/i915: Use the plane state in intel_crtc_info.
      drm/i915: Use the atomic state in intel_update_primary_planes.
      drm/i915: Use atomic state when changing cursor visibility.
      drm/i915: Remove legacy plane updates for cursor and sprite planes.
      drm/i915: Do not handle a null plane state.
      drm/i915: Use crtc->state for duplication.
      drm/i915: Set csc coefficients in update_pipe_size.
      drm/i915: Remove references to crtc->active from intel_fbdev.c
      drm/i915: Always try to inherit the initial fb.
      drm/i915: Make updating pipe without modeset atomic.
      drm/i915: skip modeset if compatible for everyone.
      drm/i915: Fix fastboot scalers for skylake.
      drm/core: Preserve the framebuffer after removing it.
      drm/core: Preserve the fb id on close.
      drm/i915: Add primary plane to mask if it's visible
      drm/i915/skl: Prevent unclaimed register writes on skylake.
      drm/i915: Extend DSL readout fix to BDW and SKL.

Marek Szyprowski (1):
      drm/exynos/gem: remove DMA-mapping hacks used for constructing page array

Martin Peres (5):
      drm/nouveau/bios/volt: add support for pwm-based volt management
      drm/nouveau/volt: add support for non-vid-based voltage controllers
      drm/nouveau/volt/gk104: add support for pwm and gpio modes
      drm/nouveau/gm107: add voltage control using the new gk104 volt class
      drm/nouveau/gm204/6: add voltage control using the new gk104 volt class

Masanari Iida (1):
      drm/i915: Fix warnings while make xmldocs caused by intel_lrc.c

Matt Roper (15):
      drm/i915: Don't leak VBT mode data
      drm/fbdev: Update legacy plane->fb refcounting for atomic restore
      drm/i915: Drop redundant watermark programming
      drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code (v2)
      drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2)
      drm/i915: Determine I915_MAX_PLANES from plane enum
      drm/i915/skl: Simplify wm structures slightly (v2)
      drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v3)
      drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check
      drm/i915: Drop intel_update_sprite_watermarks
      drm/i915: Calculate pipe watermarks into CRTC state (v3)
      drm/i915: Calculate ILK-style watermarks during atomic check (v3)
      drm/i915: Don't set plane visible during HW readout if CRTC is off
      drm/i915: Calculate watermark configuration during atomic check (v2)
      drm/i915: Partial revert of atomic watermark series

Michał Winiarski (2):
      drm/i915/gtt: Avoid calling kcalloc in a loop when allocating temp bitmaps
      drm/i915/gtt: Do not initialize drm_mm twice.

Michel Thierry (24):
      drm/i915: Remove unnecessary gen8_clamp_pd
      drm/i915/gen8: Make pdp allocation more dynamic
      drm/i915/gen8: Abstract PDP usage
      drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT
      drm/i915/gen8: Add dynamic page trace events
      drm/i915/gen8: Add PML4 structure
      drm/i915/gen8: implement alloc/free for 4lvl
      drm/i915/gen8: Add 4 level switching infrastructure and lrc support
      drm/i915/gen8: Pass sg_iter through pte inserts
      drm/i915/gen8: Add 4 level support in insert_entries and clear_range
      drm/i915/gen8: Initialize PDPs and PML4
      drm/i915: Expand error state's address width to 64b
      drm/i915/gen8: Add ppgtt info and debug_dump
      drm/i915: object size needs to be u64
      drm/i915: batch_obj vm offset must be u64
      drm/i915/userptr: Kill user_size limit check
      drm/i915/gtt: Allow >= 4GB offsets in X86_32
      drm/i915: Use complete virtual address range on 32-bit platforms
      drm/i915: Always pass dev pointer in pdp_init
      drm/mm: Do DRM_MM_CREATE_TOP adj_start calculation after color_adjust
      drm/i915: WaEnableForceRestoreInCtxtDescForVCS is for video engines only
      drm/i915/lrc: Prevent preemption when lite-restore is disabled
      drm/i915: Wa32bitGeneralStateOffset & Wa32bitInstructionBaseOffset
      drm/i915: prevent out of range pt in the PDE macros (take 3)

Mika Kahola (5):
      drm/i915: Store max dotclock
      drm/i915: LVDS pixel clock check
      drm/i915: DSI pixel clock check
      drm/i915: DVO pixel clock check
      drm/i915: Add CD and pixel clock information

Mika Kuoppala (2):
      drm/i915: Move skl/bxt gt specific workarounds to ring init
      drm/i915: Do graphics device reset under forcewake

Mikko Rapeli (5):
      include/uapi/drm/sis_drm.h: move sis_file_private to drivers/gpu/drm/sis/sis_drv.h
      via_drm.h: move struct via_file_private definition to drivers/gpu/drm/via/via_drv.h
      savage_drm.h: include <drm/drm.h>
      r128_drm.h: include drm/drm.h
      drm/i810_drm.h: include drm/drm.h

Nick Hoath (4):
      drm/i915/bxt: Clean up bxt_init_clock_gating
      drm/i915/gen9: Add WaDisableMinuteIaClockGating
      drm/i915: Split alloc from init for lrc
      drm/i915: Remove extraneous request cancel.

Paulo Zanoni (18):
      drm/i915: gen 9 can check for unclaimed registers too
      drm/i915: fix the FBC work allocation failure path
      drm/i915: check for the supported strides on HSW+ FBC
      drm/i915: avoid the last 8mb of stolen on BDW/SKL
      drm/i915: print the correct amount of bytes allocated for the CFB
      drm/i915: don't enable FBC when pixel rate exceeds 95% on HSW/BDW
      drm/i915: apply WaFbcAsynchFlipDisableFbcQueue earlier
      drm/i915: don't apply WaFbcAsynchFlipDisableFbcQueue on SKL
      drm/i915: reject invalid formats for FBC
      drm/i915: fix FBC for cases where crtc->base.y is non-zero
      drm/i915: don't use the first stolen page on Broadwell
      drm/i915: extract fbc_supported()
      drm/i915: export size_is_valid() from __intel_fbc_update()
      drm/i915: don't allocate fbcon from stolen memory if it's too big
      drm/i915: remove pre-atomic check from SKL update_primary_plane
      drm/i915: fix CFB size calculation
      drm/i915: fix FBC buffer size checks
      drm/i915: revert a few more watermark commits

Philipp Zabel (5):
      MAINTAINERS: Add IPUv3 core driver to the i.MX DRM driver section
      gpu: ipu-v3: add support for 15-bit RGB with 1-bit alpha formats
      drm/imx: enable 15-bit RGB with 1-bit alpha formats
      gpu: ipu-v3: add support for RGBX8888 and RGBA8888 pixel formats
      drm/imx: ipuv3-plane: enable support for RGBX8888 and RGBA8888 pixel formats

Philippe De Muyter (1):
      gpu: ipu-v3: csi: add support for 8 bpp grayscale sensors.

Pierre Moreau (1):
      drm/nouveau/pci: Handle 5-bit and 8-bit tag field

Rasmus Villemoes (2):
      drm/i915: Fix comparison bug
      vgaarb: use kzalloc in vga_arbiter_add_pci_device()

Rob Clark (7):
      drm: cleanup modesetting ioctls, one param per line
      drm/fb-helper: add headerdoc for drm_fb_helper
      drm/fb-helper: atomic restore_fbdev_mode()..
      drm/fb-helper: atomic pan_display()..
      drm/i915: enable atomic fb-helper
      drm: misc cleanup
      drm/msm: update generated headers

Robert Beckett (2):
      drm/i915/gen9: WA ST Unit Power Optimization Disable
      drm/i915: Detect virtual south bridge

Rodrigo Vivi (7):
      drm/i915: Force sink crc stop before start.
      drm/i915: Save latest known sink CRC to compensate delayed counter reset.
      drm/i915: Dont -ETIMEDOUT on identical new and previous (count, crc).
      drm/i915: Also call frontbuffer flip when disabling planes.
      drm/i915: Future proof interrupt handler.
      drm/i915: Future proof uncore_init.
      drm/i915: Future proof panel fitter.

Roy Spliet (9):
      drm/nouveau/bios/rammap: Identify DLLoff for >= GF100
      drm/nouveau/fb/ramgt215: Transform GPIO ramfuc method from FBVREF-specific to generic
      drm/nouveau/fb/ramgt215: Change FBVDD/Q when BIOS asks for it
      drm/nouveau/fb/ramgt215: Restructure r111100 calculation for DDR2
      drm/nouveau/fb/ramnv50: Voltage GPIOs
      drm/nouveau/fb/ramnv50: Deal with cards without timing entries
      drm/nouveau/fb/ramnv50: Script changes for G94 and up
      drm/nouveau/bus/hwsq: Implement VBLANK waiting heuristic
      drm/nouveau/clk/g84: Enable reclocking for GDDR3 G94-G200

Russell King (44):
      drm/i2c: tda998x: remove useless NULL checks
      drm/i2c: tda998x: report whether we actually handled the IRQ
      drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect"
      drm/i2c: tda998x: convert to u8/u16/u32 types
      drm/i2c: tda998x: handle all outstanding interrupts
      drm/i2c: tda998x: use more HDMI helpers
      drm/armada: remove non-component support
      drm/armada: move vbl code into armada_crtc
      drm/armada: use drm_plane_force_disable() to disable the overlay plane
      drm/armada: disable CRTC clock during DPMS
      drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work()
      drm/armada: rename overlay identifiers
      drm/armada: factor out retirement of old fb
      drm/i2c: tda998x: remove DRM slave encoder support
      drm/i2c: tda998x: remove encoder pointer
      drm/i2c: tda998x: move connector into struct tda998x_priv
      drm/i2c: tda998x: kill struct tda998x_priv2
      drm/i2c: tda998x: clean up after struct tda998x_priv2 removal
      drm/armada: use xchg() to atomically update dplane->old_fb
      drm/armada: update armada overlay to use drm_universal_plane_init()
      drm/armada: introduce generic armada_plane struct
      drm/armada: add primary plane creation
      drm/armada: allocate primary plane ourselves
      drm/armada: provide a common helper to disable a plane
      drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable()
      drm/armada: move the update of dplane->ctrl0 out of spinlock
      drm/armada: move the locking for armada_drm_vbl_event_remove()
      drm/armada: move frame wait into armada_frame
      drm/armada: move CRTC flip work to primary plane work
      drm/armada: convert overlay plane vbl worker to a armada plane worker
      drm/armada: move frame wait wakeup into plane work
      gpu: imx: simplify sync polarity setting
      gpu: imx: fix support for interlaced modes
      drm: bridge/dw_hdmi: add support for interlaced video modes
      drm: bridge/dw_hdmi: add connector mode forcing
      drm: bridge/dw_hdmi: improve HDMI enable/disable handling
      drm: bridge/dw_hdmi-ahb-audio: add audio driver
      drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver
      drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio
      drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes
      drm: bridge/dw_hdmi: avoid being recursive in N calculation
      drm: bridge/dw_hdmi: adjust pixel clock values in N calculation
      drm: bridge/dw_hdmi: remove ratio support from ACR code
      drm: bridge/dw_hdmi: replace CTS calculation for the ACR

Sagar Arun Kamble (10):
      drm/i915: Fix fb object's frontbuffer-bits
      drm/i915/bxt: WaGsvDisableTurbo
      drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack
      drm/i915: Add IS_SKL_GT3 and IS_SKL_GT4 macro.
      drm/i915: WaRsDisableCoarsePowerGating
      drm/i915: WaRsUseTimeoutMode
      drm/i915: WaRsDoubleRc6WrlWithCoarsePowerGating
      drm/i915: Program GuC MAX IDLE Count
      drm/i915/guc: Don't forward flip interrupts to GuC
      drm/i915: Update Promotion timer for RC6 TO Mode

Samuel Li (10):
      drm/amdgpu: add Stoney chip family
      drm/amdgpu: add GMC support for Stoney
      drm/amdgpu: Update SMC/DPM for Stoney
      drm/amdgpu: add DCE support for Stoney
      drm/amdgpu: add SDMA support for Stoney (v2)
      drm/amdgpu: add GFX support for Stoney (v2)
      drm/amdgpu: add UVD support for Stoney
      drm/amdgpu: add VCE support for Stoney (v2)
      drm/amdgpu: update the core VI support for Stoney
      drm/amdgpu: add Stoney pci ids

Samuel Pitoiset (1):
      drm/nouveau/ibus/gf100: increase wait timeout to avoid read faults

Shashank Sharma (10):
      drm/i915: add attached connector to hdmi container
      drm/i915/bxt: Enable BXT DSI PLL
      drm/i915/bxt: Disable DSI PLL for BXT
      drm/i915/bxt: DSI prepare changes for BXT
      drm/i915/bxt: DSI encoder support in CRTC modeset
      drm/i915/bxt: DSI enable for BXT
      drm/i915/bxt: Program Tx Rx and Dphy clocks
      drm/i915/bxt: DSI disable and post-disable
      drm/i915/bxt: get_hw_state for BXT
      drm/i915/bxt: get DSI pixelclock

Sonika Jindal (8):
      drm/i915/bxt: Add HPD support for DDIA
      drm/i915/bxt: WA for swapped HPD pins in A stepping
      drm/i915/bxt: Use intel_encoder->hpd_pin to check live status
      drm/i915: Check live status before reading edid
      drm/i915/bxt: eDP low vswing support
      drm/i915/bxt: Set oscaledcompmethod to enable scale value
      drm/i915: Call encoder hotplug for init and resume cases
      drm/i915: Add hot_plug hook for hdmi encoder

Stephane Viau (7):
      drm/msm/mdp5: remove the cfg pointer from SMP struct
      drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails
      drm/msm/mdp5: Avoid printing error messages for optional clocks
      drm/msm/hdmi: Add basic HDMI support for msm8996
      drm/msm/mdp5: Use the newly introduced enum mdp_component_type
      drm/msm/mdp: Add Software Pixel Extension support
      drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996)

Sudip Mukherjee (3):
      drm/i915: use error path
      drm/nouveau: remove unused function
      drm/nouveau: fix memory leak

Sunil Kamath (1):
      drm/i915/bxt: Modify BXT BLC according to VBT changes

Thierry Reding (7):
      drm/atomic-helper: Implement drm_atomic_helper_duplicate_state()
      drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition
      drm/irq: Rename drm_crtc -> crtc
      drm/irq: Add drm_crtc_vblank_count_and_time()
      drm/irq: Use unsigned int pipe in public API
      drm/tegra: fb: Remove gratuituous blank line
      drm/tegra: dc: Request/free syncpoint at init/exit

Thomas Daniel (1):
      drm/i915: Fix maxfifo watermark calc on vlv cursor planes

Thomas Hellstrom (4):
      drm/vmwgfx: Turn off support for multisample count != 0 v2
      drm/vmwgfx: Replace iowrite/ioread with volatile memory accesses
      drm/vmwgfx: Properly flush cursor updates and page-flips
      drm/vmwgfx: Relax irq locking somewhat

Tomas Elf (1):
      drm/i915: Early exit from semaphore_waits_for for execlist mode.

Tomasz Stanislawski (1):
      drm: exynos: mixer: fix using usleep() in atomic context

Tvrtko Ursulin (7):
      drm/i915: Remove one very outdated comment
      drm/i915: Support planar formats in tile height calculations
      drm/i915: Support appending to the rotated pages mapping
      drm/i915: Support NV12 in rotated GGTT mapping
      drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset
      drm/i915: Clean up associated VMAs on context destruction
      drm/i915: Remove wrong warning from i915_gem_context_clean

Vandana Kannan (1):
      drm/i915: Renaming CCK related reg definitions

Ville Syrjälä (135):
      drm/i915: clflush on pin_to_display after pwrite to UC bo in LLC
      drm/i915: Clean up DP/HDMI limited color range handling
      drm/i915: Don't use link_bw for PLL setup
      drm/i915: Don't pass clock to DDI PLL select functions
      drm/i915: Avoid confusion between DP and TRANS_DP_CTL in DP .get_config()
      drm/i915: Move intel_dp->lane_count into pipe_config
      drm/i915: Don't use link_bw to select between TP1 and TP3
      drm/i915: Kill intel_dp->{link_bw, rate_select}
      drm/i915: Put back lane_count into intel_dp and add link_rate too
      drm/i915: Always program m2 fractional value on CHV
      drm/i915: Always program unique transition scale for CHV
      drm/i915: Add encoder->post_pll_disable() hooks and move CHV clock buffer disables there
      drm/i915: Move DPIO port init earlier
      drm/i915: Add locking around chv_phy_control_init()
      drm/i915: Move VLV/CHV prepare_pll later
      drm/i915: Add vlv_dport_to_phy()
      drm/i915: Fix some gcc warnings
      drm/i915: Use ARRAY_SIZE() instead of hand rolling it
      drm/i915: Make some string arrays const
      drm/i915: Move DPLL ref/cri/VGA mode frobbing to the disp2d well enable
      drm/i915: Implement PHY lane power gating for CHV
      drm/i915: Trick CL2 into life on CHV when using pipe B with port B
      drm/i915: Force common lane on for the PPS kick on CHV
      drm/i915: Enable DPIO SUS clock gating on CHV
      drm/i915: Force CL2 off in CHV x1 PHY
      drm/i915: Clean up CHV lane soft reset programming
      drm/i915: Add some CHV DPIO lane power state asserts
      drm/i915: Add CHV PHY LDO power sanity checks
      drm/i915: Fix clock readout when pipes are enabled w/o ports
      drm/i915: Factor out intel_crtc_has_encoders()
      drm/i915: Clean up various HPD defines
      drm/i915: Extract intel_hpd_enabled_irqs()
      drm/i915: Factor out ilk_update_display_irq()
      drm/i915: Add HAS_PCH_LPT_LP() macro
      drm/i915: Rename BXT PORTA HPD defines
      drm/i915: Move {pin, long}_mask initialization to caller from intel_get_hpd_pins()
      drm/i915: Introduce spt_irq_handler()
      drm/i915: Add port A HPD support for ILK/SNB
      drm/i915: Add port A HPD support for IVB/HSW
      drm/i915: LPT:LP needs port A HPD enabled in both north and south
      drm/i915: Add port A HPD support for BDW
      drm/i915: Add port A HPD support for SPT
      drm/i915: Reinitialize HPD after runtime D3
      drm/i915: Rewrite bxt_hpd_handler() to look like everyone else
      drm/i915: Refactor the hpd irq handling functions
      drm/i915: Rewrite BXT HPD code to conform to pre-existing style
      drm/i915: Don't call intel_get_hpd_pins() when there's no hotplug interrupt
      drm/i915: Dump pfit state as hex
      drm: Constify generic_edid_names[]
      drm: Constify TV mode names
      drm/i2c/ch7006: Constify ch7006_tv_norms[] and ch7006_modes[]
      drm/dp: s/I2C_STATUS/I2C_WRITE_STATUS_UPDATE/
      drm/i915: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE
      drm/radeon: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE
      drm/tegra: Handle I2C_WRITE_STATUS_UPDATE for address only writes
      drm/dp: Use I2C_WRITE_STATUS_UPDATE to drain partial I2C_WRITE requests
      drm: Make some modes const when iterating through them
      drm: Remove the 'mode' argument from drm_select_eld()
      drm: Make drm_av_sync_delay() 'mode' argument const
      drm/i915: Set stolen reserved to 0 for pre-g4x platforms
      drm/i915: Assign hwmode after encoder state readout
      drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc()
      drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state()
      drm/i915: Implement stolen reserved detection for ctg/elk
      drm/i915: Make sure we don't detect eDP on g4x
      drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection
      drm/i915: Don't pass sdvo_reg to intel_sdvo_select_{ddc, i2c}_bus()
      drm/i915: Parametrize LRC registers
      drm/i915: Parametrize GEN7_GT_SCRATCH and GEN7_LRA_LIMITS
      drm/i915: Parametrize FBC_TAG registers
      drm/i915: Parametrize ILK turbo registers
      drm/i915: Replace raw numbers with the approproate register name in ILK turbo code
      drm/i915: Parametrize TV luma/chroma filter registers
      drm/i915: Parametrize DDI_BUF_TRANS registers
      drm/i915: Parametrize CSR_PROGRAM registers
      drm: s/int crtc/unsigned int pipe/ straggles
      drm: Move timestamping constants into drm_vblank_crtc
      drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps
      drm: Kill pixeldur_ns
      drm/i915: Fix vblank count variable types
      drm: Pass flags to drm_update_vblank_count()
      drm: Limit the number of .get_vblank_counter() retries
      drm: Clean up drm_calc_vbltimestamp_from_scanoutpos() vbl_status
      drm: store_vblank() is never called with NULL timestamp
      drm: Use vblank timestamps to guesstimate how many vblanks were missed
      drm/i915: Use intel_panel for DVO fixed mode handling
      drm/i915: Always call the adjusted mode 'adjusted_mode'
      drm/i915: Parametrize fence registers
      drm/i915: s/mode/adjusted_mode/ in functions that really get passed the adjusted_mode
      drm/i915: Always use crtc_ timings when dealing with adjustead_mode
      drm/i915: Move HDMI aspect ratio setup to .compute_config()
      drm/i915: Constify adjusted_mode
      drm/i915: Add HDMI aspect ratio property for SDVO
      drm/i915: Parametrize UOS_RSA_SCRATCH
      drm/i915: Add LO/HI PRIVATE_PAT registers
      drm/i915: Always use GEN8_RING_PDP_{LDW, UDW} instead of hand rolling the register offsets
      drm/i915: Include MCHBAR_MIRROR_BASE in ILK_GDSR
      drm/i915: Parametrize PALETTE and LGC_PALETTE
      drm/i915: s/_CURACNTR/CURCNTR(PIPE_A)/
      drm/i915: Add VLV_HDMIB etc. which already include VLV_DISPLAY_BASE
      drm/i915: s/DDI_BUF_CTL_A/DDI_BUF_CTL(PORT_A)/
      drm/i915: Read czclk from CCK on vlv/chv
      drm/i915: Simplify vlv/chv rc6 residency calculation
      drm/i915: Use czclk_freq in vlv c0 residency calculations
      drm/i915: s/_FDI_RXA_.../FDI_RX_...(PIPE_A)/
      drm/i915: s/_TRANSA_CHICKEN/TRANS_CHICKEN(PIPE_A)/
      drm/i915: Refactor ilk_update_wm (v3)
      drm: Don't zero vblank timestamps from the irq handler
      drm/i915: s/GET_CFG_CR1_REG/DPLL_CFGCR1/ etc.
      drm/i915: Don't bypass LRC on CHV
      drm/i915: Skip CHV PHY asserts until PHY has been fully reset
      drm: Stop using drm_vblank_count() as the hw frame counter
      drm/i915: Determine the stolen memory base address on gen2
      drm/i915: Eliminate weird parameter inversion from BXT PPS registers
      drm/i915: Parametrize HSW video DIP data registers
      drm/i915: Include gpio_mmio_base in GMBUS reg defines
      drm/i915: Protect register macro arguments
      drm/i915: Fix a few bad hex numbers in register defines
      drm/i915: Turn GEN5_ASSERT_IIR_IS_ZERO() into a function
      drm/i915: s/PIPE_FRMCOUNT_GM45/PIPE_FRMCOUNT_G4X/ etc.
      drm/i915: Parametrize and fix SWF registers
      drm/i915: Throw out some useless variables
      drm/i915: Clean up LVDS register handling
      drm/i915: Remove dev_priv argument from NEEDS_FORCE_WAKE
      drm/i915: Kill the leftover RMW from ivb_sprite_disable()
      drm: Don't use '\' for string literal concatenation
      drm: Add DRM_DEBUG_VBL()
      drm: Don't leak fb when plane crtc coodinates are bad
      drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane
      drm: Refactor plane src coordinate checks
      drm: Check crtc viewport correctly with rotated primary plane on atomic drivers
      drm: Check plane src coordinates correctly during page flip for atomic drivers
      drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks
      drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings
      drm/edid: Round to closest when computing the CEA/HDMI alternate clock

Vivek Kasireddy (1):
      drm/i915: Skip fence installation for objects with rotated views (v4)

Williams, Dan J (1):
      i915: switch from acpi_os_ioremap to memremap

Zhiyuan Lv (4):
      drm/i915: preallocate pdps for 32 bit vgpu
      drm/i915: Always enable execlists on BDW for vgpu
      drm/i915: Update PV INFO page definition for Intel GVT-g
      drm/i915: guest i915 notification for Intel GVT-g

kbuild test robot (3):
      drm/i915/bxt: vlv_dsi_reset_clocks() can be static
      drm/bridge: ps8622: Fix coccinelle warnings
      drm/bridge: ptn3460: Fix coccinelle warnings

Łukasz Daniluk (1):
      drm/i915/bdw: Check for slice, subslice and EU count for BDW

 Documentation/DocBook/Makefile                     |     2 +-
 Documentation/DocBook/{drm.tmpl => gpu.tmpl}       |   209 +-
 .../devicetree/bindings/display/brcm,bcm-vc4.txt   |    65 +
 Documentation/devicetree/bindings/drm/msm/hdmi.txt |     3 +
 Documentation/devicetree/bindings/drm/msm/mdp.txt  |     3 +-
 .../devicetree/bindings/video/renesas,du.txt       |    14 +-
 Documentation/kernel-parameters.txt                |    15 +-
 MAINTAINERS                                        |     2 +
 arch/arm/configs/exynos_defconfig                  |     1 +
 drivers/dma-buf/fence.c                            |    98 +
 drivers/gpu/drm/Kconfig                            |     2 +
 drivers/gpu/drm/Makefile                           |     6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |   104 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c           |     1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c  |     4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c  |     4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c   |     4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c           |     1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |    48 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c            |     3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |    47 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c        |    25 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |    22 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c             |     1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c          |   397 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c            |    29 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c             |     4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |    72 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h           |    12 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |     2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c           |    71 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c             |    43 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c          |     3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c           |    55 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h          |    12 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c            |     7 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c            |     5 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c            |     5 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |    74 +-
 drivers/gpu/drm/amd/amdgpu/atom.c                  |    53 +-
 drivers/gpu/drm/amd/amdgpu/atom.h                  |     2 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c              |   149 +-
 drivers/gpu/drm/amd/amdgpu/cz_dpm.c                |    21 +-
 drivers/gpu/drm/amd/amdgpu/cz_smc.c                |    60 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   241 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |   260 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |   243 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |    20 -
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |   890 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c              |    44 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c              |    52 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c             |   175 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c             |   213 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c              |     1 -
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c              |     1 -
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c              |     1 -
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c              |     1 -
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |     6 +-
 drivers/gpu/drm/amd/amdgpu/vi.c                    |    50 +-
 drivers/gpu/drm/amd/include/amd_shared.h           |     1 +
 .../gpu/drm/amd/include/asic_reg/gca/gfx_8_1_d.h   |  2791 +++
 .../drm/amd/include/asic_reg/gca/gfx_8_1_enum.h    |  6808 ++++++
 .../drm/amd/include/asic_reg/gca/gfx_8_1_sh_mask.h | 21368 +++++++++++++++++++
 drivers/gpu/drm/amd/include/atombios.h             |     2 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c      |    52 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.h      |     7 +-
 drivers/gpu/drm/armada/Kconfig                     |     9 -
 drivers/gpu/drm/armada/Makefile                    |     3 +-
 drivers/gpu/drm/armada/armada_crtc.c               |   258 +-
 drivers/gpu/drm/armada/armada_crtc.h               |    34 +-
 drivers/gpu/drm/armada/armada_drm.h                |    16 -
 drivers/gpu/drm/armada/armada_drv.c                |   221 +-
 drivers/gpu/drm/armada/armada_output.c             |   142 -
 drivers/gpu/drm/armada/armada_output.h             |    33 -
 drivers/gpu/drm/armada/armada_overlay.c            |   147 +-
 drivers/gpu/drm/armada/armada_slave.c              |   139 -
 drivers/gpu/drm/armada/armada_slave.h              |    26 -
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c       |     8 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c    |     6 +-
 drivers/gpu/drm/bridge/Kconfig                     |    12 +
 drivers/gpu/drm/bridge/Makefile                    |     1 +
 drivers/gpu/drm/bridge/dw_hdmi-ahb-audio.c         |   653 +
 drivers/gpu/drm/bridge/dw_hdmi-audio.h             |    14 +
 drivers/gpu/drm/bridge/dw_hdmi.c                   |   391 +-
 drivers/gpu/drm/bridge/dw_hdmi.h                   |     3 +
 drivers/gpu/drm/bridge/nxp-ptn3460.c               |     1 -
 drivers/gpu/drm/bridge/parade-ps8622.c             |     1 -
 drivers/gpu/drm/drm_agpsupport.c                   |     4 -
 drivers/gpu/drm/drm_atomic.c                       |    28 +-
 drivers/gpu/drm/drm_atomic_helper.c                |   325 +-
 drivers/gpu/drm/drm_bufs.c                         |     6 +-
 drivers/gpu/drm/drm_crtc.c                         |   148 +-
 drivers/gpu/drm/drm_dp_helper.c                    |    44 +-
 drivers/gpu/drm/drm_dp_mst_topology.c              |     7 +-
 drivers/gpu/drm/drm_drv.c                          |    67 +-
 drivers/gpu/drm/drm_edid.c                         |    60 +-
 drivers/gpu/drm/drm_edid_load.c                    |    43 +-
 drivers/gpu/drm/drm_fb_helper.c                    |   212 +-
 drivers/gpu/drm/drm_gem.c                          |    47 +-
 drivers/gpu/drm/drm_gem_cma_helper.c               |     2 -
 drivers/gpu/drm/drm_internal.h                     |     2 +-
 drivers/gpu/drm/drm_ioc32.c                        |     6 +-
 drivers/gpu/drm/drm_ioctl.c                        |    93 +-
 drivers/gpu/drm/drm_irq.c                          |   367 +-
 drivers/gpu/drm/drm_memory.c                       |     6 +-
 drivers/gpu/drm/drm_mm.c                           |     6 +-
 drivers/gpu/drm/drm_modeset_lock.c                 |     2 +
 drivers/gpu/drm/drm_of.c                           |    88 +
 drivers/gpu/drm/drm_pci.c                          |    11 +
 drivers/gpu/drm/drm_plane_helper.c                 |     6 +-
 drivers/gpu/drm/drm_platform.c                     |     3 +
 drivers/gpu/drm/drm_rect.c                         |     4 +-
 drivers/gpu/drm/drm_sysfs.c                        |    49 +-
 drivers/gpu/drm/drm_vm.c                           |     8 +-
 drivers/gpu/drm/drm_vma_manager.c                  |    40 +-
 drivers/gpu/drm/exynos/Kconfig                     |    75 +-
 drivers/gpu/drm/exynos/Makefile                    |     3 +-
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c      |   324 +-
 drivers/gpu/drm/exynos/exynos7_drm_decon.c         |     7 +-
 drivers/gpu/drm/exynos/exynos_drm_crtc.c           |    16 +-
 drivers/gpu/drm/exynos/exynos_drm_crtc.h           |     4 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.c            |    28 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h            |     5 +
 drivers/gpu/drm/exynos/exynos_drm_fb.c             |    45 +-
 drivers/gpu/drm/exynos/exynos_drm_fb.h             |     5 +-
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c          |    53 +-
 drivers/gpu/drm/exynos/exynos_drm_fimc.c           |    16 +-
 drivers/gpu/drm/exynos/exynos_drm_fimd.c           |     7 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.c            |   275 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.h            |    15 +-
 drivers/gpu/drm/exynos/exynos_drm_gsc.c            |    12 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.c          |     3 +-
 drivers/gpu/drm/exynos/exynos_drm_plane.c          |    20 +-
 drivers/gpu/drm/exynos/exynos_drm_plane.h          |     2 +
 drivers/gpu/drm/exynos/exynos_drm_vidi.c           |     8 +-
 drivers/gpu/drm/exynos/exynos_hdmi.c               |   496 +-
 drivers/gpu/drm/exynos/exynos_mixer.c              |    17 +-
 drivers/gpu/drm/exynos/exynos_mixer.h              |    20 -
 drivers/gpu/drm/exynos/regs-hdmi.h                 |    33 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c          |     7 +-
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c        |     2 -
 drivers/gpu/drm/gma500/cdv_intel_dp.c              |     1 -
 drivers/gpu/drm/gma500/psb_drv.h                   |     6 +-
 drivers/gpu/drm/gma500/psb_irq.c                   |     8 +-
 drivers/gpu/drm/gma500/psb_irq.h                   |     6 +-
 drivers/gpu/drm/i2c/ch7006_drv.c                   |     6 +-
 drivers/gpu/drm/i2c/ch7006_mode.c                  |    26 +-
 drivers/gpu/drm/i2c/ch7006_priv.h                  |    12 +-
 drivers/gpu/drm/i2c/tda998x_drv.c                  |   487 +-
 drivers/gpu/drm/i915/Makefile                      |     4 +
 drivers/gpu/drm/i915/dvo.h                         |     4 +-
 drivers/gpu/drm/i915/dvo_ch7017.c                  |     4 +-
 drivers/gpu/drm/i915/dvo_ch7xxx.c                  |     4 +-
 drivers/gpu/drm/i915/dvo_ivch.c                    |    12 +-
 drivers/gpu/drm/i915/dvo_ns2501.c                  |     4 +-
 drivers/gpu/drm/i915/dvo_sil164.c                  |     4 +-
 drivers/gpu/drm/i915/dvo_tfp410.c                  |     4 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c             |    17 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |   264 +-
 drivers/gpu/drm/i915/i915_dma.c                    |   246 +-
 drivers/gpu/drm/i915/i915_drv.c                    |    83 +-
 drivers/gpu/drm/i915/i915_drv.h                    |   154 +-
 drivers/gpu/drm/i915/i915_gem.c                    |   272 +-
 drivers/gpu/drm/i915/i915_gem_context.c            |    31 +
 drivers/gpu/drm/i915/i915_gem_evict.c              |    45 -
 drivers/gpu/drm/i915/i915_gem_execbuffer.c         |   167 +-
 drivers/gpu/drm/i915/i915_gem_fence.c              |    47 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c                |   878 +-
 drivers/gpu/drm/i915/i915_gem_gtt.h                |    77 +-
 drivers/gpu/drm/i915/i915_gem_shrinker.c           |    21 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c             |   181 +-
 drivers/gpu/drm/i915/i915_gem_userptr.c            |   333 +-
 drivers/gpu/drm/i915/i915_gpu_error.c              |    78 +-
 drivers/gpu/drm/i915/i915_guc_reg.h                |    21 +-
 drivers/gpu/drm/i915/i915_guc_submission.c         |   975 +
 drivers/gpu/drm/i915/i915_irq.c                    |   686 +-
 drivers/gpu/drm/i915/i915_params.c                 |    43 +-
 drivers/gpu/drm/i915/i915_reg.h                    |   593 +-
 drivers/gpu/drm/i915/i915_suspend.c                |    45 +-
 drivers/gpu/drm/i915/i915_sysfs.c                  |    34 +-
 drivers/gpu/drm/i915/i915_trace.h                  |    78 +-
 drivers/gpu/drm/i915/i915_vgpu.h                   |    34 +-
 drivers/gpu/drm/i915/intel_acpi.c                  |     3 +-
 drivers/gpu/drm/i915/intel_atomic.c                |    13 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c          |     6 +-
 drivers/gpu/drm/i915/intel_audio.c                 |   220 +-
 drivers/gpu/drm/i915/intel_bios.c                  |    43 +-
 drivers/gpu/drm/i915/intel_bios.h                  |     3 -
 drivers/gpu/drm/i915/intel_crt.c                   |    15 +-
 drivers/gpu/drm/i915/intel_csr.c                   |    41 +-
 drivers/gpu/drm/i915/intel_ddi.c                   |   182 +-
 drivers/gpu/drm/i915/intel_display.c               |  1035 +-
 drivers/gpu/drm/i915/intel_dp.c                    |   838 +-
 drivers/gpu/drm/i915/intel_dp_mst.c                |    26 +-
 drivers/gpu/drm/i915/intel_drv.h                   |   101 +-
 drivers/gpu/drm/i915/intel_dsi.c                   |   323 +-
 drivers/gpu/drm/i915/intel_dsi.h                   |     7 +-
 drivers/gpu/drm/i915/intel_dsi_pll.c               |   243 +-
 drivers/gpu/drm/i915/intel_dvo.c                   |    64 +-
 drivers/gpu/drm/i915/intel_fbc.c                   |   264 +-
 drivers/gpu/drm/i915/intel_fbdev.c                 |    23 +-
 drivers/gpu/drm/i915/intel_guc.h                   |   124 +
 drivers/gpu/drm/i915/intel_guc_fwif.h              |    31 +-
 drivers/gpu/drm/i915/intel_guc_loader.c            |   608 +
 drivers/gpu/drm/i915/intel_hdmi.c                  |   306 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |    54 +-
 drivers/gpu/drm/i915/intel_lrc.c                   |   427 +-
 drivers/gpu/drm/i915/intel_lrc.h                   |    18 +-
 drivers/gpu/drm/i915/intel_lvds.c                  |    50 +-
 drivers/gpu/drm/i915/intel_modes.c                 |     9 +
 drivers/gpu/drm/i915/intel_opregion.c              |    92 +-
 drivers/gpu/drm/i915/intel_panel.c                 |   525 +-
 drivers/gpu/drm/i915/intel_pm.c                    |   569 +-
 drivers/gpu/drm/i915/intel_psr.c                   |    18 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c            |   262 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h            |    15 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c            |   492 +-
 drivers/gpu/drm/i915/intel_sdvo.c                  |    51 +-
 drivers/gpu/drm/i915/intel_sprite.c                |    59 +-
 drivers/gpu/drm/i915/intel_tv.c                    |    14 +-
 drivers/gpu/drm/i915/intel_uncore.c                |    49 +-
 drivers/gpu/drm/imx/dw_hdmi-imx.c                  |    16 +-
 drivers/gpu/drm/imx/imx-drm-core.c                 |    65 +-
 drivers/gpu/drm/imx/ipuv3-plane.c                  |    16 +
 drivers/gpu/drm/mga/mga_dma.c                      |     4 +-
 drivers/gpu/drm/mga/mga_drv.h                      |     6 +-
 drivers/gpu/drm/mga/mga_irq.c                      |    20 +-
 drivers/gpu/drm/msm/Kconfig                        |    14 -
 drivers/gpu/drm/msm/Makefile                       |     2 +-
 drivers/gpu/drm/msm/adreno/a2xx.xml.h              |     9 +-
 drivers/gpu/drm/msm/adreno/a3xx.xml.h              |    27 +-
 drivers/gpu/drm/msm/adreno/a4xx.xml.h              |    15 +-
 drivers/gpu/drm/msm/adreno/adreno_common.xml.h     |    13 +-
 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h        |     9 +-
 drivers/gpu/drm/msm/dsi/dsi.xml.h                  |   238 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |     2 +-
 drivers/gpu/drm/msm/dsi/mmss_cc.xml.h              |     8 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c              |     2 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c         |     6 +-
 drivers/gpu/drm/msm/dsi/sfpb.xml.h                 |    21 +-
 drivers/gpu/drm/msm/edp/edp.xml.h                  |     8 +-
 drivers/gpu/drm/msm/hdmi/hdmi.c                    |    17 +-
 drivers/gpu/drm/msm/hdmi/hdmi.xml.h                |     8 +-
 drivers/gpu/drm/msm/hdmi/qfprom.xml.h              |     8 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h            |     8 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c          |    10 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h            |    86 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c            |    95 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h            |    11 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c            |    46 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h            |     2 +
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c          |   211 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c            |     8 +-
 drivers/gpu/drm/msm/mdp/mdp_common.xml.h           |    15 +-
 drivers/gpu/drm/msm/mdp/mdp_kms.h                  |     6 +
 drivers/gpu/drm/msm/msm_atomic.c                   |     2 +-
 drivers/gpu/drm/msm/msm_drv.c                      |    36 +-
 drivers/gpu/drm/msm/msm_fbdev.c                    |     5 -
 drivers/gpu/drm/msm/msm_gem_prime.c                |     2 -
 drivers/gpu/drm/msm/msm_gpu.c                      |     8 +
 drivers/gpu/drm/nouveau/dispnv04/tvmodesnv17.c     |     2 +-
 drivers/gpu/drm/nouveau/dispnv04/tvnv17.h          |     2 +-
 drivers/gpu/drm/nouveau/include/nvif/os.h          |     1 +
 drivers/gpu/drm/nouveau/include/nvkm/core/tegra.h  |    13 +-
 .../drm/nouveau/include/nvkm/subdev/bios/gpio.h    |     1 +
 .../gpu/drm/nouveau/include/nvkm/subdev/bios/pmu.h |     2 -
 .../drm/nouveau/include/nvkm/subdev/bios/ramcfg.h  |     2 +-
 .../drm/nouveau/include/nvkm/subdev/bios/volt.h    |    15 +-
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h  |     1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h |     1 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h  |     4 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/pci.h  |     5 +-
 .../gpu/drm/nouveau/include/nvkm/subdev/timer.h    |    10 +
 drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h |     1 +
 drivers/gpu/drm/nouveau/nouveau_abi16.c            |    84 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.h            |     4 +-
 drivers/gpu/drm/nouveau/nouveau_acpi.c             |     2 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c               |     8 +-
 drivers/gpu/drm/nouveau/nouveau_chan.c             |    30 +-
 drivers/gpu/drm/nouveau/nouveau_chan.h             |     3 +-
 drivers/gpu/drm/nouveau/nouveau_display.c          |    32 +-
 drivers/gpu/drm/nouveau/nouveau_display.h          |    11 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |    41 +-
 drivers/gpu/drm/nouveau/nouveau_drm.h              |    14 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c              |    13 +-
 drivers/gpu/drm/nouveau/nouveau_platform.c         |    19 +-
 drivers/gpu/drm/nouveau/nouveau_sysfs.c            |     5 +-
 drivers/gpu/drm/nouveau/nouveau_ttm.c              |    31 +-
 drivers/gpu/drm/nouveau/nouveau_usif.c             |    15 +-
 drivers/gpu/drm/nouveau/nv50_display.c             |     7 +-
 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c  |    83 +-
 drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c   |     9 +-
 drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c |    13 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/rootnv04.c    |     2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c     |     1 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c     |     1 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf117.c     |     1 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf119.c     |     1 +
 drivers/gpu/drm/nouveau/nvkm/engine/pm/base.c      |     2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.c     |    13 -
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.c  |     4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.c    |    17 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.c     |    32 +
 drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.h     |     6 +
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/g84.c      |     2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c     |    10 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.c     |     3 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c  |   141 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.c  |   123 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c   |   121 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramseq.h    |     1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.c     |     6 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.c     |     4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.c    |     2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild    |     1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf100.c   |    17 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf117.c   |    51 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/priv.h    |     7 +
 .../gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c    |   371 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c     |    14 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c    |    32 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.c    |     2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c    |     2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h     |     5 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/Kbuild     |     4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c     |    11 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/g84.c      |    64 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/g94.c      |    39 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf100.c    |     1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv40.c     |     2 +-
 .../drm/nouveau/nvkm/subdev/pci/{nv50.c => nv46.c} |    14 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/priv.h     |     6 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c     |     2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk104.c    |     4 +
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/Kbuild    |     1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c    |    11 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk104.c   |   119 +
 drivers/gpu/drm/nouveau/nvkm/subdev/volt/priv.h    |     6 +
 drivers/gpu/drm/omapdrm/omap_crtc.c                |     3 -
 drivers/gpu/drm/omapdrm/omap_drv.c                 |    18 +-
 drivers/gpu/drm/omapdrm/omap_drv.h                 |     4 +-
 drivers/gpu/drm/omapdrm/omap_fb.c                  |     4 +-
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c          |     3 -
 drivers/gpu/drm/omapdrm/omap_irq.c                 |    16 +-
 drivers/gpu/drm/omapdrm/omap_plane.c               |    12 +-
 drivers/gpu/drm/qxl/qxl_drv.c                      |     7 +-
 drivers/gpu/drm/qxl/qxl_ioctl.c                    |    14 +-
 drivers/gpu/drm/r128/r128_cce.c                    |    12 +-
 drivers/gpu/drm/r128/r128_drv.h                    |     6 +-
 drivers/gpu/drm/r128/r128_irq.c                    |    16 +-
 drivers/gpu/drm/radeon/atombios_dp.c               |     1 +
 drivers/gpu/drm/radeon/cayman_blit_shaders.c       |     2 +-
 drivers/gpu/drm/radeon/evergreen.c                 |    32 +-
 drivers/gpu/drm/radeon/evergreen_blit_shaders.c    |     2 +-
 drivers/gpu/drm/radeon/evergreen_cs.c              |   104 +-
 drivers/gpu/drm/radeon/r600_blit_shaders.c         |     2 +-
 drivers/gpu/drm/radeon/r600_cp.c                   |    14 +-
 drivers/gpu/drm/radeon/radeon_acpi.c               |     1 -
 drivers/gpu/drm/radeon/radeon_agp.c                |     8 +-
 drivers/gpu/drm/radeon/radeon_asic.c               |     1 -
 drivers/gpu/drm/radeon/radeon_atpx_handler.c       |     4 +-
 drivers/gpu/drm/radeon/radeon_bios.c               |     1 -
 drivers/gpu/drm/radeon/radeon_cp.c                 |    16 +-
 drivers/gpu/drm/radeon/radeon_device.c             |     2 +-
 drivers/gpu/drm/radeon/radeon_display.c            |    37 +-
 drivers/gpu/drm/radeon/radeon_drv.c                |    16 +-
 drivers/gpu/drm/radeon/radeon_drv.h                |     6 +-
 drivers/gpu/drm/radeon/radeon_irq.c                |    38 +-
 drivers/gpu/drm/radeon/radeon_kms.c                |   138 +-
 drivers/gpu/drm/radeon/radeon_mode.h               |     8 +-
 drivers/gpu/drm/radeon/radeon_pm.c                 |     4 +-
 drivers/gpu/drm/radeon/radeon_ttm.c                |    10 +-
 drivers/gpu/drm/rcar-du/Kconfig                    |     2 +-
 drivers/gpu/drm/rcar-du/rcar_du_drv.c              |    48 +-
 drivers/gpu/drm/rcar-du/rcar_du_group.c            |     5 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c              |     2 +-
 drivers/gpu/drm/rcar-du/rcar_du_plane.c            |    45 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c        |    89 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c        |     3 -
 drivers/gpu/drm/shmobile/shmob_drm_drv.c           |     6 +-
 drivers/gpu/drm/sis/sis_drv.h                      |     4 +
 drivers/gpu/drm/sti/sti_crtc.c                     |    16 +-
 drivers/gpu/drm/sti/sti_crtc.h                     |     4 +-
 drivers/gpu/drm/sti/sti_drv.c                      |     4 +-
 drivers/gpu/drm/tegra/dc.c                         |    16 +-
 drivers/gpu/drm/tegra/dpaux.c                      |     3 +-
 drivers/gpu/drm/tegra/drm.c                        |    37 +-
 drivers/gpu/drm/tegra/fb.c                         |     1 -
 drivers/gpu/drm/tilcdc/tilcdc_drv.c                |     6 +-
 drivers/gpu/drm/vc4/Kconfig                        |    13 +
 drivers/gpu/drm/vc4/Makefile                       |    17 +
 drivers/gpu/drm/vc4/vc4_bo.c                       |    52 +
 drivers/gpu/drm/vc4/vc4_crtc.c                     |   672 +
 drivers/gpu/drm/vc4/vc4_debugfs.c                  |    39 +
 drivers/gpu/drm/vc4/vc4_drv.c                      |   298 +
 drivers/gpu/drm/vc4/vc4_drv.h                      |   145 +
 drivers/gpu/drm/vc4/vc4_hdmi.c                     |   590 +
 drivers/gpu/drm/vc4/vc4_hvs.c                      |   163 +
 drivers/gpu/drm/vc4/vc4_kms.c                      |    67 +
 drivers/gpu/drm/vc4/vc4_plane.c                    |   320 +
 drivers/gpu/drm/vc4/vc4_regs.h                     |   570 +
 drivers/gpu/drm/vgem/vgem_drv.c                    |    55 +-
 drivers/gpu/drm/via/via_drv.h                      |    10 +-
 drivers/gpu/drm/via/via_irq.c                      |    17 +-
 drivers/gpu/drm/virtio/Makefile                    |     3 +-
 drivers/gpu/drm/virtio/virtgpu_display.c           |    57 +-
 drivers/gpu/drm/virtio/virtgpu_drv.c               |    28 +-
 drivers/gpu/drm/virtio/virtgpu_drv.h               |    72 +
 drivers/gpu/drm/virtio/virtgpu_fence.c             |     2 +-
 drivers/gpu/drm/virtio/virtgpu_gem.c               |    41 +
 drivers/gpu/drm/virtio/virtgpu_ioctl.c             |   573 +
 drivers/gpu/drm/virtio/virtgpu_kms.c               |   133 +-
 drivers/gpu/drm/virtio/virtgpu_object.c            |    11 +-
 drivers/gpu/drm/virtio/virtgpu_prime.c             |    71 +
 drivers/gpu/drm/virtio/virtgpu_ttm.c               |     1 +
 drivers/gpu/drm/virtio/virtgpu_vq.c                |   322 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                |    72 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                |    43 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c              |    24 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c               |   132 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c              |    38 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c                |   113 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                |    31 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c               |     2 +
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c            |     2 +
 drivers/gpu/host1x/hw/debug_hw.c                   |     2 +-
 drivers/gpu/host1x/hw/hw_host1x01_sync.h           |     8 +-
 drivers/gpu/host1x/hw/hw_host1x02_sync.h           |     8 +-
 drivers/gpu/host1x/hw/hw_host1x04_sync.h           |     8 +-
 drivers/gpu/ipu-v3/ipu-common.c                    |     5 +
 drivers/gpu/ipu-v3/ipu-cpmem.c                     |    87 +-
 drivers/gpu/ipu-v3/ipu-csi.c                       |     5 +-
 drivers/gpu/ipu-v3/ipu-dc.c                        |    15 +-
 drivers/gpu/ipu-v3/ipu-di.c                        |   129 +-
 drivers/gpu/vga/vga_switcheroo.c                   |   382 +-
 drivers/gpu/vga/vgaarb.c                           |     4 +-
 drivers/platform/x86/apple-gmux.c                  |     2 +-
 include/drm/drmP.h                                 |    48 +-
 include/drm/drm_agpsupport.h                       |    57 +-
 include/drm/drm_atomic_helper.h                    |    12 +-
 include/drm/drm_crtc.h                             |    18 +-
 include/drm/drm_dp_helper.h                        |     9 +-
 include/drm/drm_edid.h                             |     5 +-
 include/drm/drm_fb_helper.h                        |    31 +-
 include/drm/drm_gem.h                              |     5 +-
 include/drm/drm_modeset_lock.h                     |    10 +-
 include/drm/drm_of.h                               |    13 +
 include/drm/drm_plane_helper.h                     |     2 -
 include/drm/drm_vma_manager.h                      |    24 +-
 include/drm/i915_component.h                       |    64 +-
 include/linux/fb.h                                 |     2 +-
 include/linux/fence.h                              |    25 +-
 include/linux/vga_switcheroo.h                     |   100 +-
 include/uapi/drm/Kbuild                            |     1 +
 include/uapi/drm/amdgpu_drm.h                      |     2 +-
 include/uapi/drm/drm_mode.h                        |    42 +-
 include/uapi/drm/i810_drm.h                        |     2 +
 include/uapi/drm/i915_drm.h                        |     3 +-
 include/uapi/drm/nouveau_drm.h                     |     8 -
 include/uapi/drm/r128_drm.h                        |     2 +
 include/uapi/drm/savage_drm.h                      |     2 +
 include/uapi/drm/sis_drm.h                         |     4 -
 include/uapi/drm/via_drm.h                         |     4 -
 include/uapi/drm/virtgpu_drm.h                     |   167 +
 include/uapi/linux/virtio_gpu.h                    |   112 +-
 include/video/exynos5433_decon.h                   |    29 +
 sound/pci/hda/hda_controller.h                     |     2 +-
 sound/pci/hda/hda_intel.c                          |    15 +-
 sound/pci/hda/hda_intel.h                          |     2 +-
 sound/pci/hda/patch_hdmi.c                         |    19 +
 470 files changed, 53638 insertions(+), 9863 deletions(-)
 rename Documentation/DocBook/{drm.tmpl => gpu.tmpl} (97%)
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_1_d.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_1_enum.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gca/gfx_8_1_sh_mask.h
 delete mode 100644 drivers/gpu/drm/armada/armada_output.c
 delete mode 100644 drivers/gpu/drm/armada/armada_output.h
 delete mode 100644 drivers/gpu/drm/armada/armada_slave.c
 delete mode 100644 drivers/gpu/drm/armada/armada_slave.h
 create mode 100644 drivers/gpu/drm/bridge/dw_hdmi-ahb-audio.c
 create mode 100644 drivers/gpu/drm/bridge/dw_hdmi-audio.h
 delete mode 100644 drivers/gpu/drm/exynos/exynos_mixer.h
 create mode 100644 drivers/gpu/drm/i915/i915_guc_submission.c
 create mode 100644 drivers/gpu/drm/i915/intel_guc.h
 create mode 100644 drivers/gpu/drm/i915/intel_guc_loader.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf117.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/priv.h
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pci/g84.c
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pci/g94.c
 rename drivers/gpu/drm/nouveau/nvkm/subdev/pci/{nv50.c => nv46.c} (83%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk104.c
 create mode 100644 drivers/gpu/drm/vc4/Kconfig
 create mode 100644 drivers/gpu/drm/vc4/Makefile
 create mode 100644 drivers/gpu/drm/vc4/vc4_bo.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_crtc.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_debugfs.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_drv.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_drv.h
 create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_hvs.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_kms.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_plane.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_regs.h
 create mode 100644 drivers/gpu/drm/virtio/virtgpu_ioctl.c
 create mode 100644 drivers/gpu/drm/virtio/virtgpu_prime.c
 create mode 100644 include/uapi/drm/virtgpu_drm.h

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

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

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

* Re: [git pull] drm for 4.4-rc1
  2015-11-09  0:46 [git pull] drm for 4.4-rc1 Dave Airlie
@ 2015-12-10  3:04 ` Stefan Lippers-Hollmann
  2015-12-10  7:59   ` Daniel Vetter
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-12-10  3:04 UTC (permalink / raw)
  To: Dave Airlie
  Cc: DRI mailing list, linux-kernel, Sonika Jindal, Shashank Sharma,
	Rodrigo Vivi, Daniel Vetter

Hi

On 2015-11-09, Dave Airlie wrote:
[...]
The following changes since commit 06d1ee32a4d25356a710b49d5e95dbdd68bdf505:

  Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (2015-10-13 09:45:21 -0700)

are available in the git repository at:

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

for you to fetch changes up to 816d2206f0f9953ca854e4ff1a2749a5cbd62715:

  Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next (2015-11-07 17:16:59 +1000)
[...]
>       drm/i915: Check live status before reading edid
[...]

This patch seems to introduce a regression for i915 in Linus' 
v4.4-rc4-60-g9a0f76f, relative to v4.3 (and 4.3.1), on a sandy-bridge 
(Intel DH67CL) system with a single HDMI connected monitor (Medion MD20094)
attached. Immediately after the modeswitch, the monitor switches off and 
stays off. Nothing catches my eyes in dmesg or Xorg.0.log, but bisecting 
the issue points me at:

237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
commit 237ed86c693d8a8e4db476976aeb30df4deac74b
Author: Sonika Jindal <sonika.jindal@intel.com>
Date:   Tue Sep 15 09:44:20 2015 +0530

    drm/i915: Check live status before reading edid
    
    The Bspec is very clear that Live status must be checked about before
    trying to read EDID over DDC channel. This patch makes sure that HDMI
    EDID is read only when live status is up.
    
    The live status doesn't seem to perform very consistent across various
    platforms when tested with different monitors. The reason behind that is
    some monitors are late to provide right voltage to set live_status up.
    So, after getting the interrupt, for a small duration, live status reg
    fluctuates, and then settles down showing the correct staus.
    
    This is explained here in, in a rough way:
    HPD line  ________________
                         |\ T1 = Monitor Hotplug causing IRQ
                         | \______________________________________
                         | |
                             | |
                         | |   T2 = Live status is stable
                         | |  _____________________________________
                         | | /|
    Live status _____________|_|/ |
                         | |  |
                         | |  |
                         | |  |
                        T0 T1  T2
    
    (Between T1 and T2 Live status fluctuates or can be even low, depending on
     the monitor)
    
    After several experiments, we have concluded that a max delay
    of 30ms is enough to allow the live status to settle down with
    most of the monitors. This total delay of 30ms has been split into
    a resolution of 3 retries of 10ms each, for the better cases.
    
    This delay is kept at 30ms, keeping in consideration that, HDCP compliance
    expect the HPD handler to respond a plug out in 100ms, by disabling port.
    
    v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions
    to check digital port status. Adding a separate function to get bxt live
    status (Daniel)
    v3: Using intel_encoder->hpd_pin to check the live status (Siva)
    Moving the live status read to intel_hdmi_probe and passing parameter
    to read/not to read the edid. (me)
    v4:
    * Added live status check for all platforms using
    intel_digital_port_connected.
    * Rebased on top of Jani's DP cleanup series
    * Some monitors take time in setting the live status. So retry for few
    times if this is a connect HPD
    v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob
        which was missed.
    v6: Drop the (!detect_edid && !live_status check) check because for DDI
    ports which are enumerated as hdmi as well as DP, we don't have a
    mechanism to differentiate between DP and hdmi inside the encoder's
    hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well
    as hdmi which leads to issues during unplug because of the above check.
    v7: Make intel_digital_port_connected global in this patch, some
    reformatting of while loop, adding a print when live status is not
    up. (Rodrigo)
    v8: Rebase it on nightly which involved skipping the hot_plug hook for now
    and letting the live_status check happen in detect until the hpd handling
    part is finalized (Daniel)
    
    Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
    Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 85f19ff45ffe39cee99a7a9b0e9dadf9fe71553f 0094b6c634580a496c5cdbf77f13fe5fa769c3e3 M     drivers

$ git bisect log
# bad: [9a0f76fde9ad2c00c0cf13aaf3dfb9d886dc578c] Merge tag 'for-linus-4.4-1' of git://git.code.sf.net/p/openipmi/linux-ipmi
# good: [6a13feb9c82803e2b815eca72fa7a9f5561d7861] Linux 4.3
git bisect start 'HEAD' 'v4.3'
# good: [8e483ed1342a4ea45b70f0f33ac54eff7a33d918] Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
git bisect good 8e483ed1342a4ea45b70f0f33ac54eff7a33d918
# bad: [3e82806b97398d542a5e03bd94861f79ce10ecee] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
git bisect bad 3e82806b97398d542a5e03bd94861f79ce10ecee
# good: [0280d1a099da1d211e76ec47cc0944c993a36316] Merge tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect good 0280d1a099da1d211e76ec47cc0944c993a36316
# good: [123a28d8b522b03dd97c1f791245924088616ac0] Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
git bisect good 123a28d8b522b03dd97c1f791245924088616ac0
# bad: [b10f1b20171945b49988b2b1fe68cb312cc36d32] drm/i915/skl: Prevent unclaimed register writes on skylake.
git bisect bad b10f1b20171945b49988b2b1fe68cb312cc36d32
# bad: [89e3e1427629027dc33e576fc002880a02a7e50c] drm/i915: Support NV12 in rotated GGTT mapping
git bisect bad 89e3e1427629027dc33e576fc002880a02a7e50c
# good: [0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc] drm/i915: LPT:LP needs port A HPD enabled in both north and south
git bisect good 0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc
# good: [eb120ef6a3e18780e7464e7de70221d06dfe5845] drm/i915: add more debug info for when atomic updates fail v3
git bisect good eb120ef6a3e18780e7464e7de70221d06dfe5845
# bad: [7aefe2b50a0be5c85e7702bff110e5e187fbe4b5] drm/i915: Fix fastboot scalers for skylake.
git bisect bad 7aefe2b50a0be5c85e7702bff110e5e187fbe4b5
# good: [83e3337204b2385d20e149c8fe91bb2719978df2] drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack
git bisect good 83e3337204b2385d20e149c8fe91bb2719978df2
# bad: [9eca6832f7254d49d25494da7d47c0f8a24f7862] drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state()
git bisect bad 9eca6832f7254d49d25494da7d47c0f8a24f7862
# good: [d2e08c0f34438af791482de8abf2c8e4e573b1d3] drm/i915/bxt: DSI prepare changes for BXT
git bisect good d2e08c0f34438af791482de8abf2c8e4e573b1d3
# bad: [7f4c62840cc416986f983a8c68f7010c97e06daf] drm/i915: Assign hwmode after encoder state readout
git bisect bad 7f4c62840cc416986f983a8c68f7010c97e06daf
# bad: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid
git bisect bad 237ed86c693d8a8e4db476976aeb30df4deac74b
# first bad commit: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid

Unfortunately reverting only this patch on top of v4.4-rc4-60-g9a0f76f
doesn't appear to be quite straight forward. What is the best approach
to debug this further?

The very same kernel works fine on two ivy-bridge systems (different
monitors, one connected via HDMI, one via DVI) and an Atom N270 based
system (Intel D945GSEJT, monitor connected via DVI).

Regards
	Stefan Lippers-Hollmann

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

* Re: [git pull] drm for 4.4-rc1
  2015-12-10  3:04 ` Stefan Lippers-Hollmann
@ 2015-12-10  7:59   ` Daniel Vetter
  2015-12-10 12:42     ` Jani Nikula
  2015-12-14  6:14     ` Stefan Lippers-Hollmann
  0 siblings, 2 replies; 6+ messages in thread
From: Daniel Vetter @ 2015-12-10  7:59 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: Daniel Vetter, linux-kernel, DRI mailing list, Rodrigo Vivi

On Thu, Dec 10, 2015 at 04:04:20AM +0100, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-11-09, Dave Airlie wrote:
> [...]
> The following changes since commit 06d1ee32a4d25356a710b49d5e95dbdd68bdf505:
> 
>   Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (2015-10-13 09:45:21 -0700)
> 
> are available in the git repository at:
> 
>   git://people.freedesktop.org/~airlied/linux drm-next
> 
> for you to fetch changes up to 816d2206f0f9953ca854e4ff1a2749a5cbd62715:
> 
>   Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next (2015-11-07 17:16:59 +1000)
> [...]
> >       drm/i915: Check live status before reading edid
> [...]
> 
> This patch seems to introduce a regression for i915 in Linus' 
> v4.4-rc4-60-g9a0f76f, relative to v4.3 (and 4.3.1), on a sandy-bridge 
> (Intel DH67CL) system with a single HDMI connected monitor (Medion MD20094)
> attached. Immediately after the modeswitch, the monitor switches off and 
> stays off. Nothing catches my eyes in dmesg or Xorg.0.log, but bisecting 
> the issue points me at:
> 
> 237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
> commit 237ed86c693d8a8e4db476976aeb30df4deac74b
> Author: Sonika Jindal <sonika.jindal@intel.com>
> Date:   Tue Sep 15 09:44:20 2015 +0530
> 
>     drm/i915: Check live status before reading edid
>     
>     The Bspec is very clear that Live status must be checked about before
>     trying to read EDID over DDC channel. This patch makes sure that HDMI
>     EDID is read only when live status is up.
>     
>     The live status doesn't seem to perform very consistent across various
>     platforms when tested with different monitors. The reason behind that is
>     some monitors are late to provide right voltage to set live_status up.
>     So, after getting the interrupt, for a small duration, live status reg
>     fluctuates, and then settles down showing the correct staus.
>     
>     This is explained here in, in a rough way:
>     HPD line  ________________
>                          |\ T1 = Monitor Hotplug causing IRQ
>                          | \______________________________________
>                          | |
>                              | |
>                          | |   T2 = Live status is stable
>                          | |  _____________________________________
>                          | | /|
>     Live status _____________|_|/ |
>                          | |  |
>                          | |  |
>                          | |  |
>                         T0 T1  T2
>     
>     (Between T1 and T2 Live status fluctuates or can be even low, depending on
>      the monitor)
>     
>     After several experiments, we have concluded that a max delay
>     of 30ms is enough to allow the live status to settle down with
>     most of the monitors. This total delay of 30ms has been split into
>     a resolution of 3 retries of 10ms each, for the better cases.
>     
>     This delay is kept at 30ms, keeping in consideration that, HDCP compliance
>     expect the HPD handler to respond a plug out in 100ms, by disabling port.
>     
>     v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions
>     to check digital port status. Adding a separate function to get bxt live
>     status (Daniel)
>     v3: Using intel_encoder->hpd_pin to check the live status (Siva)
>     Moving the live status read to intel_hdmi_probe and passing parameter
>     to read/not to read the edid. (me)
>     v4:
>     * Added live status check for all platforms using
>     intel_digital_port_connected.
>     * Rebased on top of Jani's DP cleanup series
>     * Some monitors take time in setting the live status. So retry for few
>     times if this is a connect HPD
>     v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob
>         which was missed.
>     v6: Drop the (!detect_edid && !live_status check) check because for DDI
>     ports which are enumerated as hdmi as well as DP, we don't have a
>     mechanism to differentiate between DP and hdmi inside the encoder's
>     hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well
>     as hdmi which leads to issues during unplug because of the above check.
>     v7: Make intel_digital_port_connected global in this patch, some
>     reformatting of while loop, adding a print when live status is not
>     up. (Rodrigo)
>     v8: Rebase it on nightly which involved skipping the hot_plug hook for now
>     and letting the live_status check happen in detect until the hpd handling
>     part is finalized (Daniel)
>     
>     Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
>     Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
>     Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>     Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> :040000 040000 85f19ff45ffe39cee99a7a9b0e9dadf9fe71553f 0094b6c634580a496c5cdbf77f13fe5fa769c3e3 M     drivers
> 
> $ git bisect log
> # bad: [9a0f76fde9ad2c00c0cf13aaf3dfb9d886dc578c] Merge tag 'for-linus-4.4-1' of git://git.code.sf.net/p/openipmi/linux-ipmi
> # good: [6a13feb9c82803e2b815eca72fa7a9f5561d7861] Linux 4.3
> git bisect start 'HEAD' 'v4.3'
> # good: [8e483ed1342a4ea45b70f0f33ac54eff7a33d918] Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
> git bisect good 8e483ed1342a4ea45b70f0f33ac54eff7a33d918
> # bad: [3e82806b97398d542a5e03bd94861f79ce10ecee] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
> git bisect bad 3e82806b97398d542a5e03bd94861f79ce10ecee
> # good: [0280d1a099da1d211e76ec47cc0944c993a36316] Merge tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
> git bisect good 0280d1a099da1d211e76ec47cc0944c993a36316
> # good: [123a28d8b522b03dd97c1f791245924088616ac0] Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
> git bisect good 123a28d8b522b03dd97c1f791245924088616ac0
> # bad: [b10f1b20171945b49988b2b1fe68cb312cc36d32] drm/i915/skl: Prevent unclaimed register writes on skylake.
> git bisect bad b10f1b20171945b49988b2b1fe68cb312cc36d32
> # bad: [89e3e1427629027dc33e576fc002880a02a7e50c] drm/i915: Support NV12 in rotated GGTT mapping
> git bisect bad 89e3e1427629027dc33e576fc002880a02a7e50c
> # good: [0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc] drm/i915: LPT:LP needs port A HPD enabled in both north and south
> git bisect good 0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc
> # good: [eb120ef6a3e18780e7464e7de70221d06dfe5845] drm/i915: add more debug info for when atomic updates fail v3
> git bisect good eb120ef6a3e18780e7464e7de70221d06dfe5845
> # bad: [7aefe2b50a0be5c85e7702bff110e5e187fbe4b5] drm/i915: Fix fastboot scalers for skylake.
> git bisect bad 7aefe2b50a0be5c85e7702bff110e5e187fbe4b5
> # good: [83e3337204b2385d20e149c8fe91bb2719978df2] drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack
> git bisect good 83e3337204b2385d20e149c8fe91bb2719978df2
> # bad: [9eca6832f7254d49d25494da7d47c0f8a24f7862] drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state()
> git bisect bad 9eca6832f7254d49d25494da7d47c0f8a24f7862
> # good: [d2e08c0f34438af791482de8abf2c8e4e573b1d3] drm/i915/bxt: DSI prepare changes for BXT
> git bisect good d2e08c0f34438af791482de8abf2c8e4e573b1d3
> # bad: [7f4c62840cc416986f983a8c68f7010c97e06daf] drm/i915: Assign hwmode after encoder state readout
> git bisect bad 7f4c62840cc416986f983a8c68f7010c97e06daf
> # bad: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid
> git bisect bad 237ed86c693d8a8e4db476976aeb30df4deac74b
> # first bad commit: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid
> 
> Unfortunately reverting only this patch on top of v4.4-rc4-60-g9a0f76f
> doesn't appear to be quite straight forward. What is the best approach
> to debug this further?
> 
> The very same kernel works fine on two ivy-bridge systems (different
> monitors, one connected via HDMI, one via DVI) and an Atom N270 based
> system (Intel D945GSEJT, monitor connected via DVI).

A few things to test:
- How does that screen fare on a working machine? Would tell us if the
  issue is with the sink or the source.

- Please boot up with drm.debug=0xe on a working and broken kernel, grab
  dmesg for both.

- Extending the timeout magic might be worth a shot like in the below
  patch. Crank up retry if it doesn't help.

Thanks, Daniel

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index c3978bad5ca0..86ebaac548b3 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1387,7 +1387,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
 	struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
 	struct drm_i915_private *dev_priv = to_i915(connector->dev);
 	bool live_status = false;
-	unsigned int retry = 3;
+	unsigned int retry = 10;
 
 	DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
 		      connector->base.id, connector->name);
@@ -1397,7 +1397,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
 	while (!live_status && --retry) {
 		live_status = intel_digital_port_connected(dev_priv,
 				hdmi_to_dig_port(intel_hdmi));
-		mdelay(10);
+		msleep(10);
 	}
 
 	if (!live_status)

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [git pull] drm for 4.4-rc1
  2015-12-10  7:59   ` Daniel Vetter
@ 2015-12-10 12:42     ` Jani Nikula
  2015-12-14  6:14     ` Stefan Lippers-Hollmann
  1 sibling, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2015-12-10 12:42 UTC (permalink / raw)
  To: Daniel Vetter, Stefan Lippers-Hollmann
  Cc: Daniel Vetter, linux-kernel, DRI mailing list, Rodrigo Vivi

On Thu, 10 Dec 2015, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Dec 10, 2015 at 04:04:20AM +0100, Stefan Lippers-Hollmann wrote:
>> Hi
>> 
>> On 2015-11-09, Dave Airlie wrote:
>> [...]
>> The following changes since commit 06d1ee32a4d25356a710b49d5e95dbdd68bdf505:
>> 
>>   Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (2015-10-13 09:45:21 -0700)
>> 
>> are available in the git repository at:
>> 
>>   git://people.freedesktop.org/~airlied/linux drm-next
>> 
>> for you to fetch changes up to 816d2206f0f9953ca854e4ff1a2749a5cbd62715:
>> 
>>   Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next (2015-11-07 17:16:59 +1000)
>> [...]
>> >       drm/i915: Check live status before reading edid
>> [...]
>> 
>> This patch seems to introduce a regression for i915 in Linus' 
>> v4.4-rc4-60-g9a0f76f, relative to v4.3 (and 4.3.1), on a sandy-bridge 
>> (Intel DH67CL) system with a single HDMI connected monitor (Medion MD20094)
>> attached. Immediately after the modeswitch, the monitor switches off and 
>> stays off. Nothing catches my eyes in dmesg or Xorg.0.log, but bisecting 
>> the issue points me at:
>> 
>> 237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
>> commit 237ed86c693d8a8e4db476976aeb30df4deac74b
>> Author: Sonika Jindal <sonika.jindal@intel.com>
>> Date:   Tue Sep 15 09:44:20 2015 +0530
>> 
>>     drm/i915: Check live status before reading edid
>>     
>>     The Bspec is very clear that Live status must be checked about before
>>     trying to read EDID over DDC channel. This patch makes sure that HDMI
>>     EDID is read only when live status is up.
>>     
>>     The live status doesn't seem to perform very consistent across various
>>     platforms when tested with different monitors. The reason behind that is
>>     some monitors are late to provide right voltage to set live_status up.
>>     So, after getting the interrupt, for a small duration, live status reg
>>     fluctuates, and then settles down showing the correct staus.
>>     
>>     This is explained here in, in a rough way:
>>     HPD line  ________________
>>                          |\ T1 = Monitor Hotplug causing IRQ
>>                          | \______________________________________
>>                          | |
>>                              | |
>>                          | |   T2 = Live status is stable
>>                          | |  _____________________________________
>>                          | | /|
>>     Live status _____________|_|/ |
>>                          | |  |
>>                          | |  |
>>                          | |  |
>>                         T0 T1  T2
>>     
>>     (Between T1 and T2 Live status fluctuates or can be even low, depending on
>>      the monitor)
>>     
>>     After several experiments, we have concluded that a max delay
>>     of 30ms is enough to allow the live status to settle down with
>>     most of the monitors. This total delay of 30ms has been split into
>>     a resolution of 3 retries of 10ms each, for the better cases.
>>     
>>     This delay is kept at 30ms, keeping in consideration that, HDCP compliance
>>     expect the HPD handler to respond a plug out in 100ms, by disabling port.
>>     
>>     v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions
>>     to check digital port status. Adding a separate function to get bxt live
>>     status (Daniel)
>>     v3: Using intel_encoder->hpd_pin to check the live status (Siva)
>>     Moving the live status read to intel_hdmi_probe and passing parameter
>>     to read/not to read the edid. (me)
>>     v4:
>>     * Added live status check for all platforms using
>>     intel_digital_port_connected.
>>     * Rebased on top of Jani's DP cleanup series
>>     * Some monitors take time in setting the live status. So retry for few
>>     times if this is a connect HPD
>>     v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob
>>         which was missed.
>>     v6: Drop the (!detect_edid && !live_status check) check because for DDI
>>     ports which are enumerated as hdmi as well as DP, we don't have a
>>     mechanism to differentiate between DP and hdmi inside the encoder's
>>     hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well
>>     as hdmi which leads to issues during unplug because of the above check.
>>     v7: Make intel_digital_port_connected global in this patch, some
>>     reformatting of while loop, adding a print when live status is not
>>     up. (Rodrigo)
>>     v8: Rebase it on nightly which involved skipping the hot_plug hook for now
>>     and letting the live_status check happen in detect until the hpd handling
>>     part is finalized (Daniel)
>>     
>>     Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
>>     Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
>>     Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>     Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> 
>> :040000 040000 85f19ff45ffe39cee99a7a9b0e9dadf9fe71553f 0094b6c634580a496c5cdbf77f13fe5fa769c3e3 M     drivers
>> 
>> $ git bisect log
>> # bad: [9a0f76fde9ad2c00c0cf13aaf3dfb9d886dc578c] Merge tag 'for-linus-4.4-1' of git://git.code.sf.net/p/openipmi/linux-ipmi
>> # good: [6a13feb9c82803e2b815eca72fa7a9f5561d7861] Linux 4.3
>> git bisect start 'HEAD' 'v4.3'
>> # good: [8e483ed1342a4ea45b70f0f33ac54eff7a33d918] Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
>> git bisect good 8e483ed1342a4ea45b70f0f33ac54eff7a33d918
>> # bad: [3e82806b97398d542a5e03bd94861f79ce10ecee] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
>> git bisect bad 3e82806b97398d542a5e03bd94861f79ce10ecee
>> # good: [0280d1a099da1d211e76ec47cc0944c993a36316] Merge tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
>> git bisect good 0280d1a099da1d211e76ec47cc0944c993a36316
>> # good: [123a28d8b522b03dd97c1f791245924088616ac0] Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
>> git bisect good 123a28d8b522b03dd97c1f791245924088616ac0
>> # bad: [b10f1b20171945b49988b2b1fe68cb312cc36d32] drm/i915/skl: Prevent unclaimed register writes on skylake.
>> git bisect bad b10f1b20171945b49988b2b1fe68cb312cc36d32
>> # bad: [89e3e1427629027dc33e576fc002880a02a7e50c] drm/i915: Support NV12 in rotated GGTT mapping
>> git bisect bad 89e3e1427629027dc33e576fc002880a02a7e50c
>> # good: [0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc] drm/i915: LPT:LP needs port A HPD enabled in both north and south
>> git bisect good 0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc
>> # good: [eb120ef6a3e18780e7464e7de70221d06dfe5845] drm/i915: add more debug info for when atomic updates fail v3
>> git bisect good eb120ef6a3e18780e7464e7de70221d06dfe5845
>> # bad: [7aefe2b50a0be5c85e7702bff110e5e187fbe4b5] drm/i915: Fix fastboot scalers for skylake.
>> git bisect bad 7aefe2b50a0be5c85e7702bff110e5e187fbe4b5
>> # good: [83e3337204b2385d20e149c8fe91bb2719978df2] drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack
>> git bisect good 83e3337204b2385d20e149c8fe91bb2719978df2
>> # bad: [9eca6832f7254d49d25494da7d47c0f8a24f7862] drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state()
>> git bisect bad 9eca6832f7254d49d25494da7d47c0f8a24f7862
>> # good: [d2e08c0f34438af791482de8abf2c8e4e573b1d3] drm/i915/bxt: DSI prepare changes for BXT
>> git bisect good d2e08c0f34438af791482de8abf2c8e4e573b1d3
>> # bad: [7f4c62840cc416986f983a8c68f7010c97e06daf] drm/i915: Assign hwmode after encoder state readout
>> git bisect bad 7f4c62840cc416986f983a8c68f7010c97e06daf
>> # bad: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid
>> git bisect bad 237ed86c693d8a8e4db476976aeb30df4deac74b
>> # first bad commit: [237ed86c693d8a8e4db476976aeb30df4deac74b] drm/i915: Check live status before reading edid
>> 
>> Unfortunately reverting only this patch on top of v4.4-rc4-60-g9a0f76f
>> doesn't appear to be quite straight forward. What is the best approach
>> to debug this further?
>> 
>> The very same kernel works fine on two ivy-bridge systems (different
>> monitors, one connected via HDMI, one via DVI) and an Atom N270 based
>> system (Intel D945GSEJT, monitor connected via DVI).
>
> A few things to test:

The very first thing to do is to ensure you've tried v4.4-rc4, which
contains

commit 0f5a9be15797f78c9a34e432f26c796165b6e49a
Author: Imre Deak <imre.deak@intel.com>
Date:   Fri Nov 27 18:55:29 2015 +0200

    drm/i915: take a power domain reference while checking the HDMI live status

BR,
Jani.




> - How does that screen fare on a working machine? Would tell us if the
>   issue is with the sink or the source.
>
> - Please boot up with drm.debug=0xe on a working and broken kernel, grab
>   dmesg for both.
>
> - Extending the timeout magic might be worth a shot like in the below
>   patch. Crank up retry if it doesn't help.
>
> Thanks, Daniel
>
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index c3978bad5ca0..86ebaac548b3 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1387,7 +1387,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
>  	struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
>  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
>  	bool live_status = false;
> -	unsigned int retry = 3;
> +	unsigned int retry = 10;
>  
>  	DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
>  		      connector->base.id, connector->name);
> @@ -1397,7 +1397,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
>  	while (!live_status && --retry) {
>  		live_status = intel_digital_port_connected(dev_priv,
>  				hdmi_to_dig_port(intel_hdmi));
> -		mdelay(10);
> +		msleep(10);
>  	}
>  
>  	if (!live_status)

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

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

* Re: [git pull] drm for 4.4-rc1
  2015-12-10  7:59   ` Daniel Vetter
  2015-12-10 12:42     ` Jani Nikula
@ 2015-12-14  6:14     ` Stefan Lippers-Hollmann
  2015-12-14  8:30       ` Daniel Vetter
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-12-14  6:14 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Dave Airlie, DRI mailing list, linux-kernel, Sonika Jindal,
	Shashank Sharma, Rodrigo Vivi, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 2988 bytes --]

Hi

On 2015-12-10, Daniel Vetter wrote:
> On Thu, Dec 10, 2015 at 04:04:20AM +0100, Stefan Lippers-Hollmann wrote:
> > On 2015-11-09, Dave Airlie wrote:
[...]
> > This patch seems to introduce a regression for i915 in Linus' 
> > v4.4-rc4-60-g9a0f76f, relative to v4.3 (and 4.3.1), on a sandy-bridge 
> > (Intel DH67CL) system with a single HDMI connected monitor (Medion MD20094)
> > attached. Immediately after the modeswitch, the monitor switches off and 
> > stays off. Nothing catches my eyes in dmesg or Xorg.0.log, but bisecting 
> > the issue points me at:
> > 
> > 237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
> > commit 237ed86c693d8a8e4db476976aeb30df4deac74b
> > Author: Sonika Jindal <sonika.jindal@intel.com>
> > Date:   Tue Sep 15 09:44:20 2015 +0530
> > 
> >     drm/i915: Check live status before reading edid
[...]

This is strange, after connecting a different monitor (Fujitsu-Siemens 
Scaleoview D19-1) as a second screen via DVI, both monitors came up fine
and even after removing it (and reverting everything to the status quo 
ante), this HDMI connected Medion MD20094 monitor continues to work on
the previously broken sandy-bridge DH67CL mainboard.
Despite this problem being 100% reproducable and bisectable before, 
including multiple power cycles and replacing the HDMI cable, I have not 
been able to reproduce the issue again.

> A few things to test:
> - How does that screen fare on a working machine? Would tell us if the
>   issue is with the sink or the source.

It is working fine on a Baytrail-D (ASRock Q1900DC-ITX) and an ivy-bridge
(Gigabyte GA-H77M-D3H r1.1) system - and now on the previously affected
sandy-bridge system (Intel DH67CL) as well.

> - Please boot up with drm.debug=0xe on a working and broken kernel, grab
>   dmesg for both.

dmesg-v4.4-rc4-113-g0bd0f1e-working.gz is attached, unfortunately I'm no
longer able to reproduce the previous failure (tested with easy of the
bisection steps, identical kernel binaries as before, and v4.4-rc5 as 
well), so I can't provide a broken trace.

> - Extending the timeout magic might be worth a shot like in the below
>   patch. Crank up retry if it doesn't help.
[...]

I can only imagine that it was right beyond the brink of the timeout 
before and something had a lasting, but probably subtile, effect on the 
timing after temporarily connecting the second screen; it is working now.

On 2015-12-10, Jani Nikula wrote:
[...]
> The very first thing to do is to ensure you've tried v4.4-rc4, which
> contains

I tested both plain v4.4-rc4 and v4.4-rc4-60-g9a0f76f

> commit 0f5a9be15797f78c9a34e432f26c796165b6e49a
> Author: Imre Deak <imre.deak@intel.com>
> Date:   Fri Nov 27 18:55:29 2015 +0200
> 
>     drm/i915: take a power domain reference while checking the HDMI live status

both containing this patch.


Thanks a lot and sorry for your trouble, I'll report back if anything
changes - or if I can reproduce the problem again.

Regards
	Stefan Lippers-Hollmann

[-- Attachment #2: dmesg-v4.4-rc4-113-g0bd0f1e-working.gz --]
[-- Type: application/gzip, Size: 21936 bytes --]

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

* Re: [git pull] drm for 4.4-rc1
  2015-12-14  6:14     ` Stefan Lippers-Hollmann
@ 2015-12-14  8:30       ` Daniel Vetter
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2015-12-14  8:30 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: Daniel Vetter, linux-kernel, DRI mailing list, Rodrigo Vivi

On Mon, Dec 14, 2015 at 07:14:09AM +0100, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-12-10, Daniel Vetter wrote:
> > On Thu, Dec 10, 2015 at 04:04:20AM +0100, Stefan Lippers-Hollmann wrote:
> > > On 2015-11-09, Dave Airlie wrote:
> [...]
> > > This patch seems to introduce a regression for i915 in Linus' 
> > > v4.4-rc4-60-g9a0f76f, relative to v4.3 (and 4.3.1), on a sandy-bridge 
> > > (Intel DH67CL) system with a single HDMI connected monitor (Medion MD20094)
> > > attached. Immediately after the modeswitch, the monitor switches off and 
> > > stays off. Nothing catches my eyes in dmesg or Xorg.0.log, but bisecting 
> > > the issue points me at:
> > > 
> > > 237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
> > > commit 237ed86c693d8a8e4db476976aeb30df4deac74b
> > > Author: Sonika Jindal <sonika.jindal@intel.com>
> > > Date:   Tue Sep 15 09:44:20 2015 +0530
> > > 
> > >     drm/i915: Check live status before reading edid
> [...]
> 
> This is strange, after connecting a different monitor (Fujitsu-Siemens 
> Scaleoview D19-1) as a second screen via DVI, both monitors came up fine
> and even after removing it (and reverting everything to the status quo 
> ante), this HDMI connected Medion MD20094 monitor continues to work on
> the previously broken sandy-bridge DH67CL mainboard.
> Despite this problem being 100% reproducable and bisectable before, 
> including multiple power cycles and replacing the HDMI cable, I have not 
> been able to reproduce the issue again.
> 
> > A few things to test:
> > - How does that screen fare on a working machine? Would tell us if the
> >   issue is with the sink or the source.
> 
> It is working fine on a Baytrail-D (ASRock Q1900DC-ITX) and an ivy-bridge
> (Gigabyte GA-H77M-D3H r1.1) system - and now on the previously affected
> sandy-bridge system (Intel DH67CL) as well.
> 
> > - Please boot up with drm.debug=0xe on a working and broken kernel, grab
> >   dmesg for both.
> 
> dmesg-v4.4-rc4-113-g0bd0f1e-working.gz is attached, unfortunately I'm no
> longer able to reproduce the previous failure (tested with easy of the
> bisection steps, identical kernel binaries as before, and v4.4-rc5 as 
> well), so I can't provide a broken trace.
> 
> > - Extending the timeout magic might be worth a shot like in the below
> >   patch. Crank up retry if it doesn't help.
> [...]
> 
> I can only imagine that it was right beyond the brink of the timeout 
> before and something had a lasting, but probably subtile, effect on the 
> timing after temporarily connecting the second screen; it is working now.
> 
> On 2015-12-10, Jani Nikula wrote:
> [...]
> > The very first thing to do is to ensure you've tried v4.4-rc4, which
> > contains
> 
> I tested both plain v4.4-rc4 and v4.4-rc4-60-g9a0f76f
> 
> > commit 0f5a9be15797f78c9a34e432f26c796165b6e49a
> > Author: Imre Deak <imre.deak@intel.com>
> > Date:   Fri Nov 27 18:55:29 2015 +0200
> > 
> >     drm/i915: take a power domain reference while checking the HDMI live status
> 
> both containing this patch.
> 
> 
> Thanks a lot and sorry for your trouble, I'll report back if anything
> changes - or if I can reproduce the problem again.

Ah no worries, this happens fairly often ;-) Could be the cable had a bad
day or something like that. Also someone from intel noticed that the delay
isn't quite working like it should (we don't do the full 3x10ms delay),
patch for that should go to upstream hopefuly soon.

Anyway, thanks for reporting.

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2015-12-14  8:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-09  0:46 [git pull] drm for 4.4-rc1 Dave Airlie
2015-12-10  3:04 ` Stefan Lippers-Hollmann
2015-12-10  7:59   ` Daniel Vetter
2015-12-10 12:42     ` Jani Nikula
2015-12-14  6:14     ` Stefan Lippers-Hollmann
2015-12-14  8:30       ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).