Lines Matching refs:controller

42 static void dma_controller_stop(struct musb_dma_controller *controller)  in dma_controller_stop()  argument
44 struct musb *musb = controller->private_data; in dma_controller_stop()
48 if (controller->used_channels != 0) { in dma_controller_stop()
49 dev_err(musb->controller, in dma_controller_stop()
53 if (controller->used_channels & (1 << bit)) { in dma_controller_stop()
54 channel = &controller->channel[bit].channel; in dma_controller_stop()
57 if (!controller->used_channels) in dma_controller_stop()
67 struct musb_dma_controller *controller = container_of(c, in dma_channel_allocate() local
68 struct musb_dma_controller, controller); in dma_channel_allocate()
74 if (!(controller->used_channels & (1 << bit))) { in dma_channel_allocate()
75 controller->used_channels |= (1 << bit); in dma_channel_allocate()
76 musb_channel = &(controller->channel[bit]); in dma_channel_allocate()
77 musb_channel->controller = controller; in dma_channel_allocate()
103 musb_channel->controller->used_channels &= in dma_channel_release()
114 struct musb_dma_controller *controller = musb_channel->controller; in configure_channel() local
115 struct musb *musb = controller->private_data; in configure_channel()
116 void __iomem *mbase = controller->base; in configure_channel()
120 dev_dbg(musb->controller, "%p, pkt_sz %d, addr 0x%x, len %d, mode %d\n", in configure_channel()
152 struct musb_dma_controller *controller = musb_channel->controller; in dma_channel_program() local
153 struct musb *musb = controller->private_data; in dma_channel_program()
155 dev_dbg(musb->controller, "ep%d-%s pkt_sz %d, dma_addr 0x%x length %d, mode %d\n", in dma_channel_program()
197 void __iomem *mbase = musb_channel->controller->base; in dma_channel_abort()
198 struct musb *musb = musb_channel->controller->private_data; in dma_channel_abort()
242 struct musb_dma_controller *controller = private_data; in dma_controller_irq() local
243 struct musb *musb = controller->private_data; in dma_controller_irq()
247 void __iomem *mbase = controller->base; in dma_controller_irq()
269 dev_dbg(musb->controller, "spurious DMA irq\n"); in dma_controller_irq()
273 &(controller->channel[bchannel]); in dma_controller_irq()
283 dev_dbg(musb->controller, "int_hsdma = 0x%x\n", int_hsdma); in dma_controller_irq()
292 &(controller->channel[bchannel]); in dma_controller_irq()
310 dev_dbg(musb->controller, "ch %p, 0x%x -> 0x%x (%zu / %d) %s\n", in dma_controller_irq()
362 struct musb_dma_controller *controller = container_of(c, in musbhs_dma_controller_destroy() local
363 struct musb_dma_controller, controller); in musbhs_dma_controller_destroy()
365 dma_controller_stop(controller); in musbhs_dma_controller_destroy()
367 if (controller->irq) in musbhs_dma_controller_destroy()
368 free_irq(controller->irq, c); in musbhs_dma_controller_destroy()
370 kfree(controller); in musbhs_dma_controller_destroy()
377 struct musb_dma_controller *controller; in musbhs_dma_controller_create() local
378 struct device *dev = musb->controller; in musbhs_dma_controller_create()
387 controller = kzalloc(sizeof(*controller), GFP_KERNEL); in musbhs_dma_controller_create()
388 if (!controller) in musbhs_dma_controller_create()
391 controller->channel_count = MUSB_HSDMA_CHANNELS; in musbhs_dma_controller_create()
392 controller->private_data = musb; in musbhs_dma_controller_create()
393 controller->base = base; in musbhs_dma_controller_create()
395 controller->controller.channel_alloc = dma_channel_allocate; in musbhs_dma_controller_create()
396 controller->controller.channel_release = dma_channel_release; in musbhs_dma_controller_create()
397 controller->controller.channel_program = dma_channel_program; in musbhs_dma_controller_create()
398 controller->controller.channel_abort = dma_channel_abort; in musbhs_dma_controller_create()
401 dev_name(musb->controller), &controller->controller)) { in musbhs_dma_controller_create()
403 musb_dma_controller_destroy(&controller->controller); in musbhs_dma_controller_create()
408 controller->irq = irq; in musbhs_dma_controller_create()
410 return &controller->controller; in musbhs_dma_controller_create()