Lines Matching refs:msgs

363 static int mtk_i2c_do_transfer(struct mtk_i2c *i2c, struct i2c_msg *msgs,  in mtk_i2c_do_transfer()  argument
397 addr_reg = msgs->addr << 1; in mtk_i2c_do_transfer()
414 writew(msgs->len | ((msgs + 1)->len) << 8, in mtk_i2c_do_transfer()
418 writew(msgs->len, i2c->base + OFFSET_TRANSFER_LEN); in mtk_i2c_do_transfer()
426 rpaddr = dma_map_single(i2c->dev, msgs->buf, in mtk_i2c_do_transfer()
427 msgs->len, DMA_FROM_DEVICE); in mtk_i2c_do_transfer()
431 writel(msgs->len, i2c->pdmabase + OFFSET_RX_LEN); in mtk_i2c_do_transfer()
435 wpaddr = dma_map_single(i2c->dev, msgs->buf, in mtk_i2c_do_transfer()
436 msgs->len, DMA_TO_DEVICE); in mtk_i2c_do_transfer()
440 writel(msgs->len, i2c->pdmabase + OFFSET_TX_LEN); in mtk_i2c_do_transfer()
444 wpaddr = dma_map_single(i2c->dev, msgs->buf, in mtk_i2c_do_transfer()
445 msgs->len, DMA_TO_DEVICE); in mtk_i2c_do_transfer()
448 rpaddr = dma_map_single(i2c->dev, (msgs + 1)->buf, in mtk_i2c_do_transfer()
449 (msgs + 1)->len, in mtk_i2c_do_transfer()
453 msgs->len, DMA_TO_DEVICE); in mtk_i2c_do_transfer()
458 writel(msgs->len, i2c->pdmabase + OFFSET_TX_LEN); in mtk_i2c_do_transfer()
459 writel((msgs + 1)->len, i2c->pdmabase + OFFSET_RX_LEN); in mtk_i2c_do_transfer()
482 msgs->len, DMA_TO_DEVICE); in mtk_i2c_do_transfer()
485 msgs->len, DMA_FROM_DEVICE); in mtk_i2c_do_transfer()
487 dma_unmap_single(i2c->dev, wpaddr, msgs->len, in mtk_i2c_do_transfer()
489 dma_unmap_single(i2c->dev, rpaddr, (msgs + 1)->len, in mtk_i2c_do_transfer()
494 dev_dbg(i2c->dev, "addr: %x, transfer timeout\n", msgs->addr); in mtk_i2c_do_transfer()
502 dev_dbg(i2c->dev, "addr: %x, transfer ACK error\n", msgs->addr); in mtk_i2c_do_transfer()
511 struct i2c_msg msgs[], int num) in mtk_i2c_transfer() argument
522 if (!msgs->buf) { in mtk_i2c_transfer()
528 if (msgs->flags & I2C_M_RD) in mtk_i2c_transfer()
542 ret = mtk_i2c_do_transfer(i2c, msgs, num, left_num); in mtk_i2c_transfer()
546 msgs++; in mtk_i2c_transfer()