]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
SecurityPkg: Cache TPM interface type info
[mirror_edk2.git] / SecurityPkg / Library / Tpm2DeviceLibDTpm / Tpm2Ptp.c
index d9df2646994d0351345c76b423b1467b7279b52e..1bc153a2c0d38db2e59e9537068dd7ab2103d677 100644 (file)
@@ -25,13 +25,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <IndustryStandard/TpmPtp.h>\r
 #include <IndustryStandard/TpmTis.h>\r
 \r
-typedef enum {\r
-  PtpInterfaceTis,\r
-  PtpInterfaceFifo,\r
-  PtpInterfaceCrb,\r
-  PtpInterfaceMax,\r
-} PTP_INTERFACE_TYPE;\r
-\r
 //\r
 // Execution of the command may take from several seconds to minutes for certain\r
 // commands, such as key generation.\r
@@ -370,7 +363,7 @@ TisPcRequestUseTpm (
 \r
   @return PTP interface type.\r
 **/\r
-PTP_INTERFACE_TYPE\r
+TPM2_PTP_INTERFACE_TYPE\r
 Tpm2GetPtpInterface (\r
   IN VOID *Register\r
   )\r
@@ -379,7 +372,7 @@ Tpm2GetPtpInterface (
   PTP_FIFO_INTERFACE_CAPABILITY InterfaceCapability;\r
 \r
   if (!Tpm2IsPtpPresence (Register)) {\r
-    return PtpInterfaceMax;\r
+    return Tpm2PtpInterfaceMax;\r
   }\r
   //\r
   // Check interface id\r
@@ -390,15 +383,15 @@ Tpm2GetPtpInterface (
   if ((InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_CRB) &&\r
       (InterfaceId.Bits.InterfaceVersion == PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_CRB) &&\r
       (InterfaceId.Bits.CapCRB != 0)) {\r
-    return PtpInterfaceCrb;\r
+    return Tpm2PtpInterfaceCrb;\r
   }\r
   if ((InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_FIFO) &&\r
       (InterfaceId.Bits.InterfaceVersion == PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_FIFO) &&\r
       (InterfaceId.Bits.CapFIFO != 0) &&\r
       (InterfaceCapability.Bits.InterfaceVersion == INTERFACE_CAPABILITY_INTERFACE_VERSION_PTP)) {\r
-    return PtpInterfaceFifo;\r
+    return Tpm2PtpInterfaceFifo;\r
   }\r
-  return PtpInterfaceTis;\r
+  return Tpm2PtpInterfaceTis;\r
 }\r
 \r
 /**\r
@@ -417,7 +410,7 @@ DumpPtpInfo (
   UINT16                        Vid;\r
   UINT16                        Did;\r
   UINT8                         Rid;\r
-  PTP_INTERFACE_TYPE            PtpInterface;\r
+  TPM2_PTP_INTERFACE_TYPE       PtpInterface;\r
 \r
   if (!Tpm2IsPtpPresence (Register)) {\r
     return ;\r
@@ -458,16 +451,16 @@ DumpPtpInfo (
   Vid = 0xFFFF;\r
   Did = 0xFFFF;\r
   Rid = 0xFF;\r
-  PtpInterface = Tpm2GetPtpInterface (Register);\r
+  PtpInterface = PcdGet8(PcdActiveTpmInterfaceType);\r
   DEBUG ((EFI_D_INFO, "PtpInterface - %x\n", PtpInterface));\r
   switch (PtpInterface) {\r
-  case PtpInterfaceCrb:\r
+  case Tpm2PtpInterfaceCrb:\r
     Vid = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Vid);\r
     Did = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Did);\r
     Rid = (UINT8)InterfaceId.Bits.Rid;\r
     break;\r
-  case PtpInterfaceFifo:\r
-  case PtpInterfaceTis:\r
+  case Tpm2PtpInterfaceFifo:\r
+  case Tpm2PtpInterfaceTis:\r
     Vid = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Vid);\r
     Did = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Did);\r
     Rid = MmioRead8 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Rid);\r
@@ -501,11 +494,11 @@ DTpm2SubmitCommand (
   IN UINT8             *OutputParameterBlock\r
   )\r
 {\r
-  PTP_INTERFACE_TYPE  PtpInterface;\r
+  TPM2_PTP_INTERFACE_TYPE  PtpInterface;\r
 \r
-  PtpInterface = Tpm2GetPtpInterface ((VOID *) (UINTN) PcdGet64 (PcdTpmBaseAddress));\r
+  PtpInterface = PcdGet8(PcdActiveTpmInterfaceType);\r
   switch (PtpInterface) {\r
-  case PtpInterfaceCrb:\r
+  case Tpm2PtpInterfaceCrb:\r
     return PtpCrbTpmCommand (\r
            (PTP_CRB_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress),\r
            InputParameterBlock,\r
@@ -513,8 +506,8 @@ DTpm2SubmitCommand (
            OutputParameterBlock,\r
            OutputParameterBlockSize\r
            );\r
-  case PtpInterfaceFifo:\r
-  case PtpInterfaceTis:\r
+  case Tpm2PtpInterfaceFifo:\r
+  case Tpm2PtpInterfaceTis:\r
     return Tpm2TisTpmCommand (\r
            (TIS_PC_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress),\r
            InputParameterBlock,\r
@@ -540,14 +533,14 @@ DTpm2RequestUseTpm (
   VOID\r
   )\r
 {\r
-  PTP_INTERFACE_TYPE  PtpInterface;\r
+  TPM2_PTP_INTERFACE_TYPE  PtpInterface;\r
 \r
-  PtpInterface = Tpm2GetPtpInterface ((VOID *) (UINTN) PcdGet64 (PcdTpmBaseAddress));\r
+  PtpInterface = PcdGet8(PcdActiveTpmInterfaceType);\r
   switch (PtpInterface) {\r
-  case PtpInterfaceCrb:\r
+  case Tpm2PtpInterfaceCrb:\r
     return PtpCrbRequestUseTpm ((PTP_CRB_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress));\r
-  case PtpInterfaceFifo:\r
-  case PtpInterfaceTis:\r
+  case Tpm2PtpInterfaceFifo:\r
+  case Tpm2PtpInterfaceTis:\r
     return TisPcRequestUseTpm ((TIS_PC_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress));\r
   default:\r
     return EFI_NOT_FOUND;\r