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>
 #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"
        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:
+       survivability->mode = false;
+       return ret;
 }
 
 /**