Lines Matching refs:ux500_channel
66 struct ux500_dma_channel *ux500_channel = channel->private_data; in ux500_dma_callback() local
67 struct musb_hw_ep *hw_ep = ux500_channel->hw_ep; in ux500_dma_callback()
75 ux500_channel->channel.actual_len = ux500_channel->cur_len; in ux500_dma_callback()
76 ux500_channel->channel.status = MUSB_DMA_STATUS_FREE; in ux500_dma_callback()
77 musb_dma_completion(musb, hw_ep->epnum, ux500_channel->is_tx); in ux500_dma_callback()
86 struct ux500_dma_channel *ux500_channel = channel->private_data; in ux500_configure_channel() local
87 struct musb_hw_ep *hw_ep = ux500_channel->hw_ep; in ux500_configure_channel()
88 struct dma_chan *dma_chan = ux500_channel->dma_chan; in ux500_configure_channel()
94 struct musb *musb = ux500_channel->controller->private_data; in ux500_configure_channel()
96 ux500_channel->controller->phy_base); in ux500_configure_channel()
101 len, ux500_channel->is_tx); in ux500_configure_channel()
103 ux500_channel->cur_len = len; in ux500_configure_channel()
111 direction = ux500_channel->is_tx ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; in ux500_configure_channel()
133 ux500_channel->cookie = dma_desc->tx_submit(dma_desc); in ux500_configure_channel()
145 struct ux500_dma_channel *ux500_channel = NULL; in ux500_dma_channel_allocate() local
159 ux500_channel = is_tx ? &(controller->tx_channel[ch_num]) : in ux500_dma_channel_allocate()
163 if (ux500_channel->is_allocated) in ux500_dma_channel_allocate()
166 ux500_channel->hw_ep = hw_ep; in ux500_dma_channel_allocate()
167 ux500_channel->is_allocated = 1; in ux500_dma_channel_allocate()
172 return &(ux500_channel->channel); in ux500_dma_channel_allocate()
177 struct ux500_dma_channel *ux500_channel = channel->private_data; in ux500_dma_channel_release() local
178 struct musb *musb = ux500_channel->controller->private_data; in ux500_dma_channel_release()
180 dev_dbg(musb->controller, "channel=%d\n", ux500_channel->ch_num); in ux500_dma_channel_release()
182 if (ux500_channel->is_allocated) { in ux500_dma_channel_release()
183 ux500_channel->is_allocated = 0; in ux500_dma_channel_release()
224 struct ux500_dma_channel *ux500_channel = channel->private_data; in ux500_dma_channel_abort() local
225 struct ux500_dma_controller *controller = ux500_channel->controller; in ux500_dma_channel_abort()
227 void __iomem *epio = musb->endpoints[ux500_channel->hw_ep->epnum].regs; in ux500_dma_channel_abort()
231 ux500_channel->ch_num, ux500_channel->is_tx); in ux500_dma_channel_abort()
234 if (ux500_channel->is_tx) { in ux500_dma_channel_abort()
248 dmaengine_terminate_all(ux500_channel->dma_chan); in ux500_dma_channel_abort()
256 struct ux500_dma_channel *ux500_channel; in ux500_dma_controller_stop() local
262 ux500_channel = channel->private_data; in ux500_dma_controller_stop()
266 if (ux500_channel->dma_chan) in ux500_dma_controller_stop()
267 dma_release_channel(ux500_channel->dma_chan); in ux500_dma_controller_stop()
272 ux500_channel = channel->private_data; in ux500_dma_controller_stop()
276 if (ux500_channel->dma_chan) in ux500_dma_controller_stop()
277 dma_release_channel(ux500_channel->dma_chan); in ux500_dma_controller_stop()
283 struct ux500_dma_channel *ux500_channel = NULL; in ux500_dma_controller_start() local
317 ux500_channel = &channel_array[ch_num]; in ux500_dma_controller_start()
318 ux500_channel->controller = controller; in ux500_dma_controller_start()
319 ux500_channel->ch_num = ch_num; in ux500_dma_controller_start()
320 ux500_channel->is_tx = is_tx; in ux500_dma_controller_start()
322 dma_channel = &(ux500_channel->channel); in ux500_dma_controller_start()
323 dma_channel->private_data = ux500_channel; in ux500_dma_controller_start()
327 ux500_channel->dma_chan = in ux500_dma_controller_start()
330 if (!ux500_channel->dma_chan) in ux500_dma_controller_start()
331 ux500_channel->dma_chan = in ux500_dma_controller_start()
340 if (!ux500_channel->dma_chan) { in ux500_dma_controller_start()