Lines Matching refs:ep
17 rt_err_t rt_pci_ep_mem_array_init(struct rt_pci_ep *ep, in rt_pci_ep_mem_array_init() argument
23 if (!ep || !mems) in rt_pci_ep_mem_array_init()
28 rt_mutex_take(&ep->lock, RT_WAITING_FOREVER); in rt_pci_ep_mem_array_init()
30 ep->mems_nr = mems_nr; in rt_pci_ep_mem_array_init()
31 ep->mems = rt_calloc(mems_nr, sizeof(*ep->mems)); in rt_pci_ep_mem_array_init()
33 if (!ep->mems) in rt_pci_ep_mem_array_init()
40 struct rt_pci_ep_mem *mem = &ep->mems[idx]; in rt_pci_ep_mem_array_init()
60 rt_free(ep->mems[idx].map); in rt_pci_ep_mem_array_init()
62 rt_free(ep->mems); in rt_pci_ep_mem_array_init()
64 ep->mems_nr = 0; in rt_pci_ep_mem_array_init()
65 ep->mems = RT_NULL; in rt_pci_ep_mem_array_init()
68 rt_mutex_release(&ep->lock); in rt_pci_ep_mem_array_init()
73 rt_err_t rt_pci_ep_mem_init(struct rt_pci_ep *ep, in rt_pci_ep_mem_init() argument
78 if (!ep) in rt_pci_ep_mem_init()
87 return rt_pci_ep_mem_array_init(ep, &mem, 1); in rt_pci_ep_mem_init()
139 void *rt_pci_ep_mem_alloc(struct rt_pci_ep *ep, in rt_pci_ep_mem_alloc() argument
144 if (!ep || !out_cpu_addr) in rt_pci_ep_mem_alloc()
149 rt_mutex_take(&ep->lock, RT_WAITING_FOREVER); in rt_pci_ep_mem_alloc()
151 for (rt_size_t idx = 0; idx < ep->mems_nr; ++idx) in rt_pci_ep_mem_alloc()
154 struct rt_pci_ep_mem *mem = &ep->mems[idx]; in rt_pci_ep_mem_alloc()
175 rt_mutex_release(&ep->lock); in rt_pci_ep_mem_alloc()
180 void rt_pci_ep_mem_free(struct rt_pci_ep *ep, in rt_pci_ep_mem_free() argument
183 if (!ep || !vaddr || !size) in rt_pci_ep_mem_free()
188 rt_mutex_take(&ep->lock, RT_WAITING_FOREVER); in rt_pci_ep_mem_free()
190 for (rt_size_t idx = 0; idx < ep->mems_nr; ++idx) in rt_pci_ep_mem_free()
192 struct rt_pci_ep_mem *mem = &ep->mems[idx]; in rt_pci_ep_mem_free()
204 rt_mutex_release(&ep->lock); in rt_pci_ep_mem_free()