ACPI: Altix: ACPI _PRT support
Provide ACPI _PRT support for SN Altix systems. The SN Altix platform does not conform to the IOSAPIC IRQ routing model, so a new acpi_irq_model (ACPI_IRQ_MODEL_PLATFORM) has been defined. The SN platform specific code sets acpi_irq_model to this new value, and keys off of it in acpi_register_gsi() to avoid the iosapic code path. Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
a7ec3f5289
commit
3948ec9406
|
@ -590,6 +590,9 @@ void __init acpi_numa_arch_fixup(void)
|
|||
*/
|
||||
int acpi_register_gsi(u32 gsi, int triggering, int polarity)
|
||||
{
|
||||
if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM)
|
||||
return gsi;
|
||||
|
||||
if (has_8259 && gsi < 16)
|
||||
return isa_irq_to_vector(gsi);
|
||||
|
||||
|
|
|
@ -223,6 +223,9 @@ sn_io_acpi_init(void)
|
|||
u64 result;
|
||||
s64 status;
|
||||
|
||||
/* SN Altix does not follow the IOSAPIC IRQ routing model */
|
||||
acpi_irq_model = ACPI_IRQ_MODEL_PLATFORM;
|
||||
|
||||
acpi_bus_register_driver(&acpi_sn_hubdev_driver);
|
||||
status = sal_ioif_init(&result);
|
||||
if (status || result)
|
||||
|
|
|
@ -561,6 +561,9 @@ static int __init acpi_bus_init_irq(void)
|
|||
case ACPI_IRQ_MODEL_IOSAPIC:
|
||||
message = "IOSAPIC";
|
||||
break;
|
||||
case ACPI_IRQ_MODEL_PLATFORM:
|
||||
message = "platform specific model";
|
||||
break;
|
||||
default:
|
||||
printk(KERN_WARNING PREFIX "Unknown interrupt routing model\n");
|
||||
return -ENODEV;
|
||||
|
|
|
@ -47,6 +47,7 @@ enum acpi_irq_model_id {
|
|||
ACPI_IRQ_MODEL_PIC = 0,
|
||||
ACPI_IRQ_MODEL_IOAPIC,
|
||||
ACPI_IRQ_MODEL_IOSAPIC,
|
||||
ACPI_IRQ_MODEL_PLATFORM,
|
||||
ACPI_IRQ_MODEL_COUNT
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue