aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/pci-epc.h43
1 files changed, 25 insertions, 18 deletions
diff --git a/include/linux/pci-epc.h b/include/linux/pci-epc.h
index f7a04e1af112..e58e2de8936b 100644
--- a/include/linux/pci-epc.h
+++ b/include/linux/pci-epc.h
@@ -39,17 +39,20 @@ enum pci_epc_irq_type {
39 * @owner: the module owner containing the ops 39 * @owner: the module owner containing the ops
40 */ 40 */
41struct pci_epc_ops { 41struct pci_epc_ops {
42 int (*write_header)(struct pci_epc *pci_epc, 42 int (*write_header)(struct pci_epc *epc, u8 func_no,
43 struct pci_epf_header *hdr); 43 struct pci_epf_header *hdr);
44 int (*set_bar)(struct pci_epc *epc, enum pci_barno bar, 44 int (*set_bar)(struct pci_epc *epc, u8 func_no,
45 enum pci_barno bar,
45 dma_addr_t bar_phys, size_t size, int flags); 46 dma_addr_t bar_phys, size_t size, int flags);
46 void (*clear_bar)(struct pci_epc *epc, enum pci_barno bar); 47 void (*clear_bar)(struct pci_epc *epc, u8 func_no,
47 int (*map_addr)(struct pci_epc *epc, phys_addr_t addr, 48 enum pci_barno bar);
48 u64 pci_addr, size_t size); 49 int (*map_addr)(struct pci_epc *epc, u8 func_no,
49 void (*unmap_addr)(struct pci_epc *epc, phys_addr_t addr); 50 phys_addr_t addr, u64 pci_addr, size_t size);
50 int (*set_msi)(struct pci_epc *epc, u8 interrupts); 51 void (*unmap_addr)(struct pci_epc *epc, u8 func_no,
51 int (*get_msi)(struct pci_epc *epc); 52 phys_addr_t addr);
52 int (*raise_irq)(struct pci_epc *pci_epc, 53 int (*set_msi)(struct pci_epc *epc, u8 func_no, u8 interrupts);
54 int (*get_msi)(struct pci_epc *epc, u8 func_no);
55 int (*raise_irq)(struct pci_epc *epc, u8 func_no,
53 enum pci_epc_irq_type type, u8 interrupt_num); 56 enum pci_epc_irq_type type, u8 interrupt_num);
54 int (*start)(struct pci_epc *epc); 57 int (*start)(struct pci_epc *epc);
55 void (*stop)(struct pci_epc *epc); 58 void (*stop)(struct pci_epc *epc);
@@ -124,17 +127,21 @@ void pci_epc_destroy(struct pci_epc *epc);
124int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf); 127int pci_epc_add_epf(struct pci_epc *epc, struct pci_epf *epf);
125void pci_epc_linkup(struct pci_epc *epc); 128void pci_epc_linkup(struct pci_epc *epc);
126void pci_epc_remove_epf(struct pci_epc *epc, struct pci_epf *epf); 129void pci_epc_remove_epf(struct pci_epc *epc, struct pci_epf *epf);
127int pci_epc_write_header(struct pci_epc *epc, struct pci_epf_header *hdr); 130int pci_epc_write_header(struct pci_epc *epc, u8 func_no,
128int pci_epc_set_bar(struct pci_epc *epc, enum pci_barno bar, 131 struct pci_epf_header *hdr);
132int pci_epc_set_bar(struct pci_epc *epc, u8 func_no,
133 enum pci_barno bar,
129 dma_addr_t bar_phys, size_t size, int flags); 134 dma_addr_t bar_phys, size_t size, int flags);
130void pci_epc_clear_bar(struct pci_epc *epc, int bar); 135void pci_epc_clear_bar(struct pci_epc *epc, u8 func_no, int bar);
131int pci_epc_map_addr(struct pci_epc *epc, phys_addr_t phys_addr, 136int pci_epc_map_addr(struct pci_epc *epc, u8 func_no,
137 phys_addr_t phys_addr,
132 u64 pci_addr, size_t size); 138 u64 pci_addr, size_t size);
133void pci_epc_unmap_addr(struct pci_epc *epc, phys_addr_t phys_addr); 139void pci_epc_unmap_addr(struct pci_epc *epc, u8 func_no,
134int pci_epc_set_msi(struct pci_epc *epc, u8 interrupts); 140 phys_addr_t phys_addr);
135int pci_epc_get_msi(struct pci_epc *epc); 141int pci_epc_set_msi(struct pci_epc *epc, u8 func_no, u8 interrupts);
136int pci_epc_raise_irq(struct pci_epc *epc, enum pci_epc_irq_type type, 142int pci_epc_get_msi(struct pci_epc *epc, u8 func_no);
137 u8 interrupt_num); 143int pci_epc_raise_irq(struct pci_epc *epc, u8 func_no,
144 enum pci_epc_irq_type type, u8 interrupt_num);
138int pci_epc_start(struct pci_epc *epc); 145int pci_epc_start(struct pci_epc *epc);
139void pci_epc_stop(struct pci_epc *epc); 146void pci_epc_stop(struct pci_epc *epc);
140struct pci_epc *pci_epc_get(const char *epc_name); 147struct pci_epc *pci_epc_get(const char *epc_name);