]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add generic HPET Timer DXE Driver and support libraries.
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 2 Sep 2011 15:30:54 +0000 (15:30 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 2 Sep 2011 15:30:54 +0000 (15:30 +0000)
Minor update to logic to prevent writing a the read-only MSI Capability bit with 0 when HPET supports MSIs

Signed-off-by: mdkinney
Reviewed-by: li-elvin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12272 6f19259b-4bc3-4df7-8a09-765794883524

PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c

index 025d504fc4eb33354fc779790be5bd9aff36d1bd..b38963157cc1267569c0a9558ee3c1dd96c68ed5 100644 (file)
@@ -440,7 +440,7 @@ TimerDriverSetTimerPeriod (
     // If TimerPeriod is 0, then mask HPET Timer interrupts\r
     //\r
     \r
-    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {\r
+    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {\r
       //\r
       // Disable HPET MSI interrupt generation\r
       //\r
@@ -498,7 +498,7 @@ TimerDriverSetTimerPeriod (
     //\r
     // Enable HPET Timer interrupt generation\r
     //\r
-    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {\r
+    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {\r
       //\r
       // Enable HPET MSI Interrupt\r
       //\r
@@ -789,7 +789,6 @@ TimerDriverInitialize (
     //   Set InterruptRoute field based in mTimerIrq\r
     //\r
     mTimerConfiguration.Uint64 = HpetRead (HPET_TIMER_CONFIGURATION_OFFSET + mTimerIndex * HPET_TIMER_STRIDE);\r
-    mTimerConfiguration.Bits.MsiInterruptCapablity   = 0;\r
     mTimerConfiguration.Bits.LevelTriggeredInterrupt = 1;\r
     mTimerConfiguration.Bits.InterruptRoute          = mTimerIrq;\r
   }\r
@@ -829,7 +828,7 @@ TimerDriverInitialize (
   // Show state of enabled HPET timer\r
   //\r
   DEBUG_CODE (\r
-    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {\r
+    if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {\r
       DEBUG ((DEBUG_INFO, "HPET Interrupt Mode MSI\n"));\r
     } else {\r
       DEBUG ((DEBUG_INFO, "HPET Interrupt Mode I/O APIC\n"));\r