]> git.proxmox.com Git - mirror_edk2.git/blobdiff - PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c
Add generic HPET Timer DXE Driver and support libraries.
[mirror_edk2.git] / 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