[PATCH 03/27] gpu: nova-core: set MCTP transport header version to 1
From: John Hubbard
Date: Tue Aug 18 2026 - 23:52:47 EST
FSP requires MCTP transport header version 1. Nova-core leaves version
bits 3:0 at zero, so every CoT and PRC request carries an invalid
transport header.
Define the version and destination endpoint ID fields. Set the version
to 1 for single-packet requests, and leave the unused destination
endpoint ID at zero.
Assisted-by: Cursor:claude-opus-5
Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
---
drivers/gpu/nova-core/mctp.rs | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/nova-core/mctp.rs b/drivers/gpu/nova-core/mctp.rs
index 90c642c91a72..03546213da28 100644
--- a/drivers/gpu/nova-core/mctp.rs
+++ b/drivers/gpu/nova-core/mctp.rs
@@ -42,13 +42,23 @@ pub(crate) struct MctpHeader(u32) {
29:28 seq;
/// Source endpoint ID.
23:16 seid;
+ /// Destination endpoint ID.
+ 15:8 deid;
+ /// MCTP header version.
+ 3:0 version;
}
}
impl MctpHeader {
- /// Builds a single-packet MCTP header (`SOM=1`, `EOM=1`, `SEQ=0`, `SEID=0`).
+ /// MCTP specification version 1.0.
+ const VERSION: u32 = 1;
+
+ /// Builds a single-packet MCTP header (`SOM=1`, `EOM=1`, `SEQ=0`, `SEID=0`, `VERSION=1`).
pub(crate) fn single_packet() -> Self {
- Self::zeroed().with_som(true).with_eom(true)
+ Self::zeroed()
+ .with_const_version::<{ Self::VERSION }>()
+ .with_som(true)
+ .with_eom(true)
}
/// Returns whether this is a complete single-packet message (`SOM=1` and `EOM=1`).
--
2.55.0