Re: [REF] Query regarding process call/repeated start in i2c driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 1. From I2C_AQ_COMB quirk it looks like if there are two messages in
> single i2c_transfer api to i2c-core, it has to be repeated-start.
> Is my understanding correct?

Yes.

> 2. On calling smbus api for word read (non process call), it calls i2c
> transfer api with two messages (emulation on i2c case). Now if 1 is
> true we end up in repeated start case.

Yes, this is exactly how it is described in the SMBus Specification.

> But this may not be expected by the i2c client.

Quite the contrary, you usually run into more problems if you replace
repeated start with STOP/START. For example, you could get interrupted
by another master on the bus. But some clients also reset their state
machine after STOP. What device are you talking about? Which device
cannot handle repeated start? That would be interesting to know.

> Basically how to know from the i2c host/core driver, if the client
> wants to use Repeated start or not?

The client driver knows what the client wants.

> Why don't we have a way where i2c client driver can call the i2c core
> api with flag to indicate whether to use repeated-start or not?
> (similar to protocolparameter in smbus api - can be set as
> I2C_SMBUS_PROC_CALL for process call)

Because your client is not SMBus compatible, and you need work on I2C
level then where you can describe your own transfers the way you want.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux