diff options
author | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-02 15:30:54 +0000 |
---|---|---|
committer | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-02 15:30:54 +0000 |
commit | 7369b8364d3cef58349c2d2cb986833ad1e8a9e5 (patch) | |
tree | 323aaeacd74631de3768b9ff4afc13c9de9782c3 /edk2/PcAtChipsetPkg | |
parent | 726fc20ac8de518fa862272ed69850fbe9c9e4a1 (diff) |
Add generic HPET Timer DXE Driver and support libraries.
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@12272 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'edk2/PcAtChipsetPkg')
-rw-r--r-- | edk2/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/edk2/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c b/edk2/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c index 025d504fc..b38963157 100644 --- a/edk2/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c +++ b/edk2/PcAtChipsetPkg/HpetTimerDxe/HpetTimer.c @@ -440,7 +440,7 @@ TimerDriverSetTimerPeriod ( // If TimerPeriod is 0, then mask HPET Timer interrupts
//
- if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {
+ if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {
//
// Disable HPET MSI interrupt generation
//
@@ -498,7 +498,7 @@ TimerDriverSetTimerPeriod ( //
// Enable HPET Timer interrupt generation
//
- if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {
+ if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {
//
// Enable HPET MSI Interrupt
//
@@ -789,7 +789,6 @@ TimerDriverInitialize ( // Set InterruptRoute field based in mTimerIrq
//
mTimerConfiguration.Uint64 = HpetRead (HPET_TIMER_CONFIGURATION_OFFSET + mTimerIndex * HPET_TIMER_STRIDE);
- mTimerConfiguration.Bits.MsiInterruptCapablity = 0;
mTimerConfiguration.Bits.LevelTriggeredInterrupt = 1;
mTimerConfiguration.Bits.InterruptRoute = mTimerIrq;
}
@@ -829,7 +828,7 @@ TimerDriverInitialize ( // Show state of enabled HPET timer
//
DEBUG_CODE (
- if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0) {
+ if (mTimerConfiguration.Bits.MsiInterruptCapablity != 0 && FeaturePcdGet (PcdHpetMsiEnable)) {
DEBUG ((DEBUG_INFO, "HPET Interrupt Mode MSI\n"));
} else {
DEBUG ((DEBUG_INFO, "HPET Interrupt Mode I/O APIC\n"));
|