Re: [PATCH v6 2/3] drm/xe/i2c: Fix the interrupt handling

Raag Jadav <[email protected]>
Newsgroups org.freedesktop.lists.intel-xe,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Wed, Jul 22, 2026 at 03:35:53PM +0200, Heikki Krogerus wrote:
> 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.

...

> +	alert_reason = response.value;
> +	dev_dbg(&client->dev, "Alert reason: %d\n", alert_reason);

This came up in one of the internal reports. We have quite a few call
sites for wedging and it can happen due to various reasons from driver
POV. We really need to identify the source from logs when it happens,
so can we atleast have this one as dev_info()?

All the reasons are rare enough to not spam the logs and it shouldn't be
a problem IMO.

I'm okay with doing it as a follow up if the series is already merged.

Raag

> +out_reassert_interrupt:
> +	xe_mmio_rmw32(amc->i2c->mmio, I2C_CONFIG_CMD, PCI_COMMAND_INTX_DISABLE, 0);
> +
> +	switch (alert_reason) {
> +	case AMC_ALERT_FW_DOWNLOAD:
> +	case AMC_ALERT_THERMAL_TRIP:
> +	case AMC_ALERT_OOB_REQUEST:
> +	case AMC_ALERT_OOB_RESET:
> +	case AMC_ALERT_CATERR:
> +		xe_device_declare_wedged(i2c_client_to_xe_device(client));
> +		break;
> +	default:
> +		break;
> +	}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.