From 76cd9a03e5c2813ca8f7a653be2194611a28fb89 Mon Sep 17 00:00:00 2001 From: li-elvin Date: Thu, 25 Oct 2012 06:26:39 +0000 Subject: [PATCH] Create a MAX_TIMER_TICK_DURATION for the error handling in 8254 timer module. Signed-off-by: Li Elvin Reviewed-by: Tian Hot Reviewed-by: Zeng Star git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13884 6f19259b-4bc3-4df7-8a09-765794883524 --- PcAtChipsetPkg/8254TimerDxe/Timer.c | 6 ++---- PcAtChipsetPkg/8254TimerDxe/Timer.h | 8 +++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/PcAtChipsetPkg/8254TimerDxe/Timer.c b/PcAtChipsetPkg/8254TimerDxe/Timer.c index da7d6af578..a7f4947002 100644 --- a/PcAtChipsetPkg/8254TimerDxe/Timer.c +++ b/PcAtChipsetPkg/8254TimerDxe/Timer.c @@ -1,7 +1,7 @@ /** @file Timer Architectural Protocol as defined in the DXE CIS -Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -219,9 +219,7 @@ TimerDriverSetTimerPeriod ( // if (TimerCount >= 65536) { TimerCount = 0; - if (TimerPeriod >= DEFAULT_TIMER_TICK_DURATION) { - TimerPeriod = DEFAULT_TIMER_TICK_DURATION; - } + TimerPeriod = MAX_TIMER_TICK_DURATION; } // // Program the 8254 timer with the new count value diff --git a/PcAtChipsetPkg/8254TimerDxe/Timer.h b/PcAtChipsetPkg/8254TimerDxe/Timer.h index 26935d8775..5a354a8892 100644 --- a/PcAtChipsetPkg/8254TimerDxe/Timer.h +++ b/PcAtChipsetPkg/8254TimerDxe/Timer.h @@ -1,7 +1,7 @@ /** @file Private data structures -Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -34,6 +34,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // ---------------- * 1,000,000 uS/S = 54925.4 uS = 549254 * 100 ns // 1,193,182 Hz // + +// +// The maximum tick duration for 8254 timer +// +#define MAX_TIMER_TICK_DURATION 549254 +// // The default timer tick duration is set to 10 ms = 100000 100 ns units // #define DEFAULT_TIMER_TICK_DURATION 100000 -- 2.39.2