Re: [PATCH v2] x86: hpet: Don't default CONFIG_HPET_TIMER to be y for X86_64

From: Ingo Molnar
Date: Tue Apr 15 2014 - 05:00:47 EST



* Feng Tang <feng.tang@xxxxxxxxx> wrote:

> Hi Ingo,
>
> On Fri, Mar 28, 2014 at 09:11:17AM +0100, Ingo Molnar wrote:
> >
> > * Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
> >
> > > Feng Tang wrote:
> > > > On Fri, Mar 28, 2014 at 08:17:16AM +0100, Ingo Molnar wrote:
> > > >> * Feng Tang <feng.tang@xxxxxxxxx> wrote:
> > > >> - or the kernel should have a quirk to reliably disable it. Why
> > > >> should we crash or misbehave if a driver is built into the
> > > >> kernel?
> > > >
> > > > I thought about this before, HPET doesn't have PCI ID like stuff,
> > >
> > > HPET does have the PCI vendor ID in the first register.
> > >
> > > > only thing I can think of to identify them may be the CPU family/ID.
> > >
> > > The HPET is implemented by some actual chip, and that chip also has lots
> > > of PCI devices. (In the case of a SoC, the CPU ID would work, too).
> >
> > Correct. See arch/x86/kernel/hpet.c, which has a large number of HPET
> > quirks keyed off chipset PCI IDs:
> >
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_0,
> > ich_force_enable_hpet);
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_0,
> > ich_force_enable_hpet);
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_1,
> > ich_force_enable_hpet);
> > [...]
>
> I just gave it another thought, that the HPET on our platform
> currently do have some problem to be used as clocksource/clockevent,
> but it may get fixed in future version (by Silicon or BIOS).
>
> If I add quirk to block it now, I may revert this code in future
> when it get fixed, same problem applis for the future generation of
> platform.

If the hardware or BIOS gets fixed then that will be visible in the
revision level of the hardware, right?

Such kind of revision level, once it is known, can then be used to
turn the quirk on/off precisely.

Thanks,

Ingo
--
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/