]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.h
MdeModulePkg/SdMmcPciHcDxe: Fix PIO transfer mode
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / SdMmcPciHcDxe / SdMmcPciHcDxe.h
index 0304960132415b53137f8c862e31a4085850c8a3..40e4373e572118dd720a84ea1f6df0e12b827ad5 100644 (file)
@@ -3,7 +3,7 @@
   Provides some data structure definitions used by the SD/MMC host controller driver.\r
 \r
 Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -83,6 +83,7 @@ typedef struct {
   BOOLEAN                            MediaPresent;\r
   BOOLEAN                            Initialized;\r
   SD_MMC_CARD_TYPE                   CardType;\r
+  UINT64                             CurrentFreq;\r
   EDKII_SD_MMC_OPERATING_PARAMETERS  OperatingParameters;\r
 } SD_MMC_HC_SLOT;\r
 \r
@@ -130,6 +131,8 @@ typedef struct {
 \r
 #define SD_MMC_HC_TRB_SIG             SIGNATURE_32 ('T', 'R', 'B', 'T')\r
 \r
+#define SD_MMC_TRB_RETRIES            5\r
+\r
 //\r
 // TRB (Transfer Request Block) contains information for the cmd request.\r
 //\r
@@ -151,7 +154,12 @@ typedef struct {
 \r
   EFI_EVENT                           Event;\r
   BOOLEAN                             Started;\r
+  BOOLEAN                             CommandComplete;\r
   UINT64                              Timeout;\r
+  UINT32                              Retries;\r
+\r
+  BOOLEAN                             PioModeTransferCompleted;\r
+  UINT32                              PioBlockIndex;\r
 \r
   SD_MMC_HC_ADMA_32_DESC_LINE         *Adma32Desc;\r
   SD_MMC_HC_ADMA_64_V3_DESC_LINE      *Adma64V3Desc;\r