linux-stable/drivers/gpu/drm
Ville Syrjälä eb9fcf6385 drm/i915/bios: Use i915->vbt.ports[] on CHV
CHV is currently straddling the divide by using parse_ddi_ports() stuff
for aux_ch/ddc_pin but going through all old codepaths for the rest
(intel_bios_is_port_present(), intel_bios_is_port_edp(),
intel_bios_is_port_dp_dual_mode()). Let's switch over full and use
i915->vbt.ports[] for the rest of the stuff.

dvo_port_to_port() doesn't know about DSI so we won't get into
any kind of "is port B HDMI or DSI or both?" conundrum, which
could otherwise happen on VLV/CHV due to DSI ports living in a
separate world from the other digital ports.

Including Jani's detailed analysis here for posterity:
"We stop checking for port A for CHV in intel_bios_is_port_present(), but
 it's a warn and I don't recall any bug reports, so probably fine. We
 could add a check in parse_ddi_port(), but meh.

 Ditto for intel_bios_is_port_dp_dual_mode(), except it doesn't have a
 warn.

 The eDP check in intel_bios_is_port_edp() becomes slightly more
 relaxed. Both the old and new check require these to be set:

 - DEVICE_TYPE_DISPLAYPORT_OUTPUT
 - DEVICE_TYPE_INTERNAL_CONNECTOR.

 The old code also required these to be unset:

 - DEVICE_TYPE_MIPI_OUTPUT
 - DEVICE_TYPE_COMPOSITE_OUTPUT
 - DEVICE_TYPE_DUAL_CHANNEL
 - DEVICE_TYPE_LVDS_SIGNALING
 - DEVICE_TYPE_TMDS_DVI_SIGNALING
 - DEVICE_TYPE_VIDEO_SIGNALING
 - DEVICE_TYPE_ANALOG_OUTPUT

 It's possible we've added these just as a sanity check for broken VBTs
 more than anything. I guess I'd see if actual problems arise.

 Bottom line, I think the functional changes matter only for VBTs with
 bogus data."

I agree that it should work assuming the VBT isn't totally insane.
Modern windows drivers also don't seem to check any of those
additional device type bits, which may or may not matter for older
devices (no idea what some old driver versions are checking).

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
2022-01-19 22:32:20 +02:00
..
amd drm-misc-next for 5.17: 2021-12-09 09:31:45 +01:00
arm
armada Char/Misc driver update for 5.16-rc1 2021-11-04 08:21:47 -07:00
aspeed
ast drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
atmel-hlcdc
bridge drm/bridge: megachips: Ensure both bridges are probed before registration 2021-11-25 12:51:47 +01:00
etnaviv Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
exynos
fsl-dcu
gma500
gud drm/format-helper: Rework format-helper conversion functions 2021-11-11 12:06:57 +01:00
hisilicon
hyperv Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
i2c
i810
i915 drm/i915/bios: Use i915->vbt.ports[] on CHV 2022-01-19 22:32:20 +02:00
imx Revert "drm/imx: Annotate dma-fence critical section in commit path" 2021-11-05 19:08:44 +01:00
ingenic
kmb Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
lib
lima drm/shmem-helper: Pass GEM shmem object in public interfaces 2021-11-15 11:46:13 +01:00
mcde
mediatek ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
meson drm/meson: encoder_cvbs: switch to bridge with ATTACH_NO_CONNECTOR 2021-11-12 10:10:01 +01:00
mga
mgag200 drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
msm Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
mxsfb drm-misc-next for 5.16: 2021-11-05 13:50:15 +10:00
nouveau drm-misc-next for 5.17: 2021-12-09 09:31:45 +01:00
omapdrm Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
panel Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
panfrost drm/shmem-helper: Pass GEM shmem object in public interfaces 2021-11-15 11:46:13 +01:00
pl111
qxl drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
r128
radeon drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
rcar-du
rockchip Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
savage
scheduler drm-misc-next for 5.17: 2021-11-23 09:38:55 +10:00
selftests
shmobile
sis
sti
stm
sun4i drm-misc-next for 5.17: 2021-11-23 09:38:55 +10:00
tdfx
tegra Char/Misc driver update for 5.16-rc1 2021-11-04 08:21:47 -07:00
tidss drm/tidss: Make use of the helper macro SET_RUNTIME_PM_OPS() 2021-11-10 13:51:26 +02:00
tilcdc
tiny drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
ttm drm: ttm: correct ttm_range_manager kernel-doc notation 2021-11-22 21:33:12 +01:00
tve200
udl drm/udl: fix control-message timeout 2021-11-05 11:15:14 +01:00
v3d drm/shmem-helper: Pass GEM shmem object in public interfaces 2021-11-15 11:46:13 +01:00
vboxvideo drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
vc4 Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
vgem
via
virtio drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
vkms
vmwgfx drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
xen drm/xen: Implement mmap as GEM object function 2021-11-11 12:06:57 +01:00
xlnx
drm_agpsupport.c
drm_aperture.c
drm_atomic.c drm: get rid of DRM_DEBUG_* log calls in drm core, files drm_a*.c 2021-11-26 16:45:22 +01:00
drm_atomic_helper.c drm: get rid of DRM_DEBUG_* log calls in drm core, files drm_a*.c 2021-11-26 16:45:22 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm: get rid of DRM_DEBUG_* log calls in drm core, files drm_a*.c 2021-11-26 16:45:22 +01:00
drm_auth.c drm: get rid of DRM_DEBUG_* log calls in drm core, files drm_a*.c 2021-11-26 16:45:22 +01:00
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_bufs.c
drm_cache.c
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_displayid.c
drm_dma.c
drm_dp_aux_bus.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp, drm/i915: Add support for VESA backlights using PWM for brightness control 2021-11-17 17:36:48 -05:00
drm_dp_mst_topology.c Merge branch 'akpm' (patches from Andrew) 2021-11-09 10:11:53 -08:00
drm_dp_mst_topology_internal.h
drm_drv.c
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
drm_file.c
drm_flip_work.c
drm_format_helper.c drm/format-helper: Streamline blit-helper interface 2021-11-11 12:06:57 +01:00
drm_fourcc.c
drm_framebuffer.c
drm_gem.c
drm_gem_atomic_helper.c
drm_gem_cma_helper.c drm-misc-next for 5.17: 2021-11-23 09:38:55 +10:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_hashtab.c
drm_hdcp.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c drm/format-helper: Rework format-helper conversion functions 2021-11-11 12:06:57 +01:00
drm_mipi_dsi.c
drm_mm.c lib, stackdepot: add helper to print stack entries into buffer 2021-11-09 10:02:50 -08:00
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c Removed the TTM Huge Page functionnality to address a crash, a timeout 2021-11-11 08:14:19 +10:00
drm_nomodeset.c drm: Fix build error caused by missing drm_nomodeset.o 2021-11-27 21:05:58 +01:00
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: Add orientation quirk for GPD Win Max 2021-12-31 12:14:19 +02:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c drm next/fixes for 5.16-rc1 2021-11-12 12:11:07 -08:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig drm: Decouple nomodeset from CONFIG_VGA_CONSOLE 2021-11-27 13:52:28 +01:00
Makefile drm: Decouple nomodeset from CONFIG_VGA_CONSOLE 2021-11-27 13:52:28 +01:00