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
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
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)
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)
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
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
dri-devel@lists.freedesktop.org