diff options
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r-- | include/linux/acpi.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index b123cc08773d..b46a5205ee7b 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -206,7 +206,10 @@ struct acpi_table_plat_int_src { | |||
206 | u8 eid; | 206 | u8 eid; |
207 | u8 iosapic_vector; | 207 | u8 iosapic_vector; |
208 | u32 global_irq; | 208 | u32 global_irq; |
209 | u32 reserved; | 209 | struct { |
210 | u32 cpei_override_flag:1; | ||
211 | u32 reserved:31; | ||
212 | } plint_flags; | ||
210 | } __attribute__ ((packed)); | 213 | } __attribute__ ((packed)); |
211 | 214 | ||
212 | enum acpi_interrupt_id { | 215 | enum acpi_interrupt_id { |
@@ -342,11 +345,19 @@ struct acpi_table_ecdt { | |||
342 | 345 | ||
343 | /* PCI MMCONFIG */ | 346 | /* PCI MMCONFIG */ |
344 | 347 | ||
348 | /* Defined in PCI Firmware Specification 3.0 */ | ||
349 | struct acpi_table_mcfg_config { | ||
350 | u32 base_address; | ||
351 | u32 base_reserved; | ||
352 | u16 pci_segment_group_number; | ||
353 | u8 start_bus_number; | ||
354 | u8 end_bus_number; | ||
355 | u8 reserved[4]; | ||
356 | } __attribute__ ((packed)); | ||
345 | struct acpi_table_mcfg { | 357 | struct acpi_table_mcfg { |
346 | struct acpi_table_header header; | 358 | struct acpi_table_header header; |
347 | u8 reserved[8]; | 359 | u8 reserved[8]; |
348 | u32 base_address; | 360 | struct acpi_table_mcfg_config config[0]; |
349 | u32 base_reserved; | ||
350 | } __attribute__ ((packed)); | 361 | } __attribute__ ((packed)); |
351 | 362 | ||
352 | /* Table Handlers */ | 363 | /* Table Handlers */ |
@@ -391,6 +402,7 @@ int acpi_table_parse (enum acpi_table_id id, acpi_table_handler handler); | |||
391 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); | 402 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); |
392 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 403 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
393 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 404 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); |
405 | int acpi_parse_mcfg (unsigned long phys_addr, unsigned long size); | ||
394 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); | 406 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); |
395 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); | 407 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); |
396 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); | 408 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); |
@@ -407,9 +419,13 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu); | |||
407 | int acpi_unmap_lsapic(int cpu); | 419 | int acpi_unmap_lsapic(int cpu); |
408 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 420 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ |
409 | 421 | ||
422 | int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); | ||
423 | int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); | ||
424 | |||
410 | extern int acpi_mp_config; | 425 | extern int acpi_mp_config; |
411 | 426 | ||
412 | extern u32 pci_mmcfg_base_addr; | 427 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; |
428 | extern int pci_mmcfg_config_num; | ||
413 | 429 | ||
414 | extern int sbf_port ; | 430 | extern int sbf_port ; |
415 | 431 | ||
@@ -437,9 +453,7 @@ int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); | |||
437 | * If this matches the last registration, any IRQ resources for gsi | 453 | * If this matches the last registration, any IRQ resources for gsi |
438 | * are freed. | 454 | * are freed. |
439 | */ | 455 | */ |
440 | #ifdef CONFIG_ACPI_DEALLOCATE_IRQ | ||
441 | void acpi_unregister_gsi (u32 gsi); | 456 | void acpi_unregister_gsi (u32 gsi); |
442 | #endif | ||
443 | 457 | ||
444 | #ifdef CONFIG_ACPI_PCI | 458 | #ifdef CONFIG_ACPI_PCI |
445 | 459 | ||
@@ -462,11 +476,9 @@ struct acpi_prt_list { | |||
462 | struct pci_dev; | 476 | struct pci_dev; |
463 | 477 | ||
464 | int acpi_pci_irq_enable (struct pci_dev *dev); | 478 | int acpi_pci_irq_enable (struct pci_dev *dev); |
465 | void acpi_penalize_isa_irq(int irq); | 479 | void acpi_penalize_isa_irq(int irq, int active); |
466 | 480 | ||
467 | #ifdef CONFIG_ACPI_DEALLOCATE_IRQ | ||
468 | void acpi_pci_irq_disable (struct pci_dev *dev); | 481 | void acpi_pci_irq_disable (struct pci_dev *dev); |
469 | #endif | ||
470 | 482 | ||
471 | struct acpi_pci_driver { | 483 | struct acpi_pci_driver { |
472 | struct acpi_pci_driver *next; | 484 | struct acpi_pci_driver *next; |