]> 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)
commitdf1abaf8a709e665342657e5618e55cf62442384
tree8248bb47e5bcaf95ac9b99d62766806adb6a2523
parent303552f45e86348f7b74815d49c598e86b6a13a8
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 f6f2ce20fd117d 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: f6f2ce20fd11 ("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