* Re: [PATCH v1 3/3] ARM: dts: imx: bx50v3: ignore HDMI rxsense
2026-09-02 13:01 ` [PATCH v1 3/3] ARM: dts: imx: bx50v3: ignore HDMI rxsense Ian Ray
@ 2026-09-02 13:18 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-09-02 13:18 UTC (permalink / raw)
To: Ian Ray; +Cc: conor+dt, devicetree, robh, Frank.Li, imx
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The `ignore-rxsense` property masks the `RX_SENSE` bit too late in the interrupt handler, causing the PHY to remain powered on and failing to invalidate the CEC physical address on cable unplug.
--
commit c6070e883038c9a4fefc26add73992b31945db06
Author: Ian Ray <ian.ray@gehealthcare.com>
ARM: dts: imx: bx50v3: ignore HDMI rxsense
HDMI is converted to DP in the B450, B650, and B850 boards; as such the
rxsense must be ignored for hotplug detect to work.
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> index 2c8d2ab8cda13..8e129b1bdbbfc 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> @@ -174,6 +174,11 @@ m25_eeprom: eeprom@0 {
> };
> };
>
> +&hdmi {
> + /* converted to DP using STDP2600 */
> + ignore-rxsense;
> +};
[Severity: High]
Does adding this property expose a logic error in dw_hdmi_irq()?
Looking at drivers/gpu/drm/bridge/synopsys/dw-hdmi.c, the masking for
ignore_rxsense is applied after the critical state machine functions have
already evaluated the raw phy_stat:
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c:dw_hdmi_irq() {
...
dw_hdmi_setup_rx_sense(hdmi,
phy_stat & HDMI_PHY_HPD,
phy_stat & HDMI_PHY_RX_SENSE);
if ((phy_stat & (HDMI_PHY_RX_SENSE | HDMI_PHY_HPD)) == 0) {
mutex_lock(&hdmi->cec_notifier_mutex);
...
if (hdmi->ignore_rxsense)
phy_stat &= ~HDMI_PHY_RX_SENSE;
...
}
Because RX_SENSE is permanently asserted on boards with this property,
phy_stat & HDMI_PHY_RX_SENSE evaluates to true during an unplug event.
Since dw_hdmi_setup_rx_sense() is called before the mask is applied, it will
receive rx_sense = true, which skips clearing hdmi->rxsense and leaves the
PHY powered on indefinitely.
Additionally, the CEC invalidation condition evaluates to false, failing to
invalidate the CEC physical address when the cable is unplugged.
Should the masking of HDMI_PHY_RX_SENSE occur earlier in the interrupt
handler, before evaluating phy_stat for these state machine operations?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902130117.2731-1-ian.ray@gehealthcare.com?part=3
^ permalink raw reply [flat|nested] 2+ messages in thread