Lines Matching defs:tusb_dma

39 	struct tusb_omap_dma	*tusb_dma;
101 struct tusb_omap_dma *tusb_dma = chdat->tusb_dma;
153 if (!tusb_dma->multichannel)
185 struct tusb_omap_dma *tusb_dma = chdat->tusb_dma;
239 if (!tusb_dma->multichannel) {
400 chdat->dma_data = &chdat->tusb_dma->dma_pool[dmareq_nr];
427 struct tusb_omap_dma *tusb_dma;
433 tusb_dma = container_of(c, struct tusb_omap_dma, controller);
434 musb = tusb_dma->controller.musb;
455 chdat->musb = tusb_dma->controller.musb;
456 chdat->tbase = tusb_dma->tbase;
460 chdat->tusb_dma = tusb_dma;
471 if (tusb_dma->multichannel) {
476 chdat->dma_data = &tusb_dma->dma_pool[0];
485 tusb_dma->multichannel ? "shared" : "dedicated",
516 struct tusb_omap_dma *tusb_dma;
519 tusb_dma = container_of(c, struct tusb_omap_dma, controller);
528 if (tusb_dma && tusb_dma->dma_pool[i].chan)
529 dma_release_channel(tusb_dma->dma_pool[i].chan);
532 kfree(tusb_dma);
536 static int tusb_omap_allocate_dma_pool(struct tusb_omap_dma *tusb_dma)
538 struct musb *musb = tusb_dma->controller.musb;
543 struct tusb_dma_data *dma_data = &tusb_dma->dma_pool[i];
550 if (i == 0 || tusb_dma->multichannel) {
573 struct tusb_dma_data *dma_data = &tusb_dma->dma_pool[i];
586 struct tusb_omap_dma *tusb_dma;
599 tusb_dma = kzalloc(sizeof(struct tusb_omap_dma), GFP_KERNEL);
600 if (!tusb_dma)
603 tusb_dma->controller.musb = musb;
604 tusb_dma->tbase = musb->ctrl_base;
606 tusb_dma->controller.channel_alloc = tusb_omap_dma_allocate;
607 tusb_dma->controller.channel_release = tusb_omap_dma_release;
608 tusb_dma->controller.channel_program = tusb_omap_dma_program;
609 tusb_dma->controller.channel_abort = tusb_omap_dma_abort;
612 tusb_dma->multichannel = 1;
632 if (tusb_omap_allocate_dma_pool(tusb_dma))
635 return &tusb_dma->controller;
638 musb_dma_controller_destroy(&tusb_dma->controller);