linux/drivers/gpu/drm
Maxime Ripard cc5f1cbbc1
drm/vc4: hdmi: Remove the DDC probing for status detection
Commit 9d44abbbb8 ("drm/vc4: Fall back to using an EDID probe in the
absence of a GPIO.") added some code to read the EDID through DDC in the
HDMI driver detect hook since the Pi3 had no HPD GPIO back then.
However, commit b1b8f45b31 ("ARM: dts: bcm2837: Add missing GPIOs of
Expander") changed that a couple of years later.

This causes an issue though since some TV (like the LG 55C8) when it
comes out of standy will deassert the HPD line, but the EDID will
remain readable.

It causes an issues nn platforms without an HPD GPIO, like the Pi4,
where the DDC probing will be our primary mean to detect a display, and
thus we will never detect the HPD pulse. This was fine before since the
pulse was small enough that we would never detect it, and we also didn't
have anything (like the scrambler) that needed to be set up in the
display.

However, now that we have both, the display during the HPD pulse will
clear its scrambler status, and since we won't detect the
disconnect/reconnect cycle we will never enable the scrambler back.

As our main reason for that DDC probing is gone, let's just remove it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20211025152903.1088803-2-maxime@cerno.tech
2021-11-04 10:35:32 +01:00
..
amd amdgpu: use drm_kms_helper_connector_hotplug_event 2021-11-02 14:27:12 +01:00
arm drm/arm: malidp: Use fourcc_mod_is_vendor() helper 2021-08-16 12:18:46 +02:00
armada drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
aspeed drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
ast drm/ast: Use managed interfaces for framebuffer write combining 2021-09-23 09:26:09 +02:00
atmel-hlcdc drm/atmel-hlcdc: Convert to Linux IRQ interfaces 2021-08-10 20:00:58 +02:00
bridge drm/bridge: sn65dsi86: ti_sn65dsi86_read_u16() __maybe_unused 2021-10-28 19:11:17 +02:00
etnaviv drm/etnaviv: stop getting the excl fence separately here 2021-11-03 08:34:05 +01:00
exynos drm/exynos: Always initialize mapping in exynos_drm_register_dma() 2021-08-22 01:56:39 +09:00
fsl-dcu drm/fsl-dcu: Convert to Linux IRQ interfaces 2021-08-10 20:13:25 +02:00
gma500 drm/gma500: Remove generic DRM drivers in probe function 2021-10-21 09:32:51 +02:00
gud drm/gud: Add GUD_PIXEL_FORMAT_RGB888 2021-10-04 12:06:14 +02:00
hisilicon drm/kirin: dsi: Adjust probe order 2021-10-27 22:07:58 +02:00
hyperv drm/hyperv: Use offset-adjusted shadow-plane mappings 2021-08-08 20:27:27 +02:00
i2c
i810 drm: IRQ midlayer is now legacy 2021-08-10 20:14:01 +02:00
i915 i915/display/dp: send a more fine-grained link-status uevent 2021-11-02 14:27:16 +01:00
imx drm for v5.15-rc1 2021-09-01 11:26:46 -07:00
ingenic drm/ingenic: Remove bogus register write 2021-10-30 21:02:36 +01:00
kmb drm/kmb: Enable support for framebuffer console 2021-10-27 14:33:49 -07:00
lib
lima drm/lima: use scheduler dependency tracking 2021-08-30 10:58:20 +02:00
mcde drm/mcde: Make use of the helper function devm_platform_ioremap_resource() 2021-09-07 22:50:17 +02:00
mediatek drm for v5.15-rc1 2021-09-01 11:26:46 -07:00
meson Merge drm/drm-next into drm-misc-next 2021-09-14 09:25:30 +02:00
mga drm: IRQ midlayer is now legacy 2021-08-10 20:14:01 +02:00
mgag200 drm/mgag200: Use managed interfaces for framebuffer write combining 2021-09-23 09:26:09 +02:00
msm drm/msm/dsi: Adjust probe order 2021-10-27 22:08:10 +02:00
mxsfb drm: mxsfb: Set fallback bus format when the bridge doesn't provide one 2021-10-12 11:18:17 +02:00
nouveau drm/nouveau: use the new interator in nv50_wndw_prepare_fb 2021-10-29 10:17:06 +02:00
omapdrm drm/omap: Depend on CONFIG_OF 2021-10-07 05:42:16 +03:00
panel drm/panel: novatek-nt35950: remove unneeded semicolon 2021-10-25 18:43:39 +02:00
panfrost drm/panfrost: simplify getting .driver_data 2021-09-20 14:34:37 +01:00
pl111 drm/pl111: Remove unused including <linux/version.h> 2021-07-31 20:52:01 +02:00
qxl drm/qxl: User page size macro for qxl release bo 2021-09-15 08:21:32 +02:00
r128 drm/r128: switch from 'pci_' to 'dma_' API 2021-08-23 14:29:02 -04:00
radeon drm/radeon: use dma_resv_wait_timeout() instead of manually waiting 2021-11-04 10:25:06 +01:00
rcar-du drm: rcar-du: Add r8a779a0 device support 2021-10-07 05:59:54 +03:00
rockchip Merge drm/drm-next into drm-misc-next 2021-10-25 15:27:56 +02:00
savage
scheduler drm/sched: Avoid lockdep spalt on killing a processes 2021-11-01 11:08:21 -04:00
selftests drm: Fix oops in damage self-tests by mocking damage property 2021-08-02 11:15:11 +02:00
shmobile drm/shmobile: Make use of the helper function devm_platform_ioremap_resource() 2021-10-07 05:42:18 +03:00
sis
sti drm/sti: Use correct printk format specifiers for size_t 2021-10-07 05:42:17 +03:00
stm drm/stm: ltdc: add layer alpha support 2021-09-09 14:58:27 +02:00
sun4i drm/sun4i: virtual CMA addresses are not needed 2021-10-21 09:52:21 +02:00
tdfx
tegra Revert "drm/tegra: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:56 -04:00
tidss drm/tidss: Convert to Linux IRQ interfaces 2021-08-10 20:13:49 +02:00
tilcdc drm/tilcdc: Convert to Linux IRQ interfaces 2021-08-10 20:13:53 +02:00
tiny drm/tiny: ili9163: fix build 2021-10-15 20:37:42 +02:00
ttm Merge drm/drm-next into drm-misc-next 2021-10-25 15:27:56 +02:00
tve200 drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
udl drm/shmem-helper: Switch to vmf_insert_pfn 2021-08-12 21:41:10 +02:00
v3d drm/v3d: nullify pointer se with a NULL 2021-10-17 21:40:27 +01:00
vboxvideo drm/vboxvideo: Use managed interfaces for framebuffer write combining 2021-09-23 09:26:09 +02:00
vc4 drm/vc4: hdmi: Remove the DDC probing for status detection 2021-11-04 10:35:32 +01:00
vgem drm/vgem: use shmem helpers 2021-08-12 21:41:10 +02:00
via drm: IRQ midlayer is now legacy 2021-08-10 20:14:01 +02:00
virtio drm/virtio: fix another potential integer overflow on shift of a int 2021-10-29 08:26:23 +02:00
vkms drm/vkms: Use offset-adjusted shadow-plane mappings and output 2021-08-08 20:27:52 +02:00
vmwgfx Revert "drm/vmwgfx: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:56 -04:00
xen drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
xlnx drm/xlnx/zynqmp_disp: Fix incorrectly named enum 'zynqmp_disp_layer_id' 2021-08-09 02:28:05 +03:00
drm_agpsupport.c
drm_aperture.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_atomic_helper.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm/connector: Add support for privacy-screen properties (v4) 2021-10-14 13:12:20 +02:00
drm_atomic.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_auth.c drm: add lockdep assert to drm_is_current_master_locked 2021-08-05 12:08:15 +02:00
drm_blend.c
drm_bridge_connector.c
drm_bridge.c drm/bridge: Document the probe issue with MIPI-DSI bridges 2021-09-24 19:25:23 +02:00
drm_bufs.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_cache.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_client_modeset.c Revert "drm: cleanup: drm_modeset_lock_all_ctx() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:57 -04:00
drm_client.c
drm_color_mgmt.c
drm_connector.c drm/connector: use drm_sysfs_connector_hotplug_event 2021-11-02 14:27:11 +01:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c Revert "drm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:57 -04:00
drm_crtc_internal.h drm/connector: Add drm_connector_find_by_fwnode() function (v3) 2021-08-20 12:35:59 +02:00
drm_crtc.c
drm_damage_helper.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_debugfs_crc.c
drm_debugfs.c drm: avoid blocking in drm_clients_info's rcu section 2021-07-20 20:14:42 +02:00
drm_displayid.c
drm_dma.c
drm_dp_aux_bus.c Bus: Make remove callback return void tag 2021-08-11 08:47:08 +10:00
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c Merge drm/drm-next into drm-misc-next 2021-10-25 15:27:56 +02:00
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c drm/dp_mst: Fix return code on sideband message failure 2021-07-27 18:58:28 -04:00
drm_drv.c drm: fix null-ptr-deref in drm_dev_init_release() 2021-10-14 21:39:02 +02:00
drm_dsc.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c Cross-subsystem Changes: 2021-10-11 16:53:57 +10:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c Revert "drm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:57 -04:00
drm_file.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add drm_fb_xrgb8888_to_rgb888() 2021-10-04 12:04:19 +02:00
drm_fourcc.c drm/fourcc: Add R8 to drm_format_info 2021-10-04 12:03:09 +02:00
drm_framebuffer.c Revert "drm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()" 2021-10-04 09:34:57 -04:00
drm_gem_atomic_helper.c drm: use new iterator in drm_gem_plane_helper_prepare_fb v3 2021-10-25 09:33:22 +02:00
drm_gem_cma_helper.c drm: import DMA_BUF module namespace 2021-10-29 20:53:28 +02:00
drm_gem_framebuffer_helper.c drm/gem: Provide offset-adjusted framebuffer BO mappings 2021-08-08 20:26:16 +02:00
drm_gem_shmem_helper.c drm: import DMA_BUF module namespace 2021-10-29 20:53:28 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/ttm: remove ttm_tt_destroy_common v2 2021-08-23 13:54:55 +02:00
drm_gem.c drm: use new iterator in drm_gem_fence_array_add_implicit v3 2021-10-07 14:49:11 +02:00
drm_hashtab.c
drm_hdcp.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_internal.h
drm_ioc32.c drm: Copy drm_wait_vblank to user before returning 2021-08-17 13:56:03 -04:00
drm_ioctl.c GPU: drm: fix style errors 2021-08-28 19:00:20 +02:00
drm_irq.c drm: Build drm_irq.o only if CONFIG_DRM_LEGACY has been set 2021-10-22 16:20:12 +02:00
drm_kms_helper_common.c drm: Remove unused code to load the non-existing fbcon.ko 2021-08-18 14:33:47 +02:00
drm_lease.c drm/lease: allow empty leases 2021-10-01 15:55:47 +02:00
drm_legacy_misc.c drm: IRQ midlayer is now legacy 2021-08-10 20:14:01 +02:00
drm_legacy.h
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c drm/mipi-dbi: Use framebuffer dma-buf helpers 2021-07-23 20:17:59 +02:00
drm_mipi_dsi.c drm/mipi-dsi: Create devm device attachment 2021-09-24 19:25:33 +02:00
drm_mm.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_mode_config.c
drm_mode_object.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_modes.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_modeset_helper.c
drm_modeset_lock.c Merge drm/drm-next into drm-misc-next 2021-10-25 15:27:56 +02:00
drm_of.c drm: of: Add drm_of_lvds_get_data_mapping 2021-10-14 20:47:30 +02:00
drm_panel_orientation_quirks.c drm/panel-orientation-quirks: add Valve Steam Deck 2021-09-12 15:10:12 +02:00
drm_panel.c drm/dp: Move panel DP AUX backlight support to drm_dp_helper 2021-07-13 06:38:37 -07:00
drm_pci.c
drm_plane_helper.c drm/plane-helper: fix uninitialized variable reference 2021-10-07 12:24:44 +02:00
drm_plane.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_prime.c RDMA v5.15 merge window Pull Request 2021-09-02 14:47:21 -07:00
drm_print.c isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
drm_privacy_screen_x86.c drm/privacy-screen: Add X86 specific arch init code 2021-10-14 13:12:24 +02:00
drm_privacy_screen.c drm/privacy-screen: Add notifier support (v2) 2021-10-14 13:12:25 +02:00
drm_probe_helper.c drm/probe-helper: use drm_kms_helper_connector_hotplug_event 2021-11-02 14:27:14 +01:00
drm_property.c drm: property: Replace strncpy() with strscpy_pad() 2021-10-07 05:42:13 +03:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/simple-kms: Support custom CRTC state 2021-08-08 20:14:08 +02:00
drm_syncobj.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_sysfs.c drm/sysfs: introduce drm_sysfs_connector_hotplug_event 2021-11-02 14:27:06 +01:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c
drm_vblank.c drm: IRQ midlayer is now legacy 2021-08-10 20:14:01 +02:00
drm_vm.c
drm_vma_manager.c drm: Fix typo in comments 2021-08-02 10:19:43 +02:00
drm_writeback.c
Kconfig drm: Move GEM memory managers into modules 2021-10-22 16:20:23 +02:00
Makefile drm: Link CMA framebuffer helpers into KMS helper library 2021-10-27 20:21:44 +02:00