Re: [PATCH 03/27] gpu: nova-core: set MCTP transport header version to 1

Zhi Wang <[email protected]>
Newsgroups dev.linux.lists.nova-gpu,org.kernel.vger.linux-kernel
Message-ID <20260820123819.20bc6289@inno-dell>
On Tue, 18 Aug 2026 20:51:56 -0700
John Hubbard <[email protected]> wrote:

One nit: might be better to update the doc as well.

Reviewed-by: Zhi Wang <[email protected]>

diff --git a/Documentation/gpu/nova/core/fsp.rst
b/Documentation/gpu/nova/core/fsp.rst index 52d618d22bb8..60c647181da0
100644 --- a/Documentation/gpu/nova/core/fsp.rst
+++ b/Documentation/gpu/nova/core/fsp.rst
@@ -106,6 +106,8 @@ All FSP messages share a common header format
consisting of two 32-bit words:
 - Bit 30: EOM (End of Message)
 - Bits 29:28: Packet sequence number
 - Bits 23:16: Source Endpoint ID
+- Bits 15:8: Destination Endpoint ID
+- Bits 3:0: MCTP header version (1)
 
 **NVDM header** (NVIDIA Vendor Defined Message):
 


> 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 <[email protected]>
> ---
>  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`).
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.