[PATCH] drm/xe/xe_i2c: Add support for i2c in survivability mode

Heikki Krogerus heikki.krogerus at linux.intel.com
Fri Jun 6 11:02:04 UTC 2025


On Tue, Jun 03, 2025 at 10:39:58PM +0530, Riana Tauro wrote:
> Initialize i2c in survivability mode to allow firmware
> update of Add-In Management Controller (AMC) in survivability mode
> 
> Signed-off-by: Riana Tauro <riana.tauro at intel.com>
> ---
> 
> This depends on I2C series by Heikki on [1].
> [1] https://lore.kernel.org/intel-xe/20250530141744.3605983-1-heikki.krogerus@linux.intel.com/

Thanks Riana. I'll include this to my series in v2. This is now
avilable in my internal amc branch:

https://github.com/intel-sandbox/hkrogeru-linux/commit/83ead82b0adf307b28cc794e9567c3e622ab7daf

cheers,

>
>  drivers/gpu/drm/xe/xe_survivability_mode.c | 23 ++++++++++++++--------
>  1 file changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
> index 1f710b3fc599..3800cc855c22 100644
> --- a/drivers/gpu/drm/xe/xe_survivability_mode.c
> +++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
> @@ -14,6 +14,7 @@
>  #include "xe_device.h"
>  #include "xe_gt.h"
>  #include "xe_heci_gsc.h"
> +#include "xe_i2c.h"
>  #include "xe_mmio.h"
>  #include "xe_pcode_api.h"
>  #include "xe_vsec.h"
> @@ -173,20 +174,26 @@ static int enable_survivability_mode(struct pci_dev *pdev)
>  	survivability->mode = true;
>  
>  	ret = xe_heci_gsc_init(xe);
> -	if (ret) {
> -		/*
> -		 * But if it fails, device can't enter survivability
> -		 * so move it back for correct error handling
> -		 */
> -		survivability->mode = false;
> -		return ret;
> -	}
> +	if (ret)
> +		goto err;
>  
>  	xe_vsec_init(xe);
>  
> +	ret = xe_i2c_probe(xe);
> +	if (ret)
> +		goto err;
> +
>  	dev_err(dev, "In Survivability Mode\n");
>  
>  	return 0;
> +
> +err:
> +	/*
> +	 * But if it fails, device can't enter survivability
> +	 * so move it back for correct error handling
> +	 */
> +	survivability->mode = false;
> +	return ret;
>  }
>  
>  /**
> -- 
> 2.47.1

-- 
heikki


More information about the Intel-xe mailing list