]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1. Enhance the RTC driver to not reserve the CMOS century register MSB.
authorgikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 5 Jun 2009 06:51:40 +0000 (06:51 +0000)
committergikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 5 Jun 2009 06:51:40 +0000 (06:51 +0000)
2. Replace BcdToDecimal with library BcdToDecimal8 and remove it's definition.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8477 6f19259b-4bc3-4df7-8a09-765794883524

PcAtChipsetPkg/PcRtc/RealTimeClock.c
PcAtChipsetPkg/PcRtc/RealTimeClock.h

index 6666d48a377abb2f7cbd11232790267e1c9ceb16..76b498db1eaecc527efa1e5affee874ac6b0b6e0 100644 (file)
@@ -212,11 +212,7 @@ Returns:
 \r
   ConvertRtcTimeToEfiTime (&Time, RegisterB);\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = BcdToDecimal ((UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f));\r
-  } else {\r
-    Century = BcdToDecimal (RtcRead (RTC_ADDRESS_CENTURY));\r
-  }\r
+  Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
 \r
   Time.Year = (UINT16) (Century * 100 + Time.Year);\r
 \r
@@ -313,11 +309,7 @@ Routine Description:
 \r
   ConvertRtcTimeToEfiTime (Time, RegisterB);\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = BcdToDecimal ((UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f));\r
-  } else {\r
-    Century = BcdToDecimal (RtcRead (RTC_ADDRESS_CENTURY));\r
-  }\r
+  Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
 \r
   Time->Year = (UINT16) (Century * 100 + Time->Year);\r
 \r
@@ -422,10 +414,6 @@ Routine Description:
   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
@@ -527,11 +515,7 @@ Returns:
 \r
   ConvertRtcTimeToEfiTime (Time, RegisterB);\r
 \r
-  if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
-    Century = BcdToDecimal ((UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f));\r
-  } else {\r
-    Century = BcdToDecimal (RtcRead (RTC_ADDRESS_CENTURY));\r
-  }\r
+  Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
 \r
   Time->Year = (UINT16) (Century * 100 + Time->Year);\r
 \r
@@ -660,64 +644,6 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
-UINT8\r
-BcdToDecimal (\r
-  IN  UINT8 BcdValue\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Arguments:\r
-\r
-  \r
-\r
-Returns: \r
---*/\r
-// TODO:    BcdValue - add argument and description to function comment\r
-{\r
-  UINTN High;\r
-  UINTN Low;\r
-\r
-  High  = BcdValue >> 4;\r
-  Low   = BcdValue - (High << 4);\r
-\r
-  return (UINT8) (Low + (High * 10));\r
-}\r
-\r
-EFI_STATUS\r
-RtcTestCenturyRegister (\r
-  VOID\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Arguments:\r
-\r
-  \r
-\r
-Returns: \r
---*/\r
-// TODO:    EFI_SUCCESS - add return value to function comment\r
-// TODO:    EFI_DEVICE_ERROR - add return value to function comment\r
-{\r
-  UINT8 Century;\r
-  UINT8 Temp;\r
-\r
-  Century = RtcRead (RTC_ADDRESS_CENTURY);\r
-  //\r
-  //  RtcWrite (RTC_ADDRESS_CENTURY, 0x00);\r
-  //\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
 VOID\r
 ConvertRtcTimeToEfiTime (\r
   IN EFI_TIME       *Time,\r
@@ -747,12 +673,12 @@ Returns:
   Time->Hour = (UINT8) (Time->Hour & 0x7f);\r
 \r
   if (RegisterB.Bits.DM == 0) {\r
-    Time->Year    = BcdToDecimal ((UINT8) Time->Year);\r
-    Time->Month   = BcdToDecimal (Time->Month);\r
-    Time->Day     = BcdToDecimal (Time->Day);\r
-    Time->Hour    = BcdToDecimal (Time->Hour);\r
-    Time->Minute  = BcdToDecimal (Time->Minute);\r
-    Time->Second  = BcdToDecimal (Time->Second);\r
+    Time->Year    = BcdToDecimal8 ((UINT8) Time->Year);\r
+    Time->Month   = BcdToDecimal8 (Time->Month);\r
+    Time->Day     = BcdToDecimal8 (Time->Day);\r
+    Time->Hour    = BcdToDecimal8 (Time->Hour);\r
+    Time->Minute  = BcdToDecimal8 (Time->Minute);\r
+    Time->Second  = BcdToDecimal8 (Time->Second);\r
   }\r
   //\r
   // If time is in 12 hour format, convert it to 24 hour format\r
index f157813cf7c20a7a00f22cf3bcb9484bfa5ad505..4f91abec8c80e88d31668bb3eafafeaeb7713da6 100644 (file)
@@ -291,27 +291,6 @@ Returns:
 --*/\r
 ;\r
 \r
-UINT8\r
-BcdToDecimal (\r
-  IN  UINT8 BcdValue\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  BcdValue  - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  TODO: add return values\r
-\r
---*/\r
-;\r
-\r
 EFI_STATUS\r
 RtcTimeFieldsValid (\r
   IN EFI_TIME *Time\r
@@ -379,27 +358,6 @@ Returns:
 --*/\r
 ;\r
 \r
-EFI_STATUS\r
-RtcTestCenturyRegister (\r
-  VOID\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  TODO: add return values\r
-\r
---*/\r
-;\r
-\r
 VOID\r
 ConvertRtcTimeToEfiTime (\r
   IN EFI_TIME       *Time,\r