Skip to content

Commit f5c5d29

Browse files
rtauro1895rodrigovivi
authored andcommitted
drm/xe/xe_i2c: Add support for i2c in survivability mode
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@intel.com> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Raag Jadav <raag.jadav@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://lore.kernel.org/r/20250701122252.2590230-6-heikki.krogerus@linux.intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
1 parent 0ea07b6 commit f5c5d29

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

drivers/gpu/drm/xe/xe_survivability_mode.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "xe_device.h"
1515
#include "xe_gt.h"
1616
#include "xe_heci_gsc.h"
17+
#include "xe_i2c.h"
1718
#include "xe_mmio.h"
1819
#include "xe_pcode_api.h"
1920
#include "xe_vsec.h"
@@ -173,20 +174,22 @@ static int enable_survivability_mode(struct pci_dev *pdev)
173174
survivability->mode = true;
174175

175176
ret = xe_heci_gsc_init(xe);
176-
if (ret) {
177-
/*
178-
* But if it fails, device can't enter survivability
179-
* so move it back for correct error handling
180-
*/
181-
survivability->mode = false;
182-
return ret;
183-
}
177+
if (ret)
178+
goto err;
184179

185180
xe_vsec_init(xe);
186181

182+
ret = xe_i2c_probe(xe);
183+
if (ret)
184+
goto err;
185+
187186
dev_err(dev, "In Survivability Mode\n");
188187

189188
return 0;
189+
190+
err:
191+
survivability->mode = false;
192+
return ret;
190193
}
191194

192195
/**

0 commit comments

Comments
 (0)