[PATCH v2 0/3] drm/xe/i2c: alerts and controller enabling modifications

From: Heikki Krogerus

Date: Thu Jun 25 2026 - 08:59:49 EST


Hi,

Changed since v1:
- Global header for the DesignWare I2C registers which meant a bit of
patch refactoring.
- Selecting CONFIG_SMBUS in CONFIG_XE and handling smbus in xe_i2c.c instead of
separate file.
- Storing the alert device to the client array and providing enum for the
clients.
- Allowing other fields in the IC_ENABLE register to be updated except the
Enable bit.
- Can't sleep in xe_i2c_disable() so using udelay().

v1: https://lore.kernel.org/lkml/20260622114759.3464047-1-heikki.krogerus@xxxxxxxxxxxxxxx/

This includes support for the SMBus alerts, and special handling for the
IC_ENABLE register.

Thanks,

Heikki Krogerus (3):
i2c: designware: Global register definitions
drm/xe/i2c: Handler for SMBus Alerts
drm/xe/mcu_i2c: Take over control of the controller enabling

MAINTAINERS | 1 +
drivers/gpu/drm/xe/Kconfig | 1 +
drivers/gpu/drm/xe/regs/xe_i2c_regs.h | 2 +
drivers/gpu/drm/xe/xe_i2c.c | 108 +++++++++++++++++++--
drivers/gpu/drm/xe/xe_i2c.h | 6 ++
drivers/i2c/busses/i2c-designware-common.c | 1 +
drivers/i2c/busses/i2c-designware-core.h | 84 +---------------
drivers/i2c/busses/i2c-designware-master.c | 1 +
include/linux/designware_i2c.h | 107 ++++++++++++++++++++
9 files changed, 222 insertions(+), 89 deletions(-)
create mode 100644 include/linux/designware_i2c.h

--
2.50.1