Jesper, here's a patch that actually tries to take teh TSC error really into account, and which I suspect will result (on your machine) in failing the fast PIT calibration.
It also has a few extra printk's for debugging, and to see just what the values are on your machine.
The idea behind the patch is to just keep track of how big the difference was in TSC values between two successive reads of the PIT timer. We only really care about the difference when the MSB turns around, and we only really care about the two end points. The maximum error in TSC estimation will simply be the sum of the differences at those points (d1 and d2).
We can then compare the maximum error with the actual TSC differences between those points, and see if the max error is within 500 ppm. That _should_ mean that it all works - assuming that the PIT itself is running at the correct frequency, of course!
Regardless of whether is succeeds or not, it will print out some debug messages, which will be interesting to see.