[PATCH v2 06/10] drm/bridge: analogix_dp: Simplify analogix_dp_config_interrupt()
Damon Ding <[email protected]> Tue, 4 Aug 2026 16:17:13 +0800
| Newsgroups | org.infradead.lists.linux-rockchip,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Remove local COMMON_INT_MASK and INT_STA_MASK macros. These constants are only used once inside this function and bring no reuse benefit. Replace open-coded register writes for COMMON_INT_MASK_1~3 with direct writel(0) calls. Leverage analogix_dp_unmute_hpd_interrupt() using the full HPD_IRQ mask to initialize HPD interrupt state, removing duplicated register handling. Signed-off-by: Damon Ding <[email protected]> --- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index 816be79a8da6..42463e18f392 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -18,12 +18,6 @@ #include "analogix_dp_core.h" #include "analogix_dp_reg.h" -#define COMMON_INT_MASK_1 0 -#define COMMON_INT_MASK_2 0 -#define COMMON_INT_MASK_3 0 -#define COMMON_INT_MASK_4 (HOTPLUG_CHG | HPD_LOST | PLUG) -#define INT_STA_MASK INT_HPD - #define HPD_IRQ (DP_IRQ_TYPE_HP_CABLE_IN | DP_IRQ_TYPE_HP_CABLE_OUT | \ DP_IRQ_TYPE_HP_CHANGE | DP_IRQ_TYPE_IRQ_HPD) #define COMMON_INT_4_HPD_IRQ (DP_IRQ_TYPE_HP_CABLE_IN | DP_IRQ_TYPE_HP_CABLE_OUT | \ @@ -178,23 +172,12 @@ void analogix_dp_swreset(struct analogix_dp_device *dp) void analogix_dp_config_interrupt(struct analogix_dp_device *dp) { - u32 reg; - /* 0: mask, 1: unmask */ - reg = COMMON_INT_MASK_1; - writel(reg, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_1); - - reg = COMMON_INT_MASK_2; - writel(reg, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_2); - - reg = COMMON_INT_MASK_3; - writel(reg, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_3); - - reg = COMMON_INT_MASK_4; - writel(reg, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_4); + writel(0, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_1); + writel(0, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_2); + writel(0, dp->reg_base + ANALOGIX_DP_COMMON_INT_MASK_3); - reg = INT_STA_MASK; - writel(reg, dp->reg_base + ANALOGIX_DP_INT_STA_MASK); + analogix_dp_unmute_hpd_interrupt(dp, HPD_IRQ); } void analogix_dp_mute_hpd_interrupt(struct analogix_dp_device *dp, u32 irq_type) -- 2.34.1 _______________________________________________ Linux-rockchip mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-rockchip