drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
In dw_hdmi_probe(), casting the bitwise complement of (HDMI_PHY_HPD |
HDMI_PHY_RX_SENSE) directly to u8 triggers a compiler warning
(-Wconstant-conversion).
Due to C integer promotion rules, the bitwise OR and bitwise NOT are
evaluated as 32-bit signed integers, producing 0xFFFFFF0D before being
cast down to u8.
Fix this by explicitly masking the inverted 32-bit result with 0xFF
to keep only the lower byte and prevent implicit upper-bit truncation.
Signed-off-by: Sean Chang <seanwascoding@gmail.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 34c5f583e910..937d61c42b58 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -3353,7 +3353,7 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
hdmi->channels = 2;
hdmi->disabled = true;
hdmi->rxsense = true;
- hdmi->phy_mask = (u8)~(HDMI_PHY_HPD | HDMI_PHY_RX_SENSE);
+ hdmi->phy_mask = ~(HDMI_PHY_HPD | HDMI_PHY_RX_SENSE) & 0xff;
hdmi->mc_clkdis = 0x7f;
hdmi->last_connector_result = connector_status_disconnected;
--
2.43.0
On Wed, 19 Aug 2026 23:12:16 +0800, Sean Chang wrote:
> In dw_hdmi_probe(), casting the bitwise complement of (HDMI_PHY_HPD |
> HDMI_PHY_RX_SENSE) directly to u8 triggers a compiler warning
> (-Wconstant-conversion).
>
> Due to C integer promotion rules, the bitwise OR and bitwise NOT are
> evaluated as 32-bit signed integers, producing 0xFFFFFF0D before being
> cast down to u8.
>
> [...]
Applied, thanks!
[1/1] drm: bridge: dw_hdmi: Fix constant truncation warning on phy_mask
commit: cb6a133bc75bc4c5b25f7c278b6c74bf46a3d71b
Best regards,
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Wed Aug 19, 2026 at 5:12 PM CEST, Sean Chang wrote: > In dw_hdmi_probe(), casting the bitwise complement of (HDMI_PHY_HPD | > HDMI_PHY_RX_SENSE) directly to u8 triggers a compiler warning > (-Wconstant-conversion). > > Due to C integer promotion rules, the bitwise OR and bitwise NOT are > evaluated as 32-bit signed integers, producing 0xFFFFFF0D before being > cast down to u8. > > Fix this by explicitly masking the inverted 32-bit result with 0xFF > to keep only the lower byte and prevent implicit upper-bit truncation. > > Signed-off-by: Sean Chang <seanwascoding@gmail.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
© 2016 - 2026 Red Hat, Inc.