Messages in this thread | | | Subject | Re: [PATCH] hpet: hpet driver periodic timer setup bug fixes | From | "Pallipadi, Venkatesh" <> | Date | Tue, 11 Aug 2009 11:07:42 -0700 |
| |
On Mon, 2009-08-10 at 21:03 -0700, Andrew Morton wrote: > On Mon, 10 Aug 2009 15:05:04 -0700 "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com> wrote: > > > From: Nils Carlson <nils.carlson@ericsson.com> > > > > The periodic interrupt from drivers/char/hpet.c does not work correctly, > > both when using the periodic capability of the hardware and while > > emulating the periodic interrupt (when hardware does not support > > periodic mode). > > > > With timers capable of periodic interrupts, the comparator field is first > > set with the period value followed by set of hidden accumulator, > > which has the side effect of overwriting the comparator value. This > > results in wrong periodicity for the interrupts. For, > > periodic interrupts to work, following steps are necessary, in that order. > > * Set config with Tn_VAL_SET_CNF bit > > * Write to hidden accumulator, the value written is the time when the > > first interrupt should be generated > > * Write compartor with period interval for subsequent interrupts > > (http://www.intel.com/hardwaredesign/hpetspec_1.pdf ) > > > > When emulating periodic timer with timers not capable of periodic > > interrupt, driver is adding the period to counter value instead of > > comparator value, which causes slow drift when using this emulation. > > > > Also, driver seems to add hpetp->hp_delta both while setting up > > periodic interrupt and while emulating periodic interrupts with timers > > not capable of doing periodic interrupts. This hp_delta will result in > > slower than expected interrupt rate and should not be used while setting > > the interval. > > > > Do you have any thoughts on which kernel versions this fix should be > merged into, and when? >
Should be OK let this bake for a while and merge this in after .31.
Thanks, Venki
| |