diff options
author | Ian Munsie <imunsie@au1.ibm.com> | 2014-10-08 04:54:57 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2014-10-08 05:15:44 -0400 |
commit | 80c49c7e4a397bb245d72a78e41640eeb0b6e953 (patch) | |
tree | b11549904a62033262d981e1e981b9ba01ec5bb0 /arch/powerpc/include/asm | |
parent | 1cd258d7faccb330145f08d838608b2c6ad41604 (diff) |
powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
This adds a number of functions for allocating IRQs under powernv PCIe for cxl.
Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm')
-rw-r--r-- | arch/powerpc/include/asm/pnv-pci.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/pnv-pci.h b/arch/powerpc/include/asm/pnv-pci.h new file mode 100644 index 000000000000..f09a22fa1bd7 --- /dev/null +++ b/arch/powerpc/include/asm/pnv-pci.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Copyright 2014 IBM Corp. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #ifndef _ASM_PNV_PCI_H | ||
11 | #define _ASM_PNV_PCI_H | ||
12 | |||
13 | #include <linux/pci.h> | ||
14 | #include <misc/cxl.h> | ||
15 | |||
16 | int pnv_phb_to_cxl(struct pci_dev *dev); | ||
17 | int pnv_cxl_ioda_msi_setup(struct pci_dev *dev, unsigned int hwirq, | ||
18 | unsigned int virq); | ||
19 | int pnv_cxl_alloc_hwirqs(struct pci_dev *dev, int num); | ||
20 | void pnv_cxl_release_hwirqs(struct pci_dev *dev, int hwirq, int num); | ||
21 | int pnv_cxl_get_irq_count(struct pci_dev *dev); | ||
22 | struct device_node *pnv_pci_to_phb_node(struct pci_dev *dev); | ||
23 | |||
24 | #ifdef CONFIG_CXL_BASE | ||
25 | int pnv_cxl_alloc_hwirq_ranges(struct cxl_irq_ranges *irqs, | ||
26 | struct pci_dev *dev, int num); | ||
27 | void pnv_cxl_release_hwirq_ranges(struct cxl_irq_ranges *irqs, | ||
28 | struct pci_dev *dev); | ||
29 | #endif | ||
30 | |||
31 | #endif | ||