irqroute.asl 1012 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2007-2009 coresystems GmbH
  4. * Copyright (C) 2013 Google Inc.
  5. * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
  6. *
  7. * Modified from coreboot src/soc/intel/baytrail/acpi/irqroute.asl
  8. */
  9. Name(\PICM, 0)
  10. /*
  11. * The _PIC method is called by the OS to choose between interrupt
  12. * routing via the i8259 interrupt controller or the APIC.
  13. *
  14. * _PIC is called with a parameter of 0 for i8259 configuration and
  15. * with a parameter of 1 for Local APIC/IOAPIC configuration.
  16. */
  17. Method(\_PIC, 1)
  18. {
  19. /* Remember the OS' IRQ routing choice */
  20. Store(Arg0, PICM)
  21. }
  22. /* PCI interrupt routing */
  23. Method(_PRT) {
  24. If (PICM) {
  25. Return (Package() {
  26. #undef PIC_MODE
  27. #include "irq_helper.h"
  28. PCI_DEV_PIRQ_ROUTES
  29. })
  30. } Else {
  31. Return (Package() {
  32. #define PIC_MODE
  33. #include "irq_helper.h"
  34. PCI_DEV_PIRQ_ROUTES
  35. })
  36. }
  37. }
  38. /* PCIe downstream ports interrupt routing */
  39. PCIE_BRIDGE_IRQ_ROUTES
  40. #undef PIC_MODE
  41. #include "irq_helper.h"
  42. PCIE_BRIDGE_IRQ_ROUTES