]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Disconnect PHYs left connected by BIOS on disabled ports
authorImre Deak <imre.deak@intel.com>
Thu, 17 Feb 2022 15:22:37 +0000 (17:22 +0200)
committerImre Deak <imre.deak@intel.com>
Fri, 18 Feb 2022 10:39:20 +0000 (12:39 +0200)
commit0ef2dbaaa8cfba974dfbf20c1167dd85547d73db
tree8248bb47e5bcaf95ac9b99d62766806adb6a2523
parentd6a8e4c0aad6d04a271dc5c6d747f036e5b6830a
drm/i915: Disconnect PHYs left connected by BIOS on disabled ports

BIOS may leave a TypeC PHY in a connected state even though the
corresponding port is disabled. This will prevent any hotplug events
from being signalled (after the monitor deasserts and then reasserts its
HPD) until the PHY is disconnected and so the driver will not detect a
connected sink. Rebooting with the PHY in the connected state also
results in a system hang.

Fix the above by disconnecting TypeC PHYs on disabled ports.

Before commit dd1adafb2ddf16 the PHY connected state was read out even
for disabled ports and later the PHY got disconnected as a side effect
of a tc_port_lock/unlock() sequence (during connector probing), hence
recovering the port's hotplug functionality.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5014
Fixes: dd1adafb2ddf ("drm/i915/tc: Add a mode for the TypeC PHY's disconnected state")
Cc: <stable@vger.kernel.org> # v5.16+
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220217152237.670220-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_tc.c