Re: [PATCH v8 3/4] i2c: i801: add support of Host Notify
flat view
From: Benjamin Tissoires <hidden>
Date: 2016-06-15 08:12:57
Also in:
linux-i2c, lkml
On Jun 09 2016 or thereabouts, Benjamin Tissoires wrote:
The i801 chip can handle the Host Notify feature since ICH 3 as mentioned in http://www.intel.com/content/dam/doc/datasheet/82801ca-io-controller-hub-3-datasheet.pdf Enable the functionality unconditionally and propagate the alert on each notification. With a T440s and a Synaptics touchpad that implements Host Notify, the payload data is always 0x0000, so I am not sure if the device actually sends the payload or if there is a problem regarding the implementation. Tested-by: Andrew Duggan <redacted> Acked-by: Wolfram Sang <redacted> Signed-off-by: Benjamin Tissoires <redacted> --- changes in v2: - removed the description of the Slave functionality support in the chip table (the table shows what is supported, not what the hardware is capable of) - use i2c-smbus to forward the notification - remove the fifo, and directly retrieve the address and payload in the worker - do not check for Host Notification is the feature is not enabled - use inw_p() to read the payload instead of 2 inb_p() calls - add /* fall-through */ comment - unconditionally enable Host Notify if the hardware supports it (can be disabled by the user) no changes in v3 changes in v4: - make use of the new API -> no more worker spawning here - solved a race between the access of the Host Notify registers and the actual I2C transfers. changes in v5: - added SKL Host Notify support changes in v6: - select I2C_SMBUS in Kconfig to prevent an undefined reference when I2C_I801 is set to 'Y' while I2C_SMBUS is set to 'M' no changes in v7 changes in v8: - reapplied after http://patchwork.ozlabs.org/patch/632768/ and merged the conflict (minor conflict in the struct i801_priv). - removed the .resume hook as upstream changed suspend/resume hooks and there is no need in the end to re-enable host notify on resume (tested on Lenovo t440 and t450).
Actually, this hook seemed to be required on the Lenovo T440 (Haswell) but not on the T450 (Broadwell) laptop I have now here. Wolfram, I can resend the whole series or a follow-up patch to re-enable after resume Host Notify. How do you prefer I deal with that? Cheers, Benjamin