summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch55
1 files changed, 0 insertions, 55 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
deleted file mode 100644
index 003a96c8d..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 4a05d2506e7cb7fb3ad323a16861f09279b4da39 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Tue, 11 Jun 2019 14:59:53 -0700
-Subject: [PATCH] i2c: aspeed: fix master pending state handling
-
-In case of a master pending state, it should not trigger the master
-command because this H/W is sharing the same byte buffer for slave
-and master operation, so this commit fixes the issue with making
-the master command triggering happens when the state goes to active
-state.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- drivers/i2c/busses/i2c-aspeed.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index 8f26060bd685..d8143c24d3a7 100644
---- a/drivers/i2c/busses/i2c-aspeed.c
-+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -383,18 +383,19 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
- struct i2c_msg *msg = &bus->msgs[bus->msgs_index];
- u8 slave_addr = i2c_8bit_addr_from_msg(msg);
-
-- bus->master_state = ASPEED_I2C_MASTER_START;
--
- #if IS_ENABLED(CONFIG_I2C_SLAVE)
- /*
- * If it's requested in the middle of a slave session, set the master
- * state to 'pending' then H/W will continue handling this master
- * command when the bus comes back to the idle state.
- */
-- if (bus->slave_state != ASPEED_I2C_SLAVE_INACTIVE)
-+ if (bus->slave_state != ASPEED_I2C_SLAVE_INACTIVE) {
- bus->master_state = ASPEED_I2C_MASTER_PENDING;
-+ return;
-+ }
- #endif /* CONFIG_I2C_SLAVE */
-
-+ bus->master_state = ASPEED_I2C_MASTER_START;
- bus->buf_index = 0;
-
- if (msg->flags & I2C_M_RD) {
-@@ -479,7 +480,7 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
- if (bus->slave_state != ASPEED_I2C_SLAVE_INACTIVE)
- goto out_no_complete;
-
-- bus->master_state = ASPEED_I2C_MASTER_START;
-+ aspeed_i2c_do_start(bus);
- }
- #endif /* CONFIG_I2C_SLAVE */
-
---
-2.7.4
-