]> 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)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Mon, 21 Feb 2022 09:37:19 +0000 (09:37 +0000)
commit2b803eed71153af9b5ec66da97b9b73b1ac5a9f8
treefa2b2beb441c85d0bd53d7c28edd86aae9f3a780
parent65eb42800794bf16334661b1c4dfc3d802d7ad50
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
(cherry picked from commit ed0ccf349ffd9c80e7376d4d8c608643de990e86)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/display/intel_tc.c