RE: x86-64 with nvidia MCP51 chipset: kernel does not find HPET

From: Lee Revell
Date: Mon Oct 30 2006 - 14:01:09 EST


On Mon, 2006-10-30 at 11:07 -0600, Langsdorf, Mark wrote:
> > I have a 6 month old x86-64 machine with nvidia MCP51 chipset on which
> > the kernel does not detect the HPET. According to HPET maintainer
> > Clemens Ladisch, this machine certainly has one, but it cannot be
> > enabled for lack of hardware documentation.
> >
> > Is there anything I can do to help debug this?
>
> If the hardware is not providing the HPET description in ACPI,
> there's little you can do, and most vendors do not provide
> the HPET description.
>
> Do you know if there's an entry for HPET in the ACPI?

I'm not exactly an ACPI expert, but I do not think there is an entry for
HPET in the ACPI, as the check in arch/x86_64/kernel/io_apic.c fails:

358 /*
359 * All timer overrides on Nvidia are
360 * wrong unless HPET is enabled.
361 */
362 nvidia_hpet_detected = 0;
363 acpi_table_parse(ACPI_HPET,
364 nvidia_hpet_check);
365 if (nvidia_hpet_detected == 0) {
366 acpi_skip_timer_override = 1;
367 printk(KERN_INFO "Nvidia board "
368 "detected. Ignoring ACPI "
369 "timer override.\n");
370 }

But, with some help from anonymous sources, I have been able to find the
HPET and make it work using a userspace driver that pokes registers by
mmap'ing /dev/mem. So we just need a way to tell the kernel it's there.
Presumably this would require a PCI quirk.

Is this likely to be worth the trouble?

Lee


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/