Lines Matching refs:epc
47 int pci_epc_multi_mem_init(struct pci_epc *epc, in pci_epc_multi_mem_init() argument
60 epc->num_windows = 0; in pci_epc_multi_mem_init()
65 epc->windows = kcalloc(num_windows, sizeof(*epc->windows), GFP_KERNEL); in pci_epc_multi_mem_init()
66 if (!epc->windows) in pci_epc_multi_mem_init()
98 epc->windows[i] = mem; in pci_epc_multi_mem_init()
101 epc->mem = epc->windows[0]; in pci_epc_multi_mem_init()
102 epc->num_windows = num_windows; in pci_epc_multi_mem_init()
108 mem = epc->windows[i]; in pci_epc_multi_mem_init()
112 kfree(epc->windows); in pci_epc_multi_mem_init()
118 int pci_epc_mem_init(struct pci_epc *epc, phys_addr_t base, in pci_epc_mem_init() argument
127 return pci_epc_multi_mem_init(epc, &mem_window, 1); in pci_epc_mem_init()
138 void pci_epc_mem_exit(struct pci_epc *epc) in pci_epc_mem_exit() argument
143 if (!epc->num_windows) in pci_epc_mem_exit()
146 for (i = 0; i < epc->num_windows; i++) { in pci_epc_mem_exit()
147 mem = epc->windows[i]; in pci_epc_mem_exit()
151 kfree(epc->windows); in pci_epc_mem_exit()
153 epc->windows = NULL; in pci_epc_mem_exit()
154 epc->mem = NULL; in pci_epc_mem_exit()
155 epc->num_windows = 0; in pci_epc_mem_exit()
168 void __iomem *pci_epc_mem_alloc_addr(struct pci_epc *epc, in pci_epc_mem_alloc_addr() argument
179 for (i = 0; i < epc->num_windows; i++) { in pci_epc_mem_alloc_addr()
180 mem = epc->windows[i]; in pci_epc_mem_alloc_addr()
208 static struct pci_epc_mem *pci_epc_get_matching_window(struct pci_epc *epc, in pci_epc_get_matching_window() argument
214 for (i = 0; i < epc->num_windows; i++) { in pci_epc_get_matching_window()
215 mem = epc->windows[i]; in pci_epc_get_matching_window()
234 void pci_epc_mem_free_addr(struct pci_epc *epc, phys_addr_t phys_addr, in pci_epc_mem_free_addr() argument
243 mem = pci_epc_get_matching_window(epc, phys_addr); in pci_epc_mem_free_addr()