On 2/6/26 10:43 AM, Timur Tabi wrote:
On Thu, 2026-02-05 at 20:21 -0800, John Hubbard wrote:
+        // Reset and boot GSP before SEC2
+        gsp_falcon.reset(bar)?;
+        let libos_handle = libos.dma_handle();
+        let (mbox0, mbox1) = gsp_falcon.boot(
+            bar,
+            Some(libos_handle as u32),
+            Some((libos_handle >> 32) as u32),
+        )?;
+        dev_dbg!(dev, "GSP MBOX0: {:#x}, MBOX1: {:#x}\n", mbox0, mbox1);
+        dev_dbg!(
+            dev,
+            "Using SEC2 to load and run the booter_load firmware...\n"
+        );
+

Looks like you accidentally deleted the "if mbox0 != 0" test.


OK, I've added it back in for the next version:

diff --git a/drivers/gpu/nova-core/gsp/boot.rs 
b/drivers/gpu/nova-core/gsp/boot.rs
index 02eec2961b5f..d19dc4592579 100644
--- a/drivers/gpu/nova-core/gsp/boot.rs
+++ b/drivers/gpu/nova-core/gsp/boot.rs
@@ -190,6 +190,12 @@ fn boot_via_sec2(
             Some((libos_handle >> 32) as u32),
         )?;
         dev_dbg!(dev, "GSP MBOX0: {:#x}, MBOX1: {:#x}\n", mbox0, mbox1);
+
+        if mbox0 != 0 {
+            dev_err!(dev, "GSP boot failed with error {:#x}\n", mbox0);
+            return Err(ENODEV);
+        }
+
         dev_dbg!(
             dev,
             "Using SEC2 to load and run the booter_load firmware...\n"


thanks,
--
John Hubbard

Reply via email to