On Friday, June 22, 2012 11:24:29 pm Garrett Wollman wrote:
> On my Quanta QSSC-S99Q, the IPMI driver has trouble using the ACPI
> attachment.  It reports:
> 
> ipmi0: <IPMI System Interface> on acpi0
> ipmi0: unknown resource type
> device_attach: ipmi0 attach returned 6
> 
> It then goes on to find it the old-fashioned way as ipmi1, which
> sometimes works and sometiems doesn't.  (Not worrying about that part
> yet -- I think it's a timing issue.)
> 
> Looking at the code, it looks like this can only happen if there are
> neither I/O port nor memory resources defined for this device.
> However, there clearly is one in the AML:
> 
>         Device (MI0)
>         {
>             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
>                     0x0CA3,             // Range Maximum
>                     0x00,               // Alignment
>                     0x02,               // Length
>                     )
>             })
>             Method (_IFT, 0, NotSerialized)
>             {
>                 Return (One)
>             }
> 
>             Method (_SRV, 0, NotSerialized)
>             {
>                 Return (0x0200)
>             }
>         }
> 
> Did the vendor screw this up by writing this as a port range?  Or is
> this perfectly legitimate and just not implemented?

Yes, the vendor screwed this up.  The "range" is a range of valid
starting addresses (not a range from which the entire resource must be
sub-allocated), so what they should have done was used 0xCA2 as
the range maximum.  You can try patching your ASL to change that to
use 0xCA3.  That said, I believe that a true range should only show
up in _PRS, not in _CRS, so we might be able to use your workaround for 
parsing _CRS.  (_CRS should only return assigned resources, so those should 
always be fixed, not variable ranges.)

If you can convince Quanta to fix their BIOS that would be the best
result however.

-- 
John Baldwin
_______________________________________________
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"

Reply via email to