[Intel-gfx] drm/i915: Disconnect PHYs left connected by BIOS on disabled ports
philipp at gortan.org
Sat Feb 19 21:56:46 UTC 2022
On 2/17/22 16:22, Imre Deak wrote:
> 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 64851a32c463e5 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: 64851a32c463 ("drm/i915/tc: Add a mode for the TypeC PHY's disconnected state")
> Cc: <stable at vger.kernel.org> # v5.16+
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
Issue seen on my Lenovo ThinkPad L14 Gen 2 with Intel TigerLake-LP GT2
(Iris Xe) using Arch Linux, after upgrading the kernel from 5.15.3 and
5.16.0. Bisected my way to isolate commit 64851a32 as the first bad
commit. Applying Imre's patch onto drm-tip reliably fixes the issue for me.
Reported-and-tested-by: Philipp Gortan <philipp at gortan.org>
More information about the Intel-gfx