ACPI SCI interrupt mode

Sepherosa Ziehau sepherosa at gmail.com
Wed Apr 13 02:29:23 PDT 2011


Hi all,

I have committed some fixes to the master.

By default, SCI is enabled and is configured as edge/high.  It is
contrary to ACPI standard that SCI is level/low; I have seen some
boxes that SCI is level/high.  Well, you may think that the value in
ACPI MADT's interrupt source override could be used, the answer is
"no", most of the time they are wrong.  So edge/high seems to be the
safest options.

There are two tunables could be used to set SCI trigger mode and polarity:
hw.acpi.sci.trigger (could be "level" or "edge")
hw.acpi.sci.polarity (could be "high" or "low")

They provides four combination that you could try:
level/low (ACPI standard)
edge/high
level/high
edge/low

If you have a working I/O APIC, then both tunables will take effect.
If you have 8259 and ELCR, then only hw.acpi.sci.trigger will take effect.
If you only have 8259, then above two tunables has no effect at all.

If after struggling with all of the above tunables, you still do not
have a working system, then here comes the last resort tunable:
hw.acpi.sci.enabled
Set it to 0 will disable SCI (SCI is enabled by default)

Best Regards,
sephe

-- 
Tomorrow Will Never Die





More information about the Users mailing list