All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Hancock <hancockrwd@gmail.com>
To: Jean Delvare <khali@linux-fr.org>
Cc: Michael Zintakis <michael.zintakis@googlemail.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	linux-acpi@vger.kernel.org, Len Brown <lenb@kernel.org>,
	lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] Fintek f71882fg ACPI conflict
Date: Thu, 28 Jun 2012 23:35:47 -0600	[thread overview]
Message-ID: <4FED3EB3.4000602@gmail.com> (raw)
In-Reply-To: <20120628152754.2ab6697a@endymion.delvare>

On 06/28/2012 07:27 AM, Jean Delvare wrote:
> On Thu, 28 Jun 2012 13:53:49 +0100, Michael Zintakis wrote:
>> In the meantime, considering the specifics of my particular case and the
>> memory regions involved (again, I think they are 0x290-0x297, a total of
>> 8 bytes in length according to the driver, though if someone more
>> knowledgeable in the f71882fg driver specifics know otherwise, please
>> feel free to correct this if that assumption is wrong), would it be
>> possible to manually hack into the ACPI code and forcefully prevent it
>> from claiming those memory regions and not get involved in "managing"
>> that particular device?
>
> Not that I know of. That would rather be a question for the ACPI
> people, but I'm afraid the answer is that ACPI is supposed to be the
> best thing since sliced bread and you should just let it do its stuff
> and not ask questions :( I too would love to be able to tell ACPI to
> let my hardware monitoring chip (and/or SMBus controller) alone.

The ACPI conflict gets triggered when the BIOS AML code creates an 
operation region to access the same device that the driver is trying to 
bind to. There apparently are some BIOSes that do this and yet don't use 
it to actually access the hardware monitoring chip. In this case there 
is no true conflict and the acpi_enforce_resources=lax option is safe to 
use. Unfortunately there's really no way for the kernel to tell whether 
or not this is the case.

In this case, however, where the BIOS does in fact expose an ACPI 
thermal zone and relies on AML code to perform fan control, etc. then it 
seems quite likely that it's not safe to access the same hardware 
monitoring controller while AML code may be doing so at the same time. 
The only way I can see that you could make ACPI "leave the hardware 
monitoring chip alone" is to either have the kernel block its accesses 
(quite likely breaking all fan/temperature control) or disable ACPI 
entirely (in this case the BIOS likely either leaves the fan control in 
"run at max speed always" mode or uses SMIs to gain control where needed 
to adjust fan speeds, which causes the same concurrent access problem).

WARNING: multiple messages have this Message-ID (diff)
From: Robert Hancock <hancockrwd@gmail.com>
To: Jean Delvare <khali@linux-fr.org>
Cc: Michael Zintakis <michael.zintakis@googlemail.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	linux-acpi@vger.kernel.org, Len Brown <lenb@kernel.org>,
	lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] Fintek f71882fg ACPI conflict
Date: Fri, 29 Jun 2012 05:35:47 +0000	[thread overview]
Message-ID: <4FED3EB3.4000602@gmail.com> (raw)
In-Reply-To: <20120628152754.2ab6697a@endymion.delvare>

On 06/28/2012 07:27 AM, Jean Delvare wrote:
> On Thu, 28 Jun 2012 13:53:49 +0100, Michael Zintakis wrote:
>> In the meantime, considering the specifics of my particular case and the
>> memory regions involved (again, I think they are 0x290-0x297, a total of
>> 8 bytes in length according to the driver, though if someone more
>> knowledgeable in the f71882fg driver specifics know otherwise, please
>> feel free to correct this if that assumption is wrong), would it be
>> possible to manually hack into the ACPI code and forcefully prevent it
>> from claiming those memory regions and not get involved in "managing"
>> that particular device?
>
> Not that I know of. That would rather be a question for the ACPI
> people, but I'm afraid the answer is that ACPI is supposed to be the
> best thing since sliced bread and you should just let it do its stuff
> and not ask questions :( I too would love to be able to tell ACPI to
> let my hardware monitoring chip (and/or SMBus controller) alone.

The ACPI conflict gets triggered when the BIOS AML code creates an 
operation region to access the same device that the driver is trying to 
bind to. There apparently are some BIOSes that do this and yet don't use 
it to actually access the hardware monitoring chip. In this case there 
is no true conflict and the acpi_enforce_resources=lax option is safe to 
use. Unfortunately there's really no way for the kernel to tell whether 
or not this is the case.

In this case, however, where the BIOS does in fact expose an ACPI 
thermal zone and relies on AML code to perform fan control, etc. then it 
seems quite likely that it's not safe to access the same hardware 
monitoring controller while AML code may be doing so at the same time. 
The only way I can see that you could make ACPI "leave the hardware 
monitoring chip alone" is to either have the kernel block its accesses 
(quite likely breaking all fan/temperature control) or disable ACPI 
entirely (in this case the BIOS likely either leaves the fan control in 
"run at max speed always" mode or uses SMIs to gain control where needed 
to adjust fan speeds, which causes the same concurrent access problem).

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

  reply	other threads:[~2012-06-29  5:35 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-26 23:56 [lm-sensors] Fintek f71882fg ACPI conflict Michael Zintakis
2012-06-27 17:15 ` Guenter Roeck
2012-06-27 17:15   ` [lm-sensors] " Guenter Roeck
2012-06-27 23:00   ` Michael Zintakis
2012-06-27 23:00     ` Michael Zintakis
2012-06-28  1:45     ` Matthew Garrett
2012-06-28  1:45       ` Matthew Garrett
2012-06-28 11:15       ` Michael Zintakis
2012-06-28 11:15         ` Michael Zintakis
2012-06-28 12:40         ` Jean Delvare
2012-06-28 12:40           ` Jean Delvare
2012-06-28 12:53           ` Michael Zintakis
2012-06-28 12:53             ` Michael Zintakis
2012-06-28 13:27             ` Jean Delvare
2012-06-28 13:27               ` Jean Delvare
2012-06-29  5:35               ` Robert Hancock [this message]
2012-06-29  5:35                 ` Robert Hancock
2012-06-29 12:11                 ` Michael Zintakis
2012-06-29 12:11                   ` Michael Zintakis
2012-06-29 16:34                   ` Guenter Roeck
2012-06-29 16:34                     ` Guenter Roeck
2012-06-28  5:20     ` Guenter Roeck
2012-06-28  5:20       ` Guenter Roeck
2012-06-28 11:31       ` Michael Zintakis
2012-06-28 11:31         ` Michael Zintakis
2012-06-28 17:12         ` Guenter Roeck
2012-06-28 17:12           ` Guenter Roeck
2012-06-28 17:39           ` Michael Zintakis
2012-06-28 17:39             ` Michael Zintakis
2012-06-28 18:57             ` Guenter Roeck
2012-06-28 18:57               ` Guenter Roeck
2012-06-28  3:15 ` Andrey Repin
2012-06-28 11:36 ` Michael Zintakis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FED3EB3.4000602@gmail.com \
    --to=hancockrwd@gmail.com \
    --cc=khali@linux-fr.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=michael.zintakis@googlemail.com \
    --cc=mjg59@srcf.ucam.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.