Lines Matching refs:ipd
480 static void rk3x_i2c_handle_write(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_write() argument
482 if (!(ipd & REG_INT_MBTF)) { in rk3x_i2c_handle_write()
484 dev_warn_ratelimited(i2c->dev, "unexpected irq in WRITE: 0x%x\n", ipd); in rk3x_i2c_handle_write()
521 static void rk3x_i2c_handle_read(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_read() argument
524 if (!(ipd & REG_INT_MBRF)) in rk3x_i2c_handle_read()
541 static void rk3x_i2c_handle_stop(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_stop() argument
545 if (!(ipd & REG_INT_STOP)) { in rk3x_i2c_handle_stop()
547 dev_warn_ratelimited(i2c->dev, "unexpected irq in STOP: 0x%x\n", ipd); in rk3x_i2c_handle_stop()
582 unsigned int ipd; in rk3x_i2c_irq() local
586 ipd = i2c_readl(i2c, REG_IPD); in rk3x_i2c_irq()
590 ipd); in rk3x_i2c_irq()
595 dev_dbg(i2c->dev, "IRQ: state %d, ipd: %x\n", i2c->state, ipd); in rk3x_i2c_irq()
598 ipd &= ~(REG_INT_BRF | REG_INT_BTF); in rk3x_i2c_irq()
600 if (ipd & REG_INT_NAKRCV) { in rk3x_i2c_irq()
608 ipd &= ~REG_INT_NAKRCV; in rk3x_i2c_irq()
622 if ((ipd & REG_INT_ALL) == 0) in rk3x_i2c_irq()
627 rk3x_i2c_handle_write(i2c, ipd); in rk3x_i2c_irq()
630 rk3x_i2c_handle_read(i2c, ipd); in rk3x_i2c_irq()
633 rk3x_i2c_handle_stop(i2c, ipd); in rk3x_i2c_irq()