return -EINVAL;
                }
 
-               ret = regmap_update_bits(map, reg_irqclr, val_irqclr, val_irqclr);
+               ret = regmap_write_bits(map, reg_irqclr, val_irqclr, val_irqclr);
                if (ret) {
                        dev_err(soc_runtime->dev, "error writing to irqclear reg: %d\n", ret);
                        return ret;
        return -EINVAL;
        }
        if (interrupts & LPAIF_IRQ_PER(chan)) {
-               rv = regmap_update_bits(map, reg, mask, (LPAIF_IRQ_PER(chan) | val));
+               rv = regmap_write_bits(map, reg, mask, (LPAIF_IRQ_PER(chan) | val));
                if (rv) {
                        dev_err(soc_runtime->dev,
                                "error writing to irqclear reg: %d\n", rv);
        }
 
        if (interrupts & LPAIF_IRQ_XRUN(chan)) {
-               rv = regmap_update_bits(map, reg, mask, (LPAIF_IRQ_XRUN(chan) | val));
+               rv = regmap_write_bits(map, reg, mask, (LPAIF_IRQ_XRUN(chan) | val));
                if (rv) {
                        dev_err(soc_runtime->dev,
                                "error writing to irqclear reg: %d\n", rv);
        }
 
        if (interrupts & LPAIF_IRQ_ERR(chan)) {
-               rv = regmap_update_bits(map, reg, mask, (LPAIF_IRQ_ERR(chan) | val));
+               rv = regmap_write_bits(map, reg, mask, (LPAIF_IRQ_ERR(chan) | val));
                if (rv) {
                        dev_err(soc_runtime->dev,
                                "error writing to irqclear reg: %d\n", rv);