[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250710071612.2714990-6-raag.jadav@intel.com>
Date: Thu, 10 Jul 2025 12:46:12 +0530
From: Raag Jadav <raag.jadav@...el.com>
To: lucas.demarchi@...el.com,
thomas.hellstrom@...ux.intel.com,
rodrigo.vivi@...el.com
Cc: jarkko.nikula@...ux.intel.com,
airlied@...il.com,
simona@...ll.ch,
andriy.shevchenko@...ux.intel.com,
mika.westerberg@...ux.intel.com,
jsd@...ihalf.com,
andi.shyti@...nel.org,
raag.jadav@...el.com,
riana.tauro@...el.com,
srinivasa.adatrao@...el.com,
michael.j.ruhl@...el.com,
intel-xe@...ts.freedesktop.org,
linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Andi Shyti <andi.shyti@...ux.intel.com>
Subject: [PATCH v7 5/5] drm/xe/xe_i2c: Add support for i2c in survivability mode
From: Riana Tauro <riana.tauro@...el.com>
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@...el.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
Reviewed-by: Raag Jadav <raag.jadav@...el.com>
Reviewed-by: Andi Shyti <andi.shyti@...ux.intel.com>
---
drivers/gpu/drm/xe/xe_survivability_mode.c | 19 +++++++++++--------
1 file changed, 11 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..41705f5d52e3 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,22 @@ 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:
+ survivability->mode = false;
+ return ret;
}
/**
--
2.34.1
Powered by blists - more mailing lists