Lines Matching refs:controller
3 * MUSB OTG driver - support for Mentor's DMA controller
55 struct musb_dma_controller *controller;
65 struct dma_controller controller;
76 static void dma_controller_stop(struct musb_dma_controller *controller)
78 struct musb *musb = controller->private_data;
82 if (controller->used_channels != 0) {
83 dev_err(musb->controller,
84 "Stopping DMA controller while channel active\n");
87 if (controller->used_channels & (1 << bit)) {
88 channel = &controller->channel[bit].channel;
91 if (!controller->used_channels)
101 struct musb_dma_controller *controller = container_of(c,
102 struct musb_dma_controller, controller);
108 if (!(controller->used_channels & (1 << bit))) {
109 controller->used_channels |= (1 << bit);
110 musb_channel = &(controller->channel[bit]);
111 musb_channel->controller = controller;
137 musb_channel->controller->used_channels &=
148 struct musb_dma_controller *controller = musb_channel->controller;
149 struct musb *musb = controller->private_data;
150 void __iomem *mbase = controller->base;
186 struct musb_dma_controller *controller = musb_channel->controller;
187 struct musb *musb = controller->private_data;
223 void __iomem *mbase = musb_channel->controller->base;
224 struct musb *musb = musb_channel->controller->private_data;
268 struct musb_dma_controller *controller = private_data;
269 struct musb *musb = controller->private_data;
273 void __iomem *mbase = controller->base;
294 &(controller->channel[bchannel]);
313 &(controller->channel[bchannel]);
385 struct musb_dma_controller *controller = container_of(c,
386 struct musb_dma_controller, controller);
388 dma_controller_stop(controller);
390 if (controller->irq)
391 free_irq(controller->irq, c);
393 kfree(controller);
400 struct musb_dma_controller *controller;
402 controller = kzalloc(sizeof(*controller), GFP_KERNEL);
403 if (!controller)
406 controller->channel_count = MUSB_HSDMA_CHANNELS;
407 controller->private_data = musb;
408 controller->base = base;
410 controller->controller.channel_alloc = dma_channel_allocate;
411 controller->controller.channel_release = dma_channel_release;
412 controller->controller.channel_program = dma_channel_program;
413 controller->controller.channel_abort = dma_channel_abort;
414 return controller;
420 struct musb_dma_controller *controller;
421 struct device *dev = musb->controller;
430 controller = dma_controller_alloc(musb, base);
431 if (!controller)
435 dev_name(musb->controller), controller)) {
437 musb_dma_controller_destroy(&controller->controller);
442 controller->irq = irq;
444 return &controller->controller;
451 struct musb_dma_controller *controller;
453 controller = dma_controller_alloc(musb, base);
454 if (!controller)
457 return &controller->controller;