Commit 517fde0e authored by Jae Hyun Yoo's avatar Jae Hyun Yoo Committed by Wolfram Sang

i2c: aspeed: Fix initial values of master and slave state

This patch changes the order of enum aspeed_i2c_master_state and
enum aspeed_i2c_slave_state defines to make their initial value to
ASPEED_I2C_MASTER_INACTIVE and ASPEED_I2C_SLAVE_STOP respectively.
In case of multi-master use, if a slave data comes ahead of the
first master xfer, master_state starts from an invalid state so
this change fixes the issue.
Signed-off-by: default avatarJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 6bc33c51
...@@ -111,22 +111,22 @@ ...@@ -111,22 +111,22 @@
#define ASPEED_I2CD_DEV_ADDR_MASK GENMASK(6, 0) #define ASPEED_I2CD_DEV_ADDR_MASK GENMASK(6, 0)
enum aspeed_i2c_master_state { enum aspeed_i2c_master_state {
ASPEED_I2C_MASTER_INACTIVE,
ASPEED_I2C_MASTER_START, ASPEED_I2C_MASTER_START,
ASPEED_I2C_MASTER_TX_FIRST, ASPEED_I2C_MASTER_TX_FIRST,
ASPEED_I2C_MASTER_TX, ASPEED_I2C_MASTER_TX,
ASPEED_I2C_MASTER_RX_FIRST, ASPEED_I2C_MASTER_RX_FIRST,
ASPEED_I2C_MASTER_RX, ASPEED_I2C_MASTER_RX,
ASPEED_I2C_MASTER_STOP, ASPEED_I2C_MASTER_STOP,
ASPEED_I2C_MASTER_INACTIVE,
}; };
enum aspeed_i2c_slave_state { enum aspeed_i2c_slave_state {
ASPEED_I2C_SLAVE_STOP,
ASPEED_I2C_SLAVE_START, ASPEED_I2C_SLAVE_START,
ASPEED_I2C_SLAVE_READ_REQUESTED, ASPEED_I2C_SLAVE_READ_REQUESTED,
ASPEED_I2C_SLAVE_READ_PROCESSED, ASPEED_I2C_SLAVE_READ_PROCESSED,
ASPEED_I2C_SLAVE_WRITE_REQUESTED, ASPEED_I2C_SLAVE_WRITE_REQUESTED,
ASPEED_I2C_SLAVE_WRITE_RECEIVED, ASPEED_I2C_SLAVE_WRITE_RECEIVED,
ASPEED_I2C_SLAVE_STOP,
}; };
struct aspeed_i2c_bus { struct aspeed_i2c_bus {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment