aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/hpet.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2005-10-30[PATCH] hpet: allow shared interruptsClemens Ladisch1-7/+21
This patch adds support for shared HPET interrupts. The driver previously acknowledged interrupts for both edge and level interrupts, but didn't actually allow a shared interrupt in the latter case. We use a new per-timer flag to save whether the timer's interrupt might be shared, and use it to do the processing required for level interrupts only if necessary. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Acked-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30[PATCH] hpet: allow non-power-of-two frequenciesClemens Ladisch1-1/+1
It was only the RTC hardware that restricted interrupt frequencies to a power of two. There is no reason to take over this restriction into the HPET driver, so remove the offending check. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Acked-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30[PATCH] hpet: remove superfluous register readsClemens Ladisch1-4/+0
This patch removes several reads of a timer's config register that serve no purpose whatsoever. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Acked-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30[PATCH] hpet: remove unused variableClemens Ladisch1-3/+2
The variable hpet_ntimer is never read, so remove it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Acked-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30[PATCH] HPET: make frequency calculations 32 bit safeClemens Ladisch1-13/+19
On 32-bit architectures, the multiplication in the argument for hpet_time_div() often overflows. In the typical case of a 14.32 MHz timer, this happens when the desired frequency exceeds 61 Hz. To avoid this multiplication, we can precompute and store the hardware timer frequency, instead of the period, in the device structure, which leaves us with a simple division when computing the number of timer ticks. As a side effect, this also removes a theoretical bug where the timer interpolator's frequency would be computed as a 32-bit value even if the HPET frequency is greater than 2^32 Hz (the HPET spec allows up to 10 GHz). Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30[PATCH] hpet: disallow zero interrupt frequencyClemens Ladisch1-1/+4
Disallow setting an interrupt frequency of zero (which would result in a division by zero), and disallow enabling the interrupt when the frequency hasn't yet been set (which would use an interrupt period of zero). Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-22[PATCH] Fix mmap() of /dev/hpetKeir Fraser1-1/+0
The address passed to io_remap_pfn_range() in hpet_mmap() does not need to be converted using __pa(): it is already a physical address. This bug was found and the patch suggested by Clay Harris. I introduced this particular bug when making io_remap_pfn_range changes a few months ago. In fact mmap()ing /dev/hpet has *never* previously worked: before my changes __pa() was being executed on an ioremap()ed virtual address, which is also invalid. Signed-off-by: Keir Fraser <keir@xensource.com> Cc: Robert Picco <Robert.Picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-22[ACPI] handle ACPICA 20050916's acpi_resource.type renameLen Brown1-1/+1
Signed-off-by: Len Brown <len.brown@intel.com>
2005-09-10[PATCH] fix unusual placement of inline keyword in hpetAdrian Bunk1-2/+2
With gcc -W: drivers/char/hpet.c:102: warning: `inline' is not at beginning of declaration drivers/char/hpet.c:109: warning: `inline' is not at beginning of declaration Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-08Merge linux-2.6 with linux-acpi-2.6Len Brown1-2/+2
2005-09-07[PATCH] hpet: fix drift and urlAlex Williamson1-2/+2
The HPET driver is using a parts per second drift factor instead of the standard parts per million drift the time interpolator code expects. This patch fixes that problem and updates the URL for the HPET spec. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Cc: "Robert W. Picco" <bob.picco@hp.com> Acked-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-05[ACPI] Merge acpi-2.6.12 branch into 2.6.13-rc3Len Brown1-2/+6
Signed-off-by: Len Brown <len.brown@intel.com>
2005-08-04[ACPI] HPET driver now checks for acpi_register_gsi() errorsKenji Kaneshige1-2/+6
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
2005-06-25[PATCH] hpet: do_div fixJon Smirl1-1/+1
We don't need to use do_div() on a 32-bit quantity. Signed-off-by: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16Linux-2.6.12-rc2Linus Torvalds1-0/+994
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!