[PATCH v4 1/6] i2c: npcm: correct the read/write operation procedure

Andi Shyti andi.shyti at kernel.org
Thu Sep 26 06:19:06 AEST 2024


Hi Tyrone,

On Fri, Sep 20, 2024 at 06:18:15PM GMT, warp5tw at gmail.com wrote:
> From: Tyrone Ting <kfting at nuvoton.com>
> 
> From: Tyrone Ting <kfting at nuvoton.com>

no worries, I can take care of this.

> Originally the driver uses the XMIT bit in SMBnST register to decide
> the upcoming i2c transaction. If XMIT bit is 1, then it will be an i2c
> write operation. If it's 0, then a read operation will be executed.
> 
> In slave mode the XMIT bit can simply be used directly to set the state.
> XMIT bit can be used as an indication to the current state of the state
> machine during slave operation. (meaning XMIT = 1 during writing and
> XMIT = 0 during reading).
> 
> In master operation XMIT is valid only if there are no bus errors.
> For example: in a multi master where the same module is switching from
> master to slave at runtime, and there are collisions, the XMIT bit
> cannot be trusted.
> 
> However the maser already "knows" what the bus state is, so this bit
> is not needed and the driver can just track what it is currently doing.
> 
> Signed-off-by: Tyrone Ting <kfting at nuvoton.com>
> Reviewed-by: Tali Perry <tali.perry1 at gmail.com>

This patch is independent from the rest of the series, can I
start takin this in and unburden you from this?

Andi


More information about the openbmc mailing list