Lines Matching refs:dmatest_dev

97 static int rk_pcie_ep_dma_frombus(struct pcie_dw_dmatest_dev *dmatest_dev, u32 chn,  in rk_pcie_ep_dma_frombus()  argument
101 struct dma_trx_obj *obj = dmatest_dev->obj; in rk_pcie_ep_dma_frombus()
111 mutex_lock(&dmatest_dev->rd_lock[chn]); in rk_pcie_ep_dma_frombus()
112 if (dmatest_dev->irq_en) in rk_pcie_ep_dma_frombus()
113 reinit_completion(&dmatest_dev->rd_done[chn]); in rk_pcie_ep_dma_frombus()
124 if (dmatest_dev->irq_en) { in rk_pcie_ep_dma_frombus()
125 ret = wait_for_completion_interruptible_timeout(&dmatest_dev->rd_done[chn], HZ); in rk_pcie_ep_dma_frombus()
133 mutex_unlock(&dmatest_dev->rd_lock[chn]); in rk_pcie_ep_dma_frombus()
140 static int rk_pcie_ep_dma_tobus(struct pcie_dw_dmatest_dev *dmatest_dev, u32 chn, in rk_pcie_ep_dma_tobus() argument
144 struct dma_trx_obj *obj = dmatest_dev->obj; in rk_pcie_ep_dma_tobus()
154 mutex_lock(&dmatest_dev->wr_lock[chn]); in rk_pcie_ep_dma_tobus()
155 if (dmatest_dev->irq_en) in rk_pcie_ep_dma_tobus()
156 reinit_completion(&dmatest_dev->wr_done[chn]); in rk_pcie_ep_dma_tobus()
167 if (dmatest_dev->irq_en) { in rk_pcie_ep_dma_tobus()
168 ret = wait_for_completion_interruptible_timeout(&dmatest_dev->wr_done[chn], HZ); in rk_pcie_ep_dma_tobus()
176 mutex_unlock(&dmatest_dev->wr_lock[chn]); in rk_pcie_ep_dma_tobus()
183 static int rk_pcie_rc_dma_frombus(struct pcie_dw_dmatest_dev *dmatest_dev, u32 chn, in rk_pcie_rc_dma_frombus() argument
186 return rk_pcie_ep_dma_tobus(dmatest_dev, chn, local_paddr, bus_paddr, size); in rk_pcie_rc_dma_frombus()
189 static int rk_pcie_rc_dma_tobus(struct pcie_dw_dmatest_dev *dmatest_dev, u32 chn, in rk_pcie_rc_dma_tobus() argument
192 return rk_pcie_ep_dma_frombus(dmatest_dev, chn, bus_paddr, local_paddr, size); in rk_pcie_rc_dma_tobus()
197 struct pcie_dw_dmatest_dev *dmatest_dev = (struct pcie_dw_dmatest_dev *)obj->priv; in rk_pcie_dma_interrupt_handler_call_back() local
203 complete(&dmatest_dev->rd_done[chn]); in rk_pcie_dma_interrupt_handler_call_back()
205 complete(&dmatest_dev->wr_done[chn]); in rk_pcie_dma_interrupt_handler_call_back()
213 struct pcie_dw_dmatest_dev *dmatest_dev = &s_dmatest_dev[cur_dmatest_dev]; in pcie_dw_dmatest_register() local
221 obj->priv = dmatest_dev; in pcie_dw_dmatest_register()
225 dmatest_dev->obj = obj; in pcie_dw_dmatest_register()
227 init_completion(&dmatest_dev->rd_done[i]); in pcie_dw_dmatest_register()
228 init_completion(&dmatest_dev->wr_done[i]); in pcie_dw_dmatest_register()
229 mutex_init(&dmatest_dev->rd_lock[i]); in pcie_dw_dmatest_register()
230 mutex_init(&dmatest_dev->wr_lock[i]); in pcie_dw_dmatest_register()
234 dmatest_dev->irq_en = irq_en; in pcie_dw_dmatest_register()
240 static int dma_test(struct pcie_dw_dmatest_dev *dmatest_dev, u32 chn, in dma_test() argument
249 struct dma_trx_obj *obj = dmatest_dev->obj; in dma_test()
263 rk_pcie_rc_dma_frombus(dmatest_dev, chn, local_paddr, bus_paddr, size); in dma_test()
265 rk_pcie_ep_dma_frombus(dmatest_dev, chn, local_paddr, bus_paddr, size); in dma_test()
272 rk_pcie_rc_dma_tobus(dmatest_dev, chn, bus_paddr, local_paddr, size); in dma_test()
274 rk_pcie_ep_dma_tobus(dmatest_dev, chn, bus_paddr, local_paddr, size); in dma_test()