Messages in this thread | | | Date | Mon, 26 Jul 2010 22:57:07 +0100 | From | Matthew Garrett <> | Subject | Re: [PATCH] ipmi: Fix ACPI detecting with regspacing |
| |
On Mon, Jul 26, 2010 at 02:48:02PM -0700, Yinghai Lu wrote: > > after the commint that change ipmi_si detecting sequence from SMBIOS/ACPI to ACPI/SMBIOS, > > | commit 754d453185275951d39792865927ec494fa1ebd8 > | Author: Matthew Garrett <mjg@redhat.com> > | Date: Wed May 26 14:43:47 2010 -0700 > | > | ipmi: change device discovery order > | > | The ipmi spec provides an ordering for si discovery. Change the driver to > | match, with the exception of preferring smbios to SPMI as HPs (at least) > | contain accurate information in the former but not the latter. > > ipmi_si can not be initialized. > > [ 138.799739] calling init_ipmi_devintf+0x0/0x109 @ 1 > [ 138.805050] ipmi device interface > [ 138.818131] initcall init_ipmi_devintf+0x0/0x109 returned 0 after 12797 usecs > [ 138.822998] calling init_ipmi_si+0x0/0xa90 @ 1 > [ 138.840276] IPMI System Interface driver. > [ 138.846137] ipmi_si: probing via ACPI > [ 138.849225] ipmi_si 00:09: [io 0x0ca2] regsize 1 spacing 1 irq 0 > [ 138.864438] ipmi_si: Adding ACPI-specified kcs state machine > [ 138.870893] ipmi_si: probing via SMBIOS > [ 138.880945] ipmi_si: Adding SMBIOS-specified kcs state machineipmi_si: duplicate interface > [ 138.896511] ipmi_si: probing via SPMI > [ 138.899861] ipmi_si: Adding SPMI-specified kcs state machineipmi_si: duplicate interface > [ 138.917095] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0 > [ 138.928658] ipmi_si: Interface detection failed > [ 138.953411] initcall init_ipmi_si+0x0/0xa90 returned 0 after 110847 usecs > > in smbios has > DMI/SMBIOS > Handle 0x00C5, DMI type 38, 18 bytes > IPMI Device Information > Interface Type: KCS (Keyboard Control Style) > Specification Version: 2.0 > I2C Slave Address: 0x00 > NV Storage Device: Not Present > Base Address: 0x0000000000000CA2 (I/O) > Register Spacing: 32-bit Boundaries > in DSDT has > Device (BMC) > { > > Name (_HID, EisaId ("IPI0001")) > Method (_STA, 0, NotSerialized) > { > If (LEqual (OSN, Zero)) > { > Return (Zero) > } > > Return (0x0F) > } > > Name (_STR, Unicode ("IPMI_KCS")) > Name (_UID, Zero) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, > 0x0CA2, // Range Minimum > 0x0CA2, // Range Maximum > 0x00, // Alignment > 0x01, // Length > ) > IO (Decode16, > 0x0CA6, // Range Minimum > 0x0CA6, // Range Maximum > 0x00, // Alignment > 0x01, // Length > ) > }) > Method (_IFT, 0, NotSerialized) > { > Return (One) > } > > Method (_SRV, 0, NotSerialized) > { > Return (0x0200) > } > } > so the reg spacing should be 4 instead of 1. > > Try to calculate regspacing for this kind of system. > > Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Matthew Garrett <mjg@redhat.com>
-- Matthew Garrett | mjg59@srcf.ucam.org
| |