mirror-linux/drivers/gpu/drm/bridge
Jayesh Choudhary 55e8ff8420 drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type
By default, HPD was disabled on SN65DSI86 bridge. When the driver was
added (commit "a095f15c00e27"), the HPD_DISABLE bit was set in pre-enable
call which was moved to other function calls subsequently.
Later on, commit "c312b0df3b13" added detect utility for DP mode. But with
HPD_DISABLE bit set, all the HPD events are disabled[0] and the debounced
state always return 1 (always connected state).

Set HPD_DISABLE bit conditionally based on display sink's connector type.
Since the HPD_STATE is reflected correctly only after waiting for debounce
time (~100-400ms) and adding this delay in detect() is not feasible
owing to the performace impact (glitches and frame drop), remove runtime
calls in detect() and add hpd_enable()/disable() bridge hooks with runtime
calls, to detect hpd properly without any delay.

[0]: <https://www.ti.com/lit/gpn/SN65DSI86> (Pg. 32)

Fixes: c312b0df3b ("drm/bridge: ti-sn65dsi86: Implement bridge connector operations for DP")
Cc: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20250624044835.165708-1-j-choudhary@ti.com
2025-06-25 07:49:01 -07:00
..
adv7511 drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
analogix drm/bridge: analogix_dp: Fix clk-disable removal 2025-05-28 16:53:31 +03:00
cadence drm/bridge: cdns-mhdp8546: Switch to common helpers to power up/down dp link 2025-04-02 17:41:27 +03:00
imx drm/bridge: imx8*-ldb: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:26 +02:00
synopsys drm/bridge: dw-hdmi: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:21 +02:00
Kconfig drm/bridge: select DRM_KMS_HELPER for AUX_BRIDGE 2025-04-17 01:47:21 +03:00
Makefile drm/i2c: move TDA998x driver under drivers/gpu/drm/bridge 2025-02-13 00:19:41 +02:00
aux-bridge.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
aux-hpd-bridge.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
chipone-icn6211.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
chrontel-ch7033.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
cros-ec-anx7688.c
display-connector.c drm/bridge: display-connector: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:20 +02:00
fsl-ldb.c drm/bridge: fsl-ldb: make warning message more informative 2025-03-24 10:24:41 +08:00
ite-it6263.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ite-it6505.c drm/bridge: it6505: Switch to common helpers to power up/down dp link 2025-04-02 17:41:27 +03:00
ite-it66121.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
lontium-lt8912b.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
lontium-lt9211.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
lontium-lt9611.c drm/bridge: split HDMI Audio from DRM_BRIDGE_OP_HDMI 2025-04-07 15:48:23 +03:00
lontium-lt9611uxc.c drm/bridge: lt9611uxc: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:21 +02:00
lvds-codec.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
megachips-stdpxxxx-ge-b850v3-fw.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
microchip-lvds.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
nwl-dsi.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
nwl-dsi.h
nxp-ptn3460.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
panel.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
parade-ps8622.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
parade-ps8640.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
samsung-dsim.c drm/bridge: samsung-dsim: use dynamic lifetime management 2025-04-07 11:38:06 +02:00
sii902x.c drm/bridge: sii902x: Set bridge type 2025-03-30 21:09:59 +03:00
sii9234.c drm: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-12-13 09:27:46 -08:00
sil-sii8620.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
sil-sii8620.h
simple-bridge.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
tc358762.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
tc358764.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
tc358767.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
tc358768.c drm/bridge: tc358768: Convert to atomic helpers 2025-03-20 14:45:52 +01:00
tc358775.c drm/bridge: tc358775: Switch to atomic commit 2025-03-20 14:45:51 +01:00
tda998x_drv.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
thc63lvd1024.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ti-dlpc3433.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ti-sn65dsi83.c drm/bridge: ti-sn65dsi83: use dynamic lifetime management 2025-04-07 11:38:05 +02:00
ti-sn65dsi86.c drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type 2025-06-25 07:49:01 -07:00
ti-tdp158.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ti-tfp410.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ti-tpd12s015.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00