Add the volatile keyword to NvmExpressDxe's Passthru CQ

This updates the relevant functions that expect a non-volatile
structure to be passed to them to take casts of the CQ
now that it is volatile.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael Kubacki <mikuback@linux.microsoft.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Acked-by: Michael Kubacki <michael.kubacki@microsoft.com>
This commit is contained in:
Oliver Smith-Denny 2023-04-28 01:36:21 +08:00 committed by mergify[bot]
parent 4dea9e4a0e
commit 293b97d0c4
1 changed files with 3 additions and 3 deletions

View File

@ -460,7 +460,7 @@ NvmExpressPassThru (
EFI_STATUS PreviousStatus; EFI_STATUS PreviousStatus;
EFI_PCI_IO_PROTOCOL *PciIo; EFI_PCI_IO_PROTOCOL *PciIo;
NVME_SQ *Sq; NVME_SQ *Sq;
NVME_CQ *Cq; volatile NVME_CQ *Cq;
UINT16 QueueId; UINT16 QueueId;
UINT16 QueueSize; UINT16 QueueSize;
UINT32 Bytes; UINT32 Bytes;
@ -815,14 +815,14 @@ NvmExpressPassThru (
// Dump every completion entry status for debugging. // Dump every completion entry status for debugging.
// //
DEBUG_CODE_BEGIN (); DEBUG_CODE_BEGIN ();
NvmeDumpStatus (Cq); NvmeDumpStatus ((NVME_CQ *)Cq);
DEBUG_CODE_END (); DEBUG_CODE_END ();
} }
// //
// Copy the Respose Queue entry for this command to the callers response buffer // Copy the Respose Queue entry for this command to the callers response buffer
// //
CopyMem (Packet->NvmeCompletion, Cq, sizeof (EFI_NVM_EXPRESS_COMPLETION)); CopyMem (Packet->NvmeCompletion, (VOID *)Cq, sizeof (EFI_NVM_EXPRESS_COMPLETION));
} else { } else {
// //
// Timeout occurs for an NVMe command. Reset the controller to abort the // Timeout occurs for an NVMe command. Reset the controller to abort the