Linux ACPI
 help / color / mirror / Atom feed
* (unknown)
@ 2010-08-16 22:16 Peter Denison
  2010-09-23 17:47 ` ACPI: If an ACPI driver is available for this device, you should use it instead of the native drive Len Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Denison @ 2010-08-16 22:16 UTC (permalink / raw)
  To: linux-acpi

Following the change to strict ACPI resource checking, I'm getting error 
messages about the i2c_i801 driver conflicting:

[    5.892659] i801_smbus 0000:00:1f.3: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    5.892711] ACPI: I/O resource 0000:00:1f.3 [0x400-0x41f] conflicts with ACPI region SMRG [0x400-0x40f]
[    5.892755] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Clearly the resource checking is the right way to go, so I started to 
investigate an ACPI-capable driver for the i801 I2C bus. The i2c-scmi 
driver looks plausible, but doesn't work immediately. (Note that the 
asus_atk0110 driver works fine for the sensors via ACPI, but there are 
other devices on the I2C bus e.g. DIMM SPDs)

The ACPI tables on this box (ASUS P5K-E) don't have a defined EC, or any 
device with PNP0C09, ACPI0001 or ACPI0005 HIDs. They do however, define 
the SMRG region and a series of methods to access the I2C bus.

I'd like some recommendation for the best approach:

a) Tweak the DSDT for myself to provide a device which will conform to a 
standard, then use a standard driver. Obviously not a very palatable 
solution for others.

b) Some form of automatic fixup when the ACPI tables are parsed, although 
the method names appear a little arbitrary - it's not simply a case of a 
missing _HID.

c) Forget about it, use acpi_enforce_resources=lax, and just hope I never 
get an unlocked race (not preferred!)

d) Something else I clearly haven't thought of (most likely)

Clearly the ACPI tables lacking the bus device is a problem fairly 
particular to this hardware, and the fix is likely to be targetted, but 
I'd like to make it as universal as possible. If I can get an ACPI driver 
working, and fix this for more than just myself, then brilliant.

-- 
Peter Denison <peterd at marshadder dot org>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re:  ACPI: If an ACPI driver is available for this device, you should use it instead of the native drive
  2010-08-16 22:16 (unknown) Peter Denison
@ 2010-09-23 17:47 ` Len Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Len Brown @ 2010-09-23 17:47 UTC (permalink / raw)
  To: Peter Denison; +Cc: linux-acpi

On Mon, 16 Aug 2010, Peter Denison wrote:

> Following the change to strict ACPI resource checking, I'm getting error
> messages about the i2c_i801 driver conflicting:
> 
> [    5.892659] i801_smbus 0000:00:1f.3: PCI INT C -> GSI 18 (level, low) ->
> IRQ 18
> [    5.892711] ACPI: I/O resource 0000:00:1f.3 [0x400-0x41f] conflicts with
> ACPI region SMRG [0x400-0x40f]
> [    5.892755] ACPI: If an ACPI driver is available for this device, you
> should use it instead of the native driver
> 
> Clearly the resource checking is the right way to go, so I started to
> investigate an ACPI-capable driver for the i801 I2C bus. The i2c-scmi driver
> looks plausible, but doesn't work immediately. (Note that the asus_atk0110
> driver works fine for the sensors via ACPI, but there are other devices on the
> I2C bus e.g. DIMM SPDs)
> 
> The ACPI tables on this box (ASUS P5K-E) don't have a defined EC, or any
> device with PNP0C09, ACPI0001 or ACPI0005 HIDs. They do however, define the
> SMRG region and a series of methods to access the I2C bus.
> 
> I'd like some recommendation for the best approach:
> 
> a) Tweak the DSDT for myself to provide a device which will conform to a
> standard, then use a standard driver. Obviously not a very palatable solution
> for others.

Avoid hacking a DSDT except for debugging,
because it is a 'solution' that can neither
scale, nor be properly supported.

> b) Some form of automatic fixup when the ACPI tables are parsed, although the
> method names appear a little arbitrary - it's not simply a case of a missing
> _HID.

Conceivable in a platform driver to recognize vendor specific AML,
but in the generic ACPI code, no way.

> c) Forget about it, use acpi_enforce_resources=lax, and just hope I never get
> an unlocked race (not preferred!)

Quite possibly it is safe on this box.
Unfortunately, it is not only un-safe in general, but when it is unsafe
the consequences can be severe.

> d) Something else I clearly haven't thought of (most likely)
> 
> Clearly the ACPI tables lacking the bus device is a problem fairly particular
> to this hardware, and the fix is likely to be targetted, but I'd like to make
> it as universal as possible. If I can get an ACPI driver working, and fix this
> for more than just myself, then brilliant.

cheers,
Len Brown, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-09-23 17:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-16 22:16 (unknown) Peter Denison
2010-09-23 17:47 ` ACPI: If an ACPI driver is available for this device, you should use it instead of the native drive Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox