diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0080-i2c-aspeed-filter-garbage-interrupts-out.patch')
-rw-r--r-- | meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0080-i2c-aspeed-filter-garbage-interrupts-out.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0080-i2c-aspeed-filter-garbage-interrupts-out.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0080-i2c-aspeed-filter-garbage-interrupts-out.patch deleted file mode 100644 index d8e911a54..000000000 --- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0080-i2c-aspeed-filter-garbage-interrupts-out.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 063957ca24903e7cbebcaa11bde4cc1cc3cbb6a1 Mon Sep 17 00:00:00 2001 -From: Jae Hyun Yoo <jae.hyun.yoo@intel.com> -Date: Fri, 8 Nov 2019 15:57:27 -0800 -Subject: [PATCH] i2c: aspeed: filter garbage interrupts out - -AST2600 makes a garbage interrupt which is decribed as 'reserved' -in datasheet so filter them out. - -Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com> ---- - drivers/i2c/busses/i2c-aspeed.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c -index 24850fb78ee1..d5a8da4a9009 100644 ---- a/drivers/i2c/busses/i2c-aspeed.c -+++ b/drivers/i2c/busses/i2c-aspeed.c -@@ -87,7 +87,11 @@ - * These share bit definitions, so use the same values for the enable & - * status bits. - */ -+#if defined(CONFIG_MACH_ASPEED_G6) -+#define ASPEED_I2CD_INTR_SLAVE_ADDR_RECEIVED_PENDING BIT(29) -+#else - #define ASPEED_I2CD_INTR_SLAVE_ADDR_RECEIVED_PENDING BIT(30) -+#endif - #define ASPEED_I2CD_INTR_SLAVE_INACTIVE_TIMEOUT BIT(15) - #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14) - #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13) -@@ -118,6 +122,11 @@ - ASPEED_I2CD_INTR_RX_DONE | \ - ASPEED_I2CD_INTR_TX_NAK | \ - ASPEED_I2CD_INTR_TX_ACK) -+#define ASPEED_I2CD_INTR_STATUS_MASK \ -+ (ASPEED_I2CD_INTR_SLAVE_ADDR_RECEIVED_PENDING | \ -+ ASPEED_I2CD_INTR_GCALL_ADDR | \ -+ ASPEED_I2CD_INTR_SLAVE_MATCH | \ -+ ASPEED_I2CD_INTR_ALL) - - /* 0x14 : I2CD Command/Status Register */ - #define ASPEED_I2CD_SCL_LINE_STS BIT(18) -@@ -1065,6 +1074,11 @@ static irqreturn_t aspeed_i2c_bus_irq(int irq, void *dev_id) - writel(irq_received & ~ASPEED_I2CD_INTR_RX_DONE, - bus->base + ASPEED_I2C_INTR_STS_REG); - readl(bus->base + ASPEED_I2C_INTR_STS_REG); -+ /* -+ * AST2600 makes a garbage interrupt which is decribed as 'reserved' -+ * in datasheet so filter them out. -+ */ -+ irq_received &= ASPEED_I2CD_INTR_STATUS_MASK; - irq_remaining = irq_received; - - #if IS_ENABLED(CONFIG_I2C_SLAVE) --- -2.7.4 - |