Commit c912a25a authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Wolfram Sang

i2c: i801: remove SMBNTFDDAT reads as they always seem to return 0

On the platform tested, reading SMBNTFDDAT always returns 0 (using 1 read
of a word or 2 of 2 bytes). Given that we are not sure why and that we
don't need to rely on the data parameter in the current users of Host
Notify, remove this part of the code.

If someone wants to re-enable it, just revert this commit and data should
be available.
Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent f91fba62
...@@ -118,7 +118,6 @@ ...@@ -118,7 +118,6 @@
#define SMBSLVSTS(p) (16 + (p)->smba) /* ICH3 and later */ #define SMBSLVSTS(p) (16 + (p)->smba) /* ICH3 and later */
#define SMBSLVCMD(p) (17 + (p)->smba) /* ICH3 and later */ #define SMBSLVCMD(p) (17 + (p)->smba) /* ICH3 and later */
#define SMBNTFDADD(p) (20 + (p)->smba) /* ICH3 and later */ #define SMBNTFDADD(p) (20 + (p)->smba) /* ICH3 and later */
#define SMBNTFDDAT(p) (22 + (p)->smba) /* ICH3 and later */
/* PCI Address Constants */ /* PCI Address Constants */
#define SMBBAR 4 #define SMBBAR 4
...@@ -581,12 +580,15 @@ static void i801_isr_byte_done(struct i801_priv *priv) ...@@ -581,12 +580,15 @@ static void i801_isr_byte_done(struct i801_priv *priv)
static irqreturn_t i801_host_notify_isr(struct i801_priv *priv) static irqreturn_t i801_host_notify_isr(struct i801_priv *priv)
{ {
unsigned short addr; unsigned short addr;
unsigned int data;
addr = inb_p(SMBNTFDADD(priv)) >> 1; addr = inb_p(SMBNTFDADD(priv)) >> 1;
data = inw_p(SMBNTFDDAT(priv));
i2c_handle_smbus_host_notify(priv->host_notify, addr, data); /*
* With the tested platforms, reading SMBNTFDDAT (22 + (p)->smba)
* always returns 0 and is safe to read.
* We just use 0 given we have no use of the data right now.
*/
i2c_handle_smbus_host_notify(priv->host_notify, addr, 0);
/* clear Host Notify bit and return */ /* clear Host Notify bit and return */
outb_p(SMBSLVSTS_HST_NTFY_STS, SMBSLVSTS(priv)); outb_p(SMBSLVSTS_HST_NTFY_STS, SMBSLVSTS(priv));
......
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