#include "cdns-mhdp8546-hdcp.h"
 #include "cdns-mhdp8546-j721e.h"
 
+static void cdns_mhdp_bridge_hpd_enable(struct drm_bridge *bridge)
+{
+       struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
+
+       /* Enable SW event interrupts */
+       if (mhdp->bridge_attached)
+               writel(readl(mhdp->regs + CDNS_APB_INT_MASK) &
+                      ~CDNS_APB_INT_MASK_SW_EVENT_INT,
+                      mhdp->regs + CDNS_APB_INT_MASK);
+}
+
+static void cdns_mhdp_bridge_hpd_disable(struct drm_bridge *bridge)
+{
+       struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
+
+       writel(readl(mhdp->regs + CDNS_APB_INT_MASK) |
+              CDNS_APB_INT_MASK_SW_EVENT_INT,
+              mhdp->regs + CDNS_APB_INT_MASK);
+}
+
 static int cdns_mhdp_mailbox_read(struct cdns_mhdp_device *mhdp)
 {
        int ret, empty;
         * MHDP_HW_STOPPED happens only due to driver removal when
         * bridge should already be detached.
         */
-       if (mhdp->bridge_attached)
-               writel(~(u32)CDNS_APB_INT_MASK_SW_EVENT_INT,
-                      mhdp->regs + CDNS_APB_INT_MASK);
+       cdns_mhdp_bridge_hpd_enable(&mhdp->bridge);
 
        spin_unlock(&mhdp->start_lock);
 
 
        /* Enable SW event interrupts */
        if (hw_ready)
-               writel(~(u32)CDNS_APB_INT_MASK_SW_EVENT_INT,
-                      mhdp->regs + CDNS_APB_INT_MASK);
+               cdns_mhdp_bridge_hpd_enable(bridge);
 
        return 0;
 aux_unregister:
        return cdns_mhdp_get_edid(mhdp, connector);
 }
 
-static void cdns_mhdp_bridge_hpd_enable(struct drm_bridge *bridge)
-{
-       struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
-
-       /* Enable SW event interrupts */
-       if (mhdp->bridge_attached)
-               writel(~(u32)CDNS_APB_INT_MASK_SW_EVENT_INT,
-                      mhdp->regs + CDNS_APB_INT_MASK);
-}
-
-static void cdns_mhdp_bridge_hpd_disable(struct drm_bridge *bridge)
-{
-       struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
-
-       writel(CDNS_APB_INT_MASK_SW_EVENT_INT, mhdp->regs + CDNS_APB_INT_MASK);
-}
-
 static const struct drm_bridge_funcs cdns_mhdp_bridge_funcs = {
        .atomic_enable = cdns_mhdp_atomic_enable,
        .atomic_disable = cdns_mhdp_atomic_disable,