From: Abner Chang <abner.chang@amd.com>
- Return Maximum Transfer Unit for MCTP over KCS
- Check the parameters
Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Abdul Lateef Attar <abdattar@amd.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
---
.../Common/ManageabilityTransportKcs.h | 2 +-
.../Common/KcsCommon.c | 112 ++++++++++--------
.../Dxe/ManageabilityTransportKcs.c | 24 ++--
3 files changed, 78 insertions(+), 60 deletions(-)
diff --git a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/ManageabilityTransportKcs.h b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/ManageabilityTransportKcs.h
index d6685c165e..8c6a64416a 100644
--- a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/ManageabilityTransportKcs.h
+++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/ManageabilityTransportKcs.h
@@ -71,7 +71,7 @@ typedef struct {
EFI_STATUS
EFIAPI
KcsTransportSendCommand (
- IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader,
+ IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader OPTIONAL,
IN UINT16 TransmitHeaderSize,
IN MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer OPTIONAL,
IN UINT16 TransmitTrailerSize,
diff --git a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c
index 14a7047447..a8c6a674c9 100644
--- a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c
+++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c
@@ -99,14 +99,14 @@ ClearOBF (
Algorithm is based on flow chart provided in IPMI spec 2.0
Figure 9-6, KCS Interface BMC to SMS Write Transfer Flow Chart
- @param[in] TransmitHeader KCS packet header.
- @param[in] TransmitHeaderSize KCS packet header size in byte.
- @param[in] TransmitTrailer KCS packet trailer.
- @param[in] TransmitTrailerSize KCS packet trailer size in byte.
- @param[in] RequestData Command Request Data, could be NULL.
- RequestDataSize must be zero, if RequestData
- is NULL.
- @param[in] RequestDataSize Size of Command Request Data.
+ @param[in] TransmitHeader KCS packet header.
+ @param[in] TransmitHeaderSize KCS packet header size in byte.
+ @param[in] TransmitTrailer KCS packet trailer.
+ @param[in] TransmitTrailerSize KCS packet trailer size in byte.
+ @param[in] RequestData Command Request Data, could be NULL.
+ RequestDataSize must be zero, if RequestData
+ is NULL.
+ @param[in] RequestDataSize Size of Command Request Data.
@retval EFI_SUCCESS The command byte stream was successfully
submit to the device and a response was
@@ -414,7 +414,7 @@ KcsTransportRead (
EFI_STATUS
EFIAPI
KcsTransportSendCommand (
- IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader,
+ IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader OPTIONAL,
IN UINT16 TransmitHeaderSize,
IN MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer OPTIONAL,
IN UINT16 TransmitTrailerSize,
@@ -427,6 +427,7 @@ KcsTransportSendCommand (
EFI_STATUS Status;
UINT32 RspHeaderSize;
IPMI_KCS_RESPONSE_HEADER RspHeader;
+ UINT32 ExpectedResponseDataSize;
if ((RequestData != NULL) && (RequestDataSize == 0)) {
DEBUG ((DEBUG_ERROR, "%a: Mismatched values of RequestData and RequestDataSize\n", __FUNCTION__));
@@ -438,65 +439,72 @@ KcsTransportSendCommand (
return EFI_INVALID_PARAMETER;
}
- if (TransmitHeader == NULL) {
- DEBUG ((DEBUG_ERROR, "%a: TransmitHeader is NULL\n", __FUNCTION__));
- return EFI_INVALID_PARAMETER;
+ // Print out the request payloads.
+ if ((TransmitHeader != NULL) && (TransmitHeaderSize != 0)) {
+ HelperManageabilityDebugPrint ((VOID *)TransmitHeader, (UINT32)TransmitHeaderSize, "KCS Transmit Header:\n");
}
- //
- // Print out the request payloads.
- HelperManageabilityDebugPrint ((VOID *)TransmitHeader, TransmitHeaderSize, "KCS Transmit Header:\n");
if (RequestData != NULL) {
HelperManageabilityDebugPrint ((VOID *)RequestData, RequestDataSize, "KCS Request Data:\n");
}
- if (TransmitTrailer != NULL) {
- HelperManageabilityDebugPrint ((VOID *)TransmitTrailer, TransmitTrailerSize, "KCS Transmit Trailer:\n");
- }
+ if ((TransmitTrailer != NULL) && (TransmitTrailerSize != 0)) {
+ HelperManageabilityDebugPrint ((VOID *)TransmitTrailer, (UINT32)TransmitTrailerSize, "KCS Transmit Trailer:\n");
+ }
+
+ if ((TransmitHeader != NULL) || (RequestData != NULL)) {
+ Status = KcsTransportWrite (
+ TransmitHeader,
+ TransmitHeaderSize,
+ TransmitTrailer,
+ TransmitTrailerSize,
+ RequestData,
+ RequestDataSize
+ );
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_ERROR, "KCS Write Failed with Status(%r)", Status));
+ return Status;
+ }
- Status = KcsTransportWrite (
- TransmitHeader,
- TransmitHeaderSize,
- TransmitTrailer,
- TransmitTrailerSize,
- RequestData,
- RequestDataSize
- );
- if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, "IPMI KCS Write Failed with Status(%r)", Status));
- return Status;
- }
+ //
+ // Read the response header
+ RspHeaderSize = sizeof (IPMI_KCS_RESPONSE_HEADER);
+ Status = KcsTransportRead ((UINT8 *)&RspHeader, &RspHeaderSize);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((
+ DEBUG_ERROR,
+ "KCS read response header failed Status(%r), " \
+ "RspNetFunctionLun = 0x%x, " \
+ "Comamnd = 0x%x \n",
+ Status,
+ RspHeader.NetFunc,
+ RspHeader.Command
+ ));
+ return (Status);
+ }
- //
- // Read the response header
- RspHeaderSize = sizeof (IPMI_KCS_RESPONSE_HEADER);
- Status = KcsTransportRead ((UINT8 *)&RspHeader, &RspHeaderSize);
- if (EFI_ERROR (Status)) {
- DEBUG ((
- DEBUG_ERROR,
- "IPMI KCS read response header failed Status(%r), " \
- "RspNetFunctionLun = 0x%x, " \
- "Command = 0x%x \n",
- Status,
- RspHeader.NetFunc,
- RspHeader.Command
- ));
- return (Status);
+ //
+ // Print out the response payloads.
+ HelperManageabilityDebugPrint ((VOID *)&RspHeader, RspHeaderSize, "KCS Response Header:\n");
}
- //
- // Print out the response payloads.
- HelperManageabilityDebugPrint ((VOID *)&RspHeader, (UINT16)RspHeaderSize, "KCS Response Header:\n");
-
if ((ResponseData != NULL) && (ResponseDataSize != NULL) && (*ResponseDataSize != 0)) {
- Status = KcsTransportRead ((UINT8 *)ResponseData, ResponseDataSize);
+ ExpectedResponseDataSize = *ResponseDataSize;
+ Status = KcsTransportRead ((UINT8 *)ResponseData, ResponseDataSize);
if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, "IPMI KCS response read Failed with Status(%r)", Status));
+ DEBUG ((DEBUG_ERROR, "KCS response read Failed with Status(%r)", Status));
}
//
// Print out the response payloads.
- HelperManageabilityDebugPrint ((VOID *)ResponseData, *ResponseDataSize, "KCS Response Data:\n");
+ if (*ResponseDataSize != 0) {
+ if (ExpectedResponseDataSize != *ResponseDataSize) {
+ DEBUG ((DEBUG_ERROR, "Expected KCS response size : %d is not matched to returned size : %d.\n", ExpectedResponseDataSize, *ResponseDataSize));
+ Status = EFI_DEVICE_ERROR;
+ }
+
+ HelperManageabilityDebugPrint ((VOID *)ResponseData, (UINT32)*ResponseDataSize, "KCS Response Data:\n");
+ }
} else {
*ResponseDataSize = 0;
}
diff --git a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.c b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.c
index c236354605..9175556a26 100644
--- a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.c
+++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.c
@@ -10,6 +10,7 @@
#include <Uefi.h>
#include <IndustryStandard/IpmiKcs.h>
#include <Library/IoLib.h>
+#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/ManageabilityTransportLib.h>
@@ -225,13 +226,6 @@ KcsTransportTransmitReceive (
return;
}
- // Transmit header is necessary for KCS transport, which could be
- // NetFn, Command and etc.
- if (TransferToken->TransmitHeader == NULL) {
- TransferToken->TransferStatus = EFI_INVALID_PARAMETER;
- return;
- }
-
Status = KcsTransportSendCommand (
TransferToken->TransmitHeader,
TransferToken->TransmitHeaderSize,
@@ -354,6 +348,22 @@ GetTransportCapability (
}
*TransportCapability = 0;
+ if (CompareGuid (
+ TransportToken->ManageabilityProtocolSpecification,
+ &gManageabilityProtocolIpmiGuid
+ ))
+ {
+ *TransportCapability |=
+ (MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_NOT_AVAILABLE << MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_BIT_POSITION);
+ } else if (CompareGuid (
+ TransportToken->ManageabilityProtocolSpecification,
+ &gManageabilityProtocolMctpGuid
+ ))
+ {
+ *TransportCapability |=
+ (MCTP_KCS_MTU_IN_POWER_OF_2 << MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_BIT_POSITION);
+ }
+
return EFI_SUCCESS;
}
--
2.37.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103142): https://edk2.groups.io/g/devel/message/103142
Mute This Topic: https://groups.io/mt/98339118/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Nickle Wang <nicklew@nvidia.com>
Regards,
Nickle
> -----Original Message-----
> From: abner.chang@amd.com <abner.chang@amd.com>
> Sent: Tuesday, April 18, 2023 3:16 PM
> To: devel@edk2.groups.io
> Cc: Isaac Oram <isaac.w.oram@intel.com>; Abdul Lateef Attar
> <abdattar@amd.com>; Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy
> <igork@ami.com>
> Subject: [edk2-platforms][PATCH V2 06/14] ManageabilityPkg/KCS: KCS
> transport interface
>
> External email: Use caution opening links or attachments
>
>
> From: Abner Chang <abner.chang@amd.com>
>
> - Return Maximum Transfer Unit for MCTP over KCS
> - Check the parameters
>
> Signed-off-by: Abner Chang <abner.chang@amd.com>
> Cc: Isaac Oram <isaac.w.oram@intel.com>
> Cc: Abdul Lateef Attar <abdattar@amd.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> ---
> .../Common/ManageabilityTransportKcs.h | 2 +-
> .../Common/KcsCommon.c | 112 ++++++++++--------
> .../Dxe/ManageabilityTransportKcs.c | 24 ++--
> 3 files changed, 78 insertions(+), 60 deletions(-)
>
> diff --git
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> ManageabilityTransportKcs.h
> b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> ManageabilityTransportKcs.h
> index d6685c165e..8c6a64416a 100644
> ---
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> ManageabilityTransportKcs.h
> +++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Com
> +++ mon/ManageabilityTransportKcs.h
> @@ -71,7 +71,7 @@ typedef struct {
> EFI_STATUS
> EFIAPI
> KcsTransportSendCommand (
> - IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader,
> + IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader OPTIONAL,
> IN UINT16 TransmitHeaderSize,
> IN MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer OPTIONAL,
> IN UINT16 TransmitTrailerSize,
> diff --git
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> KcsCommon.c
> b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> KcsCommon.c
> index 14a7047447..a8c6a674c9 100644
> ---
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/
> KcsCommon.c
> +++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Com
> +++ mon/KcsCommon.c
> @@ -99,14 +99,14 @@ ClearOBF (
> Algorithm is based on flow chart provided in IPMI spec 2.0
> Figure 9-6, KCS Interface BMC to SMS Write Transfer Flow Chart
>
> - @param[in] TransmitHeader KCS packet header.
> - @param[in] TransmitHeaderSize KCS packet header size in byte.
> - @param[in] TransmitTrailer KCS packet trailer.
> - @param[in] TransmitTrailerSize KCS packet trailer size in byte.
> - @param[in] RequestData Command Request Data, could be NULL.
> - RequestDataSize must be zero, if RequestData
> - is NULL.
> - @param[in] RequestDataSize Size of Command Request Data.
> + @param[in] TransmitHeader KCS packet header.
> + @param[in] TransmitHeaderSize KCS packet header size in byte.
> + @param[in] TransmitTrailer KCS packet trailer.
> + @param[in] TransmitTrailerSize KCS packet trailer size in byte.
> + @param[in] RequestData Command Request Data, could be NULL.
> + RequestDataSize must be zero, if RequestData
> + is NULL.
> + @param[in] RequestDataSize Size of Command Request Data.
>
> @retval EFI_SUCCESS The command byte stream was successfully
> submit to the device and a response was @@ -414,7 +414,7
> @@ KcsTransportRead ( EFI_STATUS EFIAPI KcsTransportSendCommand (
> - IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader,
> + IN MANAGEABILITY_TRANSPORT_HEADER TransmitHeader OPTIONAL,
> IN UINT16 TransmitHeaderSize,
> IN MANAGEABILITY_TRANSPORT_TRAILER TransmitTrailer OPTIONAL,
> IN UINT16 TransmitTrailerSize,
> @@ -427,6 +427,7 @@ KcsTransportSendCommand (
> EFI_STATUS Status;
> UINT32 RspHeaderSize;
> IPMI_KCS_RESPONSE_HEADER RspHeader;
> + UINT32 ExpectedResponseDataSize;
>
> if ((RequestData != NULL) && (RequestDataSize == 0)) {
> DEBUG ((DEBUG_ERROR, "%a: Mismatched values of RequestData and
> RequestDataSize\n", __FUNCTION__)); @@ -438,65 +439,72 @@
> KcsTransportSendCommand (
> return EFI_INVALID_PARAMETER;
> }
>
> - if (TransmitHeader == NULL) {
> - DEBUG ((DEBUG_ERROR, "%a: TransmitHeader is NULL\n", __FUNCTION__));
> - return EFI_INVALID_PARAMETER;
> + // Print out the request payloads.
> + if ((TransmitHeader != NULL) && (TransmitHeaderSize != 0)) {
> + HelperManageabilityDebugPrint ((VOID *)TransmitHeader,
> + (UINT32)TransmitHeaderSize, "KCS Transmit Header:\n");
> }
>
> - //
> - // Print out the request payloads.
> - HelperManageabilityDebugPrint ((VOID *)TransmitHeader, TransmitHeaderSize,
> "KCS Transmit Header:\n");
> if (RequestData != NULL) {
> HelperManageabilityDebugPrint ((VOID *)RequestData, RequestDataSize,
> "KCS Request Data:\n");
> }
>
> - if (TransmitTrailer != NULL) {
> - HelperManageabilityDebugPrint ((VOID *)TransmitTrailer, TransmitTrailerSize,
> "KCS Transmit Trailer:\n");
> - }
> + if ((TransmitTrailer != NULL) && (TransmitTrailerSize != 0)) {
> + HelperManageabilityDebugPrint ((VOID *)TransmitTrailer,
> + (UINT32)TransmitTrailerSize, "KCS Transmit Trailer:\n"); }
> +
> + if ((TransmitHeader != NULL) || (RequestData != NULL)) {
> + Status = KcsTransportWrite (
> + TransmitHeader,
> + TransmitHeaderSize,
> + TransmitTrailer,
> + TransmitTrailerSize,
> + RequestData,
> + RequestDataSize
> + );
> + if (EFI_ERROR (Status)) {
> + DEBUG ((DEBUG_ERROR, "KCS Write Failed with Status(%r)", Status));
> + return Status;
> + }
>
> - Status = KcsTransportWrite (
> - TransmitHeader,
> - TransmitHeaderSize,
> - TransmitTrailer,
> - TransmitTrailerSize,
> - RequestData,
> - RequestDataSize
> - );
> - if (EFI_ERROR (Status)) {
> - DEBUG ((DEBUG_ERROR, "IPMI KCS Write Failed with Status(%r)", Status));
> - return Status;
> - }
> + //
> + // Read the response header
> + RspHeaderSize = sizeof (IPMI_KCS_RESPONSE_HEADER);
> + Status = KcsTransportRead ((UINT8 *)&RspHeader, &RspHeaderSize);
> + if (EFI_ERROR (Status)) {
> + DEBUG ((
> + DEBUG_ERROR,
> + "KCS read response header failed Status(%r), " \
> + "RspNetFunctionLun = 0x%x, " \
> + "Comamnd = 0x%x \n",
> + Status,
> + RspHeader.NetFunc,
> + RspHeader.Command
> + ));
> + return (Status);
> + }
>
> - //
> - // Read the response header
> - RspHeaderSize = sizeof (IPMI_KCS_RESPONSE_HEADER);
> - Status = KcsTransportRead ((UINT8 *)&RspHeader, &RspHeaderSize);
> - if (EFI_ERROR (Status)) {
> - DEBUG ((
> - DEBUG_ERROR,
> - "IPMI KCS read response header failed Status(%r), " \
> - "RspNetFunctionLun = 0x%x, " \
> - "Command = 0x%x \n",
> - Status,
> - RspHeader.NetFunc,
> - RspHeader.Command
> - ));
> - return (Status);
> + //
> + // Print out the response payloads.
> + HelperManageabilityDebugPrint ((VOID *)&RspHeader, RspHeaderSize,
> + "KCS Response Header:\n");
> }
>
> - //
> - // Print out the response payloads.
> - HelperManageabilityDebugPrint ((VOID *)&RspHeader,
> (UINT16)RspHeaderSize, "KCS Response Header:\n");
> -
> if ((ResponseData != NULL) && (ResponseDataSize != NULL) &&
> (*ResponseDataSize != 0)) {
> - Status = KcsTransportRead ((UINT8 *)ResponseData, ResponseDataSize);
> + ExpectedResponseDataSize = *ResponseDataSize;
> + Status = KcsTransportRead ((UINT8 *)ResponseData,
> ResponseDataSize);
> if (EFI_ERROR (Status)) {
> - DEBUG ((DEBUG_ERROR, "IPMI KCS response read Failed with Status(%r)",
> Status));
> + DEBUG ((DEBUG_ERROR, "KCS response read Failed with Status(%r)",
> + Status));
> }
>
> //
> // Print out the response payloads.
> - HelperManageabilityDebugPrint ((VOID *)ResponseData, *ResponseDataSize,
> "KCS Response Data:\n");
> + if (*ResponseDataSize != 0) {
> + if (ExpectedResponseDataSize != *ResponseDataSize) {
> + DEBUG ((DEBUG_ERROR, "Expected KCS response size : %d is not matched
> to returned size : %d.\n", ExpectedResponseDataSize, *ResponseDataSize));
> + Status = EFI_DEVICE_ERROR;
> + }
> +
> + HelperManageabilityDebugPrint ((VOID *)ResponseData,
> (UINT32)*ResponseDataSize, "KCS Response Data:\n");
> + }
> } else {
> *ResponseDataSize = 0;
> }
> diff --git
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/Mana
> geabilityTransportKcs.c
> b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/Mana
> geabilityTransportKcs.c
> index c236354605..9175556a26 100644
> ---
> a/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/Mana
> geabilityTransportKcs.c
> +++ b/Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe
> +++ /ManageabilityTransportKcs.c
> @@ -10,6 +10,7 @@
> #include <Uefi.h>
> #include <IndustryStandard/IpmiKcs.h>
> #include <Library/IoLib.h>
> +#include <Library/BaseMemoryLib.h>
> #include <Library/DebugLib.h>
> #include <Library/MemoryAllocationLib.h> #include
> <Library/ManageabilityTransportLib.h>
> @@ -225,13 +226,6 @@ KcsTransportTransmitReceive (
> return;
> }
>
> - // Transmit header is necessary for KCS transport, which could be
> - // NetFn, Command and etc.
> - if (TransferToken->TransmitHeader == NULL) {
> - TransferToken->TransferStatus = EFI_INVALID_PARAMETER;
> - return;
> - }
> -
> Status = KcsTransportSendCommand (
> TransferToken->TransmitHeader,
> TransferToken->TransmitHeaderSize,
> @@ -354,6 +348,22 @@ GetTransportCapability (
> }
>
> *TransportCapability = 0;
> + if (CompareGuid (
> + TransportToken->ManageabilityProtocolSpecification,
> + &gManageabilityProtocolIpmiGuid
> + ))
> + {
> + *TransportCapability |=
> +
> (MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_NOT_AVAIL
> ABLE
> + <<
> MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_BIT_POSITIO
> N);
> + } else if (CompareGuid (
> + TransportToken->ManageabilityProtocolSpecification,
> + &gManageabilityProtocolMctpGuid
> + ))
> + {
> + *TransportCapability |=
> + (MCTP_KCS_MTU_IN_POWER_OF_2 <<
> +
> MANAGEABILITY_TRANSPORT_CAPABILITY_MAXIMUM_PAYLOAD_BIT_POSITIO
> N);
> + }
> +
> return EFI_SUCCESS;
> }
>
> --
> 2.37.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103282): https://edk2.groups.io/g/devel/message/103282
Mute This Topic: https://groups.io/mt/98339118/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.