Re: [lm-sensors] Could the k8temp driver be interfering with ACPI?

Jean Delvare
2007-03-03T09:55:44Z

Hi Matthew,

On Fri, 2 Mar 2007 21:12:51 +0000, Matthew Garrett wrote:
> On Fri, Mar 02, 2007 at 10:04:54PM +0100, Jean Delvare wrote:
> > It might be more elegant but it won't work. We don't want to prevent
> > ACPI from accessing these I/O ports. If we need to choose only one
> > "driver" accessing the I/O port, it must be acpi, at leat for now,
> > despite the fact that acpi provides very weak hardware monitoring
> > capabilities compared to the specific drivers.
>
> Assuming arbitration of access, what's the problem with having two
> drivers accessing the same hardware? Do these chips generally have any
> significant internal state other than trip points and the like?

The "assuming arbitration of access" is the key part of your
sentence ;) The problem is that currently no arbitration is done. If it
was done, then state would probably not be a problem. Most hardware
monitoring drivers don't assume any state is preserved between
accesses, and those which do can easily be changed not to. The ACPI
side is another story though, I guess we can't assume anything about
the AML code's assumption on states, as it differs from one machine to
the next. But we can try to be cooperative and restore the sensible
registers (e.g. bank selector) in the same state we found them.

Anyway, just because we can't get things right on 100% of the machines
is no reason not to try anything at all. The current situation is bad,
any improvement would be welcome.

> > Why would we end up with an overestimation if we check the I/O ports at
> > boot time? Do you have concrete cases in mind?
>
> ACPI will often describe large operation regions, but won't necessarily
> touch all of them. Effectively, every codepath would have to be walked
> through at boot time and checked for io access.

Is there anything preventing us from doing such a walk and pre-allocate
all the I/O ranges? I am not familiar with the ACPI code at all, would
you possibly propose a patch doing that?

If we can't do that, the overestimation approach might still work. I
wonder if it would cause problems in practice. If it does, we're back
to Pavel's AML lock.

--
Jean Delvare