linux_dsm_epyc7002/drivers/gpu/drm
Ville Syrjälä 3aefb67f84 drm/i915: Sanitize PCH port transcoder select on IBX
IBX has a documented workaround which states that when we disable the
port we must change its transcoder select to A, otherwise it will
prevent the other port (DP vs. HDMI/SDVO) from using transcoder A.
We implement the workaround during encoder disable, but looks like
some BIOSen leave transcoder B selected even when the port wasn't
actually enabled by the BIOS. That will trip up our asserts
that attempt to make sure we never forget this w/a.

Sanitize the transcoder select to A for all disabled PCH
DP/HDMI/SDVO ports. We assume that the port was never enabled
by the BIOS on transcoder B, because if it had we'd actually have
to toggle the port on and back off to properly switch it back to
transcoder A. That would cause some display flicker if transcoder A
is already enabled on some other port, so it's better not to do it
unless absolutely necessary. Since we have no indication that the
transcoder select is misbehaving on the affected machines we can
assume the port was never actually enabled by the BIOS.

This cures warning like this during driver load:
IBX PCH DP C still using transcoder B
WARNING: CPU: 2 PID: 172 at drivers/gpu/drm/i915/intel_display.c:1279 assert_pch_dp_disabled+0x9e/0xb0 [i915]

v2: Add comments to remind the reader that SDVOB==HDMIB (Chris)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181108143635.9556-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-11-09 17:44:34 +02:00
..
amd drm/amdgpu: revert "enable gfxoff in non-sriov and stutter mode by default" 2018-11-01 09:56:56 -05:00
arc drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
arm drm: malidp: Add the size of the superblocks when calculating total 2018-10-05 15:39:51 +01:00
armada drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00
ast drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
atmel-hlcdc drm/atmel-hlcdc: support bus-width (12/16/18/24) in endpoint nodes 2018-08-27 21:22:52 +02:00
bochs drm/bochs: support changing byteorder at mode set time 2018-09-25 14:49:49 +02:00
bridge drm/bridge: ti-sn65dsi86: Remove the mystery delay 2018-10-29 11:53:27 -04:00
cirrus drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:16:47 +02:00
etnaviv This is the 4.19-rc6 release 2018-10-04 11:03:34 +10:00
exynos drm/exynos: mixer: Make plane alpha configurable 2018-10-01 11:49:59 +09:00
fsl-dcu drm/fsl-dcu: Replace drm_dev_unref with drm_dev_put 2018-09-26 22:20:16 +02:00
gma500 Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
hisilicon drm/hisilicon: Replace ttm_bo_unref with ttm_bo_put 2018-09-26 11:42:12 +08:00
i2c VLA leftovers pull summary: 2018-08-17 10:40:09 -07:00
i810 drm/i810: off by one in i810_dma_vertex() 2018-07-03 15:00:42 +02:00
i915 drm/i915: Sanitize PCH port transcoder select on IBX 2018-11-09 17:44:34 +02:00
imx drm/imx: fix build failure without CONFIG_DRM_FBDEV_EMULATION 2018-10-05 12:09:20 +02:00
lib
mediatek drm/mediatek: add a error return value when clock driver has been prepared 2018-10-03 11:56:33 +08:00
meson drm/meson: Make DMT timings parameters and pixel clock generic 2018-07-16 11:14:59 +02:00
mga
mgag200 drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:17:32 +02:00
msm drm/msm: a6xx: Fix improper u64 division 2018-10-08 20:16:01 -04:00
mxsfb drm/mxsfb: Switch to drm_atomic_helper_commit_tail_rpm 2018-09-26 22:07:40 +02:00
nouveau drm/nouveau: Fix nv50_mstc->best_encoder() 2018-10-19 11:46:46 +03:00
omapdrm drm/omap: fix use of freed memory 2018-10-02 09:36:56 +03:00
panel drm/panel: simple: Innolux TV123WAM is actually P120ZDG-BF1 2018-10-29 11:53:28 -04:00
pl111 Merge drm/drm-next into drm-misc-next 2018-09-27 02:54:54 -04:00
qxl qxl: refactor to use drm_fb_helper_fbdev_setup 2018-09-12 09:01:18 +02:00
r128
radeon drm/radeon: change SPDX identifier to MIT 2018-10-15 16:16:12 -05:00
rcar-du drm: rcar-du: Add r8a77990 and r8a77995 device support 2018-09-25 00:41:05 +03:00
rockchip drm/rockchip: Allow driver to be shutdown on reboot/kexec 2018-09-10 10:52:27 +02:00
savage drm/savage: off by one in savage_bci_cmdbuf() 2018-07-04 14:27:01 +02:00
scheduler drm/sched: fix timeout handling v2 2018-10-12 12:52:32 -05:00
selftests drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
shmobile drm: shmobile: convert to SPDX identifiers 2018-09-14 13:54:02 +03:00
sis
sti drm/sti: Use drm_fbdev_generic_setup() 2018-09-25 11:33:51 +02:00
stm drm/stm: Replace drm_dev_unref with drm_dev_put 2018-07-13 10:11:02 +02:00
sun4i Revert "drm/sun4i: Remove R40 display pipeline compatibles" 2018-09-27 04:18:07 -04:00
tdfx
tegra drm/tegra: Changes for v4.20-rc1 2018-09-28 09:47:31 +10:00
tilcdc drm/tilcdc: Convert drm_atomic_helper_suspend/resume() 2018-10-01 15:52:29 +03:00
tinydrm drm/tinydrm: Replace drm_dev_unref with drm_dev_put 2018-08-07 17:09:15 +02:00
ttm list: introduce list_bulk_move_tail helper 2018-10-10 15:20:54 -05:00
tve200 drm/tve200: Use drm_fbdev_generic_setup() 2018-09-25 11:34:24 +02:00
udl Merge drm/drm-next into drm-misc-next 2018-09-27 02:54:54 -04:00
v3d drm/scheduler: remove timeout work_struct from drm_sched_job (v3) 2018-09-27 09:55:45 -05:00
vc4 Merge drm/drm-next into drm-misc-next 2018-09-27 02:54:54 -04:00
vgem drm/vgem: Remove unecessary dma_fence_ops 2018-08-17 11:22:58 +02:00
via treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
virtio virtio: Support prime objects vmap/vunmap 2018-09-26 08:05:07 +02:00
vkms drm/vkms: Fix possible memory leak in _vkms_get_crc() 2018-09-21 10:50:45 +02:00
vmwgfx Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next 2018-10-04 10:19:33 +10:00
xen drm: Replace NULL with error value in drm_prime_pages_to_sg 2018-07-23 11:47:35 +03:00
zte drm/zte: Use drm_fbdev_generic_setup() 2018-09-25 11:35:33 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c drm: Add connector property to limit max bpc 2018-11-02 09:15:58 -07:00
drm_atomic_uapi.c drm: Add connector property to limit max bpc 2018-11-02 09:15:58 -07:00
drm_atomic.c drm: Add connector property to limit max bpc 2018-11-02 09:15:58 -07:00
drm_auth.c
drm_blend.c drm: Clarify DRM_MODE_REFLECT_X/Y documentation 2018-09-11 11:21:30 +01:00
drm_bridge.c drm: bridge: document bridge attach/detach imbalance 2018-09-13 11:28:12 +02:00
drm_bufs.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_cache.c
drm_client.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_color_mgmt.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_connector.c drm: Add connector property to limit max bpc 2018-11-02 09:15:58 -07:00
drm_context.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00
drm_crtc_internal.h drm: refuse ADDFB2 ioctl for broken bigendian drivers 2018-09-10 07:10:36 +02:00
drm_crtc.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_debugfs_crc.c Revert "drm: crc: Wait for a frame before returning from open()" 2018-08-22 09:50:16 -07:00
drm_debugfs.c drm/atomic: Use drm_drv_uses_atomic_modeset() for debugfs creation 2018-09-17 19:24:37 -04:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c drm_dp_cec: add note about good MegaChips 2900 CEC support 2018-08-31 10:20:38 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: DRM DP helper/macros to get DP sink DSC parameters 2018-10-31 14:08:32 -07:00
drm_dp_mst_topology.c drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() 2018-08-31 10:20:38 +02:00
drm_drv.c drm: Introduce per-device driver_features 2018-09-13 18:44:06 +03:00
drm_dumb_buffers.c drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
drm_edid_load.c
drm_edid.c drm/edid: Add 6 bpc quirk for BOE panel. 2018-10-29 10:08:32 +01:00
drm_encoder_slave.c
drm_encoder.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_fb_cma_helper.c drm: Use horizontal and vertical chroma subsampling factor while calculating offsets in the physical address of framebuffer 2018-08-20 14:13:43 +01:00
drm_fb_helper.c drm/fb_helper: Allow leaking fbdev smem_start 2018-10-03 21:08:21 +02:00
drm_file.c drm: Begin an API for in-kernel clients 2018-07-10 14:51:37 +02:00
drm_flip_work.c
drm_fourcc.c drm: move quirk_addfb_prefer_xbgr_30bpp handling to drm_driver_legacy_fb_format too 2018-09-25 14:49:50 +02:00
drm_framebuffer.c drm: move quirk_addfb_prefer_xbgr_30bpp handling to drm_driver_legacy_fb_format too 2018-09-25 14:49:50 +02:00
drm_gem_cma_helper.c drm: Replace NULL with error value in drm_prime_pages_to_sg 2018-07-23 11:47:35 +03:00
drm_gem_framebuffer_helper.c drm: use drm_driver_legacy_fb_format in drm_gem_fbdev_fb_create 2018-09-25 14:49:49 +02:00
drm_gem.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_global.c drm: add SPDX identifier and clarify license 2018-06-29 15:28:47 -05:00
drm_hashtab.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
drm_info.c
drm_internal.h drm: Drop drmP.h from drm_connector.c 2018-09-09 14:19:17 +02:00
drm_ioc32.c
drm_ioctl.c drm: Return -EOPNOTSUPP in drm_setclientcap() when driver do not support KMS 2018-09-21 11:19:40 +02:00
drm_irq.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_kms_helper_common.c
drm_lease.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_legacy.h
drm_lock.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_memory.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
drm_mipi_dsi.c drm: Add support for pps and compression mode command packet 2018-07-25 07:51:05 -04:00
drm_mm.c drm/mm: Add a search-by-address variant to only inspect a single hole 2018-05-24 15:04:30 +01:00
drm_mode_config.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_mode_object.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_modes.c drm: drop _mode_ from remaining connector functions 2018-07-13 18:40:27 +02:00
drm_modeset_helper.c
drm_modeset_lock.c drm: Change deadlock-avoidance algorithm for the modeset locks. 2018-07-03 09:46:05 +02:00
drm_of.c drm/doc: Include drm_of.c helpers 2018-07-13 18:40:28 +02:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003) 2018-10-17 14:17:38 +02:00
drm_panel.c This is the 4.19-rc6 release 2018-10-04 11:03:34 +10:00
drm_pci.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_plane_helper.c drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00
drm_plane.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_prime.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_print.c drm: Add puts callback for the coredump printer 2018-07-30 08:49:41 -04:00
drm_probe_helper.c drm: drop _mode_ from remaining connector functions 2018-07-13 18:40:27 +02:00
drm_property.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_rect.c
drm_scatter.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_scdc_helper.c
drm_simple_kms_helper.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
drm_syncobj.c This is the 4.19-rc6 release 2018-10-04 11:03:34 +10:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_vm.c gpu: drm: drm_vm: Adding new typedef vm_fault_t 2018-05-29 08:58:46 +02:00
drm_vma_manager.c drm: Remove "protection" around drm_vma_offset_manager_destroy() 2018-09-04 19:00:32 +01:00
drm_writeback.c drm: writeback: Fix doc that says connector should be disconnected 2018-07-16 16:35:27 +01:00
Kconfig drm/fb_helper: Allow leaking fbdev smem_start 2018-10-03 21:08:21 +02:00
Makefile drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00