Lines Matching refs:ipd
373 static void rk3x_i2c_handle_start(struct rk3x_i2c *i2c, unsigned int ipd)
375 if (!(ipd & REG_INT_START)) {
377 dev_warn(i2c->dev, "unexpected irq in START: 0x%x\n", ipd);
401 static void rk3x_i2c_handle_write(struct rk3x_i2c *i2c, unsigned int ipd)
403 if (!(ipd & REG_INT_MBTF)) {
405 dev_err(i2c->dev, "unexpected irq in WRITE: 0x%x\n", ipd);
420 static void rk3x_i2c_handle_read(struct rk3x_i2c *i2c, unsigned int ipd)
428 if (!(ipd & REG_INT_MBRF))
454 static void rk3x_i2c_handle_stop(struct rk3x_i2c *i2c, unsigned int ipd)
458 if (!(ipd & REG_INT_STOP)) {
460 dev_err(i2c->dev, "unexpected irq in STOP: 0x%x\n", ipd);
483 unsigned int ipd;
487 ipd = i2c_readl(i2c, REG_IPD);
489 dev_warn(i2c->dev, "irq in STATE_IDLE, ipd = 0x%x\n", ipd);
494 dev_dbg(i2c->dev, "IRQ: state %d, ipd: %x\n", i2c->state, ipd);
497 ipd &= ~(REG_INT_BRF | REG_INT_BTF);
499 if (ipd & REG_INT_NAKRCV) {
507 ipd &= ~REG_INT_NAKRCV;
514 if ((ipd & REG_INT_ALL) == 0)
519 rk3x_i2c_handle_start(i2c, ipd);
522 rk3x_i2c_handle_write(i2c, ipd);
525 rk3x_i2c_handle_read(i2c, ipd);
528 rk3x_i2c_handle_stop(i2c, ipd);
1109 dev_err(i2c->dev, "timeout, ipd: 0x%02x, state: %d\n",