Re: [RFC+PATCH] RTC calibration

Dag-Erling Smørgrav
2007-09-11T16:04:19Z

Clemens Koller <clemens.koller@anagramm.de> writes:
> Dag-Erling Smørgrav <des@linpro.no> writes:
> > Without knowing exacly which chip is present, there is no way for the
> > userland calibration tool to know how big a difference a calibration
> > step makes.
> I am not talking about the calibration algorithm and it's quality.

Neither am I.

> I am talking about _how_ the calibration register is addressed from
> userspace. It's a simple register, some bits at address 7 and I would
> expect to read/modify/write registers to do all the things you want
> to do. Register access in userspace doesn't put any limitation
> to applications.

It requires the application to know the hardware intimately.

Calibration of the M41T11 is implemented using the lower 6 bits of
register 7; this is not necessarily the case for other existing or
future chips.

Let's say I normalize this to [-128;127]; an application that tried to
speed up the clock would waste several hours increasing the
calibration value from 0 to 1, 2, 3 before seeing an effect after
increasing it to 4. And how do I normalize the assymetric range of
the M41T11?

> Having only incs and decs without getting the actual value back seems
> to be an absolutely unnecessary limitation here.
> You cannot get the current value back to see if it's i.e. in saturation in
> a way that it doesn't make sense to inc/decrement it further or in bigger steps
> or reset it to zero...

The driver will return EINVAL if you try to increment or decrement the
calibration register beyond its limits.