Quoting Doug Anderson (2018-06-18 15:43:06) > > On Mon, Jun 18, 2018 at 1:52 PM, Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > > + */ > > + if (irqd_get_trigger_type(d) & IRQ_TYPE_LEVEL_MASK) { > > + val &= ~BIT(g->intr_raw_status_bit); > > + writel(val, pctrl->regs + g->intr_cfg_reg); > > Do you know if it's important to do a 2nd write here, or could this be > combined with the next writel()? I haven't tried combining the writes. It felt safer to keep them split up so that both bits don't toggle at the same time, but I don't know if it actually matters. > > > + } > > + > > val &= ~BIT(g->intr_enable_bit); > > writel(val, pctrl->regs + g->intr_cfg_reg); > > > > @@ -647,6 +660,10 @@ static void msm_gpio_irq_unmask(struct irq_data *d) > > raw_spin_lock_irqsave(&pctrl->lock, flags); > > > > val = readl(pctrl->regs + g->intr_cfg_reg); > > + if (irqd_get_trigger_type(d) & IRQ_TYPE_LEVEL_MASK) { > > + val |= BIT(g->intr_raw_status_bit); > > + writel(val, pctrl->regs + g->intr_cfg_reg); > > Same question about whether this could be combined with the next > writel(). ...although I could imagine that the answer might be > different for mask and unmask. We probably need someone from qcom side to determine if these can be combined. I can give it a try and see if anything goes wrong but my confidence level will only be anecdotal. It's worth a shot. > > ...if it can be combined, you can totally get rid of the "if" test and > always "OR" in the bit, right? Yes. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html