diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 9430df6269c5..0fffc6a2eb3f 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -997,10 +997,11 @@ static void msm_dirconn_uncfg_reg(struct irq_data *d, u32 offset) raw_spin_lock_irqsave(&pctrl->lock, flags); g = &pctrl->soc->groups[d->hwirq]; - writel_relaxed(val, pctrl->regs + g->dir_conn_reg + (offset * 4)); - val = readl_relaxed(pctrl->regs + g->intr_cfg_reg); + writel_relaxed(val, pctrl->regs[g->tile] + g->dir_conn_reg + + (offset * 4)); + val = msm_readl_intr_cfg(pctrl, g); val &= ~BIT(g->dir_conn_en_bit); - writel_relaxed(val, pctrl->regs + g->intr_cfg_reg); + msm_writel_intr_cfg(val, pctrl, g); raw_spin_unlock_irqrestore(&pctrl->lock, flags); }