[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250610100311.2245871-5-heikki.krogerus@linux.intel.com>
Date: Tue, 10 Jun 2025 13:03:10 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Lucas De Marchi <lucas.demarchi@...el.com>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Jarkko Nikula <jarkko.nikula@...ux.intel.com>
Cc: David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Jan Dabros <jsd@...ihalf.com>,
Andi Shyti <andi.shyti@...nel.org>,
Raag Jadav <raag.jadav@...el.com>,
"Tauro, Riana" <riana.tauro@...el.com>,
"Adatrao, Srinivasa" <srinivasa.adatrao@...el.com>,
"Michael J. Ruhl" <michael.j.ruhl@...el.com>,
intel-xe@...ts.freedesktop.org,
linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 4/4] 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>
Reviewed-by: Raag Jadav <raag.jadav@...el.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
---
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.2
Powered by blists - more mailing lists