diff options
author | Damien Zammit <damien@zamaudio.com> | 2023-02-26 01:31:00 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-26 09:58:22 +0100 |
commit | d268bf0e3d31e1df96d4972cd0130b176c4d5165 (patch) | |
tree | 1b6f2c7f8b054f08ee92fc17616c9316efd0413b /i386 | |
parent | 5842b6b72ae0242b792f0e28193309ea12909f34 (diff) | |
download | gnumach-d268bf0e3d31e1df96d4972cd0130b176c4d5165.tar.gz gnumach-d268bf0e3d31e1df96d4972cd0130b176c4d5165.tar.bz2 gnumach-d268bf0e3d31e1df96d4972cd0130b176c4d5165.zip |
pit: Fix shadowed hz variable && define modes correctly
Message-Id: <20230226013052.50577-1-damien@zamaudio.com>
Diffstat (limited to 'i386')
-rw-r--r-- | i386/i386/pit.c | 14 | ||||
-rw-r--r-- | i386/i386/pit.h | 3 |
2 files changed, 9 insertions, 8 deletions
diff --git a/i386/i386/pit.c b/i386/i386/pit.c index 7373a38e..6c006a98 100644 --- a/i386/i386/pit.c +++ b/i386/i386/pit.c @@ -66,18 +66,18 @@ int pit0_mode = PIT_C0|PIT_SQUAREMODE|PIT_READMODE ; unsigned int clknumb = CLKNUM; /* interrupt interval for timer 0 */ void -pit_prepare_sleep(int hz) +pit_prepare_sleep(int persec) { - /* Prepare to sleep for 1/hz seconds */ - int val = 0; - int lsb, msb; + /* Prepare to sleep for 1/persec seconds */ + uint32_t val = 0; + uint8_t lsb, msb; val = inb(PITAUX_PORT); val &= ~PITAUX_OUT2; val |= PITAUX_GATE2; outb (PITAUX_PORT, val); - outb (PITCTL_PORT, PIT_C2 | PIT_LOADMODE | PIT_RATEMODE); - val = CLKNUM / hz; + outb (PITCTL_PORT, PIT_C2 | PIT_LOADMODE | PIT_ONESHOTMODE); + val = CLKNUM / persec; lsb = val & 0xff; msb = val >> 8; outb (PITCTR2_PORT, lsb); @@ -88,7 +88,7 @@ pit_prepare_sleep(int hz) void pit_sleep(void) { - int val; + uint8_t val; /* Start counting down */ val = inb(PITAUX_PORT); diff --git a/i386/i386/pit.h b/i386/i386/pit.h index 51c4111d..b14c4c84 100644 --- a/i386/i386/pit.h +++ b/i386/i386/pit.h @@ -73,7 +73,8 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * followed by most significant byte */ #define PIT_SQUAREMODE 0x06 /* square-wave mode */ -#define PIT_RATEMODE 0x02 /* rate generator mode */ +#define PIT_RATEMODE 0x04 /* rate generator mode */ +#define PIT_ONESHOTMODE 0x02 /* one-shot mode */ /* Used for Timer 2. */ #define PIT_C2 0x80 /* select counter 2 */ |