Lines Matching refs:ipd

367 static void rk3x_i2c_handle_start(struct rk3x_i2c *i2c, unsigned int ipd)  in rk3x_i2c_handle_start()  argument
369 if (!(ipd & REG_INT_START)) { in rk3x_i2c_handle_start()
371 dev_warn(i2c->dev, "unexpected irq in START: 0x%x\n", ipd); in rk3x_i2c_handle_start()
395 static void rk3x_i2c_handle_write(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_write() argument
397 if (!(ipd & REG_INT_MBTF)) { in rk3x_i2c_handle_write()
399 dev_err(i2c->dev, "unexpected irq in WRITE: 0x%x\n", ipd); in rk3x_i2c_handle_write()
414 static void rk3x_i2c_handle_read(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_read() argument
422 if (!(ipd & REG_INT_MBRF)) in rk3x_i2c_handle_read()
448 static void rk3x_i2c_handle_stop(struct rk3x_i2c *i2c, unsigned int ipd) in rk3x_i2c_handle_stop() argument
452 if (!(ipd & REG_INT_STOP)) { in rk3x_i2c_handle_stop()
454 dev_err(i2c->dev, "unexpected irq in STOP: 0x%x\n", ipd); in rk3x_i2c_handle_stop()
477 unsigned int ipd; in rk3x_i2c_irq() local
481 ipd = i2c_readl(i2c, REG_IPD); in rk3x_i2c_irq()
483 dev_warn(i2c->dev, "irq in STATE_IDLE, ipd = 0x%x\n", ipd); in rk3x_i2c_irq()
488 dev_dbg(i2c->dev, "IRQ: state %d, ipd: %x\n", i2c->state, ipd); in rk3x_i2c_irq()
491 ipd &= ~(REG_INT_BRF | REG_INT_BTF); in rk3x_i2c_irq()
493 if (ipd & REG_INT_NAKRCV) { in rk3x_i2c_irq()
501 ipd &= ~REG_INT_NAKRCV; in rk3x_i2c_irq()
508 if ((ipd & REG_INT_ALL) == 0) in rk3x_i2c_irq()
513 rk3x_i2c_handle_start(i2c, ipd); in rk3x_i2c_irq()
516 rk3x_i2c_handle_write(i2c, ipd); in rk3x_i2c_irq()
519 rk3x_i2c_handle_read(i2c, ipd); in rk3x_i2c_irq()
522 rk3x_i2c_handle_stop(i2c, ipd); in rk3x_i2c_irq()