]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcRtc.c
Fix date/time not work for the return value of RtcRead not need type convert.
[mirror_edk2.git] / MdeModulePkg / Universal / PcatRealTimeClockRuntimeDxe / PcRtc.c
index e9367fb737e5bb22da572496f078088c21b8a310..cf5ed0bf5a7d2870c64e551e59dec2b524508d97 100644 (file)
@@ -158,12 +158,9 @@ PcRtcInit (
   Time.Month  = RtcRead (RTC_ADDRESS_MONTH);\r
   Time.Year   = RtcRead (RTC_ADDRESS_YEAR);\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
-  } else {\r
-    Century = RtcRead (RTC_ADDRESS_CENTURY);\r
-  }\r
-\r
+  Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+  Time.Year = (UINT16) (Century * 100 + Time.Year);\r
+  \r
   //\r
   // Set RTC configuration after get original time\r
   // The value of bit AIE should be reserved.\r
@@ -285,12 +282,9 @@ PcRtcGetTime (
   Time->Month   = RtcRead (RTC_ADDRESS_MONTH);\r
   Time->Year    = RtcRead (RTC_ADDRESS_YEAR);\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
-  } else {\r
-    Century = RtcRead (RTC_ADDRESS_CENTURY);\r
-  }\r
-\r
+  Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+  Time->Year = (UINT16) (Century * 100 + Time->Year);\r
+  \r
   //\r
   // Release RTC Lock.\r
   //\r
@@ -401,10 +395,6 @@ PcRtcSetTime (
   RtcWrite (RTC_ADDRESS_DAY_OF_THE_MONTH, RtcTime.Day);\r
   RtcWrite (RTC_ADDRESS_MONTH, RtcTime.Month);\r
   RtcWrite (RTC_ADDRESS_YEAR, (UINT8) RtcTime.Year);\r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = (UINT8) ((Century & 0x7f) | (RtcRead (RTC_ADDRESS_CENTURY) & 0x80));\r
-  }\r
-\r
   RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
 \r
   //\r
@@ -520,12 +510,9 @@ PcRtcGetWakeupTime (
     Time->Year    = RtcRead (RTC_ADDRESS_YEAR);\r
   }\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
-  } else {\r
-    Century = RtcRead (RTC_ADDRESS_CENTURY);\r
-  }\r
-\r
+  Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+  Time->Year = (UINT16) (Century * 100 + Time->Year);\r
+  \r
   //\r
   // Release RTC Lock.\r
   //\r
@@ -663,29 +650,6 @@ PcRtcSetWakeupTime (
   return EFI_SUCCESS;\r
 }\r
 \r
-/**\r
-  See if century register of RTC is valid.\r
-\r
-  @retval  EFI_SUCCESS       Century register is valid.\r
-  @retval  EFI_DEVICE_ERROR  Century register is NOT valid.\r
-**/\r
-EFI_STATUS\r
-RtcTestCenturyRegister (\r
-  VOID\r
-  )\r
-{\r
-  UINT8 Century;\r
-  UINT8 Temp;\r
-\r
-  Century = RtcRead (RTC_ADDRESS_CENTURY);\r
-  Temp = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
-  RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
-  if (Temp == 0x19 || Temp == 0x20) {\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
-  return EFI_DEVICE_ERROR;\r
-}\r
 \r
 /**\r
   Checks an 8-bit BCD value, and converts to an 8-bit value if valid.\r