drm/xe/i2c: Fix the interrupt handling
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Tue, 11 Aug 2026 12:10:07 +0000 (14:10 +0200)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 27 Aug 2026 16:00:16 +0000 (12:00 -0400)
commitf43fa4b8522ba6038b77e86e5f0d94be35effcde
tree6b77a50935c50cc89d7d8b1ac22401391e6d4b6d
parent874ef9a6f2fc45d3f6021842d92fa5420fa4c825
drm/xe/i2c: Fix the interrupt handling

The platforms that support the interrupt from the I2C
adapter can not handle the amount of interrupts the adapter
generates because of the way the IRQ is routed in the
hardware. The I2C controller driver has to be kept in
polling mode because of that.

The AMC MCU can still generate critical alerts that have to
be handled. The interrupt from SMBus Alert is left enabled
and handled separately in the Xe. The alerts from the AMC
will cause the device to be declared wedged for now.

Fixes: f0e53aadd702 ("drm/xe: Support for I2C attached MCUs")
Cc: stable@vger.kernel.org
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Co-developed-by: Ramesh Babu B <ramesh.babu.b@intel.com>
Signed-off-by: Ramesh Babu B <ramesh.babu.b@intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260811121008.1493015-3-heikki.krogerus@linux.intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit a55b76b8bc2c49b11d753c1c6d06ec3a2c61c85e)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/Makefile
drivers/gpu/drm/xe/regs/xe_i2c_regs.h
drivers/gpu/drm/xe/xe_amc.c [new file with mode: 0644]
drivers/gpu/drm/xe/xe_amc.h [new file with mode: 0644]
drivers/gpu/drm/xe/xe_i2c.c
drivers/gpu/drm/xe/xe_i2c.h