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()
155 struct cppi *controller; in cppi_controller_start() local
159 controller = container_of(c, struct cppi, controller); in cppi_controller_start()
162 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_start()
163 controller->tx[i].transmit = true; in cppi_controller_start()
164 controller->tx[i].index = i; in cppi_controller_start()
166 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) { in cppi_controller_start()
167 controller->rx[i].transmit = false; in cppi_controller_start()
168 controller->rx[i].index = i; in cppi_controller_start()
172 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) in cppi_controller_start()
173 cppi_pool_init(controller, controller->tx + i); in cppi_controller_start()
174 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) in cppi_controller_start()
175 cppi_pool_init(controller, controller->rx + i); in cppi_controller_start()
177 tibase = controller->tibase; in cppi_controller_start()
178 INIT_LIST_HEAD(&controller->tx_complete); in cppi_controller_start()
181 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_start()
182 struct cppi_channel *tx_ch = controller->tx + i; in cppi_controller_start()
191 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) { in cppi_controller_start()
192 struct cppi_channel *rx_ch = controller->rx + i; in cppi_controller_start()
227 struct cppi *controller; in cppi_controller_stop() local
232 controller = container_of(c, struct cppi, controller); in cppi_controller_stop()
233 musb = controller->musb; in cppi_controller_stop()
235 tibase = controller->tibase; in cppi_controller_stop()
242 dev_dbg(musb->controller, "Tearing down RX and TX Channels\n"); in cppi_controller_stop()
243 for (i = 0; i < ARRAY_SIZE(controller->tx); i++) { in cppi_controller_stop()
245 controller->tx[i].last_processed = NULL; in cppi_controller_stop()
246 cppi_pool_free(controller->tx + i); in cppi_controller_stop()
248 for (i = 0; i < ARRAY_SIZE(controller->rx); i++) in cppi_controller_stop()
249 cppi_pool_free(controller->rx + i); in cppi_controller_stop()
291 struct cppi *controller; in cppi_channel_allocate() local
297 controller = container_of(c, struct cppi, controller); in cppi_channel_allocate()
298 tibase = controller->tibase; in cppi_channel_allocate()
299 musb = controller->musb; in cppi_channel_allocate()
308 if (index >= ARRAY_SIZE(controller->tx)) { in cppi_channel_allocate()
309 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'T', index); in cppi_channel_allocate()
312 cppi_ch = controller->tx + index; in cppi_channel_allocate()
314 if (index >= ARRAY_SIZE(controller->rx)) { in cppi_channel_allocate()
315 dev_dbg(musb->controller, "no %cX%d CPPI channel\n", 'R', index); in cppi_channel_allocate()
318 cppi_ch = controller->rx + index; in cppi_channel_allocate()
326 dev_dbg(musb->controller, "re-allocating DMA%d %cX channel %p\n", in cppi_channel_allocate()
332 dev_dbg(musb->controller, "Allocate CPPI%d %cX\n", index, transmit ? 'T' : 'R'); in cppi_channel_allocate()
345 tibase = c->controller->tibase; in cppi_channel_release()
347 dev_dbg(c->controller->musb->controller, in cppi_channel_release()
361 void __iomem *base = c->controller->mregs; in cppi_dump_rx()
366 dev_dbg(c->controller->musb->controller, in cppi_dump_rx()
372 musb_readl(c->controller->tibase, in cppi_dump_rx()
392 void __iomem *base = c->controller->mregs; in cppi_dump_tx()
397 dev_dbg(c->controller->musb->controller, in cppi_dump_tx()
602 dev_dbg(musb->controller, "TX DMA%d, pktSz %d %s bds %d dma 0x%llx len %u\n", in cppi_next_tx_segment()
659 dev_dbg(musb->controller, "TXBD %p: nxt %08x buf %08x len %04x opt %08x\n", in cppi_next_tx_segment()
825 dev_dbg(musb->controller, "RX DMA%d seg, maxp %d %s bds %d (cnt %d) " in cppi_next_rx_segment()
936 dev_dbg(musb->controller, "bufcnt%d underrun - %d (for %d)\n", in cppi_next_rx_segment()
962 struct cppi *controller; in cppi_channel_program() local
966 controller = cppi_ch->controller; in cppi_channel_program()
967 musb = controller->musb; in cppi_channel_program()
985 dev_dbg(musb->controller, "%cX DMA%d not allocated!\n", in cppi_channel_program()
1041 dev_dbg(musb->controller, "C/RXBD %llx: nxt %08x buf %08x " in cppi_rx_scan()
1063 dev_dbg(musb->controller, "rx short %d/%d (%d)\n", in cppi_rx_scan()
1113 dev_dbg(musb->controller, "list%d %p/%p, last %llx%s, csr %04x\n", in cppi_rx_scan()
1161 cppi = container_of(musb->dma_controller, struct cppi, controller); in cppi_interrupt()
1176 dev_dbg(musb->controller, "CPPI IRQ Tx%x Rx%x\n", tx, rx); in cppi_interrupt()
1204 dev_dbg(musb->controller, "null BD\n"); in cppi_interrupt()
1219 dev_dbg(musb->controller, "C/TXBD %p n %x b %x off %x opt %x\n", in cppi_interrupt()
1311 struct cppi *controller; in dma_controller_create() local
1312 struct device *dev = musb->controller; in dma_controller_create()
1316 controller = kzalloc(sizeof *controller, GFP_KERNEL); in dma_controller_create()
1317 if (!controller) in dma_controller_create()
1320 controller->mregs = mregs; in dma_controller_create()
1321 controller->tibase = mregs - DAVINCI_BASE_OFFSET; in dma_controller_create()
1323 controller->musb = musb; in dma_controller_create()
1324 controller->controller.start = cppi_controller_start; in dma_controller_create()
1325 controller->controller.stop = cppi_controller_stop; in dma_controller_create()
1326 controller->controller.channel_alloc = cppi_channel_allocate; in dma_controller_create()
1327 controller->controller.channel_release = cppi_channel_release; in dma_controller_create()
1328 controller->controller.channel_program = cppi_channel_program; in dma_controller_create()
1329 controller->controller.channel_abort = cppi_channel_abort; in dma_controller_create()
1336 controller->pool = dma_pool_create("cppi", in dma_controller_create()
1337 controller->musb->controller, in dma_controller_create()
1340 if (!controller->pool) { in dma_controller_create()
1341 kfree(controller); in dma_controller_create()
1348 dma_controller_destroy(&controller->controller); in dma_controller_create()
1351 controller->irq = irq; in dma_controller_create()
1354 return &controller->controller; in dma_controller_create()
1364 cppi = container_of(c, struct cppi, controller); in dma_controller_destroy()
1381 struct cppi *controller; in cppi_channel_abort() local
1390 controller = cppi_ch->controller; in cppi_channel_abort()
1410 mbase = controller->mregs; in cppi_channel_abort()
1411 tibase = controller->tibase; in cppi_channel_abort()
1478 if (is_host_active(cppi_ch->controller->musb)) { in cppi_channel_abort()
1487 if (is_host_active(cppi_ch->controller->musb)) { in cppi_channel_abort()
1509 cppi_rx_scan(controller, cppi_ch->index); in cppi_channel_abort()