Re: [PATCH v10 5/7] i2c: fsi: Add transfer implementation

From: Eddie James
Date: Thu Jul 05 2018 - 14:53:37 EST




On 07/02/2018 01:24 PM, Wolfram Sang wrote:
+ if (msg->flags & I2C_M_RD)
+ cmd |= I2C_CMD_READ;
Since you support MANGLING, I'd think you can easily support
I2C_M_REV_DIR_ADDR here, too?
Hm, I don't really understand the purpose of that flag. From the docs:

This toggles the Rd/Wr flag. That is, if you want to do a write, but
ÂÂÂ need to emit an Rd instead of a Wr, or vice versa, you set this
ÂÂÂ flag. For example:
S Addr Rd [A] Data [A] Data [A] ... [A] Data [A] P

I don't think our hardware supports this type of operation.
I'd think something like this should do:

if (msg->flags & I2C_M_REV_DIR_ADDR)
cmd ^= I2C_CMD_READ;

I meant that the hardware cannot interpret this, it would be a meaningless command unfortunately.