Lines Matching refs:controller

117 	c->controller = cppi;  in cppi_pool_init()
136 struct cppi *cppi = c->controller; in cppi_pool_free()
141 c->controller = NULL; in cppi_pool_free()
153 static void cppi_controller_start(struct cppi *controller) in cppi_controller_start() argument
159 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_start()
160 controller->tx[i].transmit = true; in cppi_controller_start()
161 controller->tx[i].index = i; in cppi_controller_start()
163 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) { in cppi_controller_start()
164 controller->rx[i].transmit = false; in cppi_controller_start()
165 controller->rx[i].index = i; in cppi_controller_start()
169 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) in cppi_controller_start()
170 cppi_pool_init(controller, controller->tx + i); in cppi_controller_start()
171 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) in cppi_controller_start()
172 cppi_pool_init(controller, controller->rx + i); in cppi_controller_start()
174 tibase = controller->tibase; in cppi_controller_start()
175 INIT_LIST_HEAD(&controller->tx_complete); in cppi_controller_start()
178 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_start()
179 struct cppi_channel *tx_ch = controller->tx + i; in cppi_controller_start()
188 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) { in cppi_controller_start()
189 struct cppi_channel *rx_ch = controller->rx + i; in cppi_controller_start()
220 static void cppi_controller_stop(struct cppi *controller) in cppi_controller_stop() argument
226 musb = controller->musb; in cppi_controller_stop()
228 tibase = controller->tibase; in cppi_controller_stop()
235 dev_dbg(musb->controller, "Tearing down RX and TX Channels\n"); in cppi_controller_stop()
236 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_stop()
238 controller->tx[i].last_processed = NULL; in cppi_controller_stop()
239 cppi_pool_free(controller->tx + i); in cppi_controller_stop()
241 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) in cppi_controller_stop()
242 cppi_pool_free(controller->rx + i); in cppi_controller_stop()
282 struct cppi *controller; in cppi_channel_allocate() local
288 controller = container_of(c, struct cppi, controller); in cppi_channel_allocate()
289 tibase = controller->tibase; in cppi_channel_allocate()
290 musb = controller->musb; in cppi_channel_allocate()
299 if (index >= ARRAY_SIZE(controller->tx)) { in cppi_channel_allocate()
300 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'T', index); in cppi_channel_allocate()
303 cppi_ch = controller->tx + index; in cppi_channel_allocate()
305 if (index >= ARRAY_SIZE(controller->rx)) { in cppi_channel_allocate()
306 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'R', index); in cppi_channel_allocate()
309 cppi_ch = controller->rx + index; in cppi_channel_allocate()
317 dev_dbg(musb->controller, "re-allocating DMA%d %cX channel %p\n", in cppi_channel_allocate()
323 dev_dbg(musb->controller, "Allocate CPPI%d %cX\n", index, transmit ? 'T' : 'R'); in cppi_channel_allocate()
336 tibase = c->controller->tibase; in cppi_channel_release()
338 dev_dbg(c->controller->musb->controller, in cppi_channel_release()
352 void __iomem *base = c->controller->mregs; in cppi_dump_rx()
357 dev_dbg(c->controller->musb->controller, in cppi_dump_rx()
363 musb_readl(c->controller->tibase, in cppi_dump_rx()
383 void __iomem *base = c->controller->mregs; in cppi_dump_tx()
388 dev_dbg(c->controller->musb->controller, in cppi_dump_tx()
593 dev_dbg(musb->controller, "TX DMA%d, pktSz %d %s bds %d dma 0x%llx len %u\n", in cppi_next_tx_segment()
650 dev_dbg(musb->controller, "TXBD %p: nxt %08x buf %08x len %04x opt %08x\n", in cppi_next_tx_segment()
816 dev_dbg(musb->controller, "RX DMA%d seg, maxp %d %s bds %d (cnt %d) " in cppi_next_rx_segment()
927 dev_dbg(musb->controller, "bufcnt%d underrun - %d (for %d)\n", in cppi_next_rx_segment()
953 struct cppi *controller; in cppi_channel_program() local
957 controller = cppi_ch->controller; in cppi_channel_program()
958 musb = controller->musb; in cppi_channel_program()
976 dev_dbg(musb->controller, "%cX DMA%d not allocated!\n", in cppi_channel_program()
1032 dev_dbg(musb->controller, "C/RXBD %llx: nxt %08x buf %08x " in cppi_rx_scan()
1054 dev_dbg(musb->controller, "rx short %d/%d (%d)\n", in cppi_rx_scan()
1104 dev_dbg(musb->controller, "list%d %p/%p, last %llx%s, csr %04x\n", in cppi_rx_scan()
1152 cppi = container_of(musb->dma_controller, struct cppi, controller); in cppi_interrupt()
1167 dev_dbg(musb->controller, "CPPI IRQ Tx%x Rx%x\n", tx, rx); in cppi_interrupt()
1195 dev_dbg(musb->controller, "null BD\n"); in cppi_interrupt()
1210 dev_dbg(musb->controller, "C/TXBD %p n %x b %x off %x opt %x\n", in cppi_interrupt()
1303 struct cppi *controller; in cppi_dma_controller_create() local
1304 struct device *dev = musb->controller; in cppi_dma_controller_create()
1308 controller = kzalloc(sizeof *controller, GFP_KERNEL); in cppi_dma_controller_create()
1309 if (!controller) in cppi_dma_controller_create()
1312 controller->mregs = mregs; in cppi_dma_controller_create()
1313 controller->tibase = mregs - DAVINCI_BASE_OFFSET; in cppi_dma_controller_create()
1315 controller->musb = musb; in cppi_dma_controller_create()
1316 controller->controller.channel_alloc = cppi_channel_allocate; in cppi_dma_controller_create()
1317 controller->controller.channel_release = cppi_channel_release; in cppi_dma_controller_create()
1318 controller->controller.channel_program = cppi_channel_program; in cppi_dma_controller_create()
1319 controller->controller.channel_abort = cppi_channel_abort; in cppi_dma_controller_create()
1326 controller->pool = dma_pool_create("cppi", in cppi_dma_controller_create()
1327 controller->musb->controller, in cppi_dma_controller_create()
1330 if (!controller->pool) { in cppi_dma_controller_create()
1331 kfree(controller); in cppi_dma_controller_create()
1338 musb_dma_controller_destroy(&controller->controller); in cppi_dma_controller_create()
1341 controller->irq = irq; in cppi_dma_controller_create()
1344 cppi_controller_start(controller); in cppi_dma_controller_create()
1345 return &controller->controller; in cppi_dma_controller_create()
1356 cppi = container_of(c, struct cppi, controller); in cppi_dma_controller_destroy()
1376 struct cppi *controller; in cppi_channel_abort() local
1385 controller = cppi_ch->controller; in cppi_channel_abort()
1405 mbase = controller->mregs; in cppi_channel_abort()
1406 tibase = controller->tibase; in cppi_channel_abort()
1473 if (is_host_active(cppi_ch->controller->musb)) { in cppi_channel_abort()
1482 if (is_host_active(cppi_ch->controller->musb)) { in cppi_channel_abort()
1504 cppi_rx_scan(controller, cppi_ch->index); in cppi_channel_abort()