i2c: /pasemi: PASemi I2C controller IRQ enablement
authorArminder Singh <arminders208@outlook.com>
Sat, 5 Nov 2022 11:56:49 +0000 (07:56 -0400)
committerWolfram Sang <wsa@kernel.org>
Sat, 12 Nov 2022 20:30:16 +0000 (21:30 +0100)
commite826192cc26bd69746bbf22e6bdf72b87cb3d97b
tree4804e25a3a288f03b4eddb69a05f72e32ee1d574
parent8502bee5584235943c4d371597c740d6779991db
i2c: /pasemi: PASemi I2C controller IRQ enablement

This patch adds IRQ support to the PASemi I2C controller driver to
increase the performace of I2C transactions on platforms with PASemi I2C
controllers. While primarily intended for Apple silicon platforms, this
patch should also help in enabling IRQ support for older PASemi hardware
as well should the need arise.

This version of the patch has been tested on an M1 Ultra Mac Studio,
as well as an M1 MacBook Pro, and userspace launches successfully
while using the IRQ path for I2C transactions.

Signed-off-by: Arminder Singh <arminders208@outlook.com>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Reviewed-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-pasemi-core.c
drivers/i2c/busses/i2c-pasemi-core.h
drivers/i2c/busses/i2c-pasemi-platform.c