Lines Matching full:vhub

3  * aspeed-vhub -- Driver for Aspeed SoC "vHub" USB gadget
28 #include "vhub.h"
333 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_queue() local
340 dev_warn(&vhub->pdev->dev, "Bogus EPn request ! u_req=%p\n", u_req); in ast_vhub_epn_queue()
342 dev_warn(&vhub->pdev->dev, "complete=%p internal=%d\n", in ast_vhub_epn_queue()
374 rc = usb_gadget_map_request_by_dev(&vhub->pdev->dev, u_req, in ast_vhub_epn_queue()
377 dev_warn(&vhub->pdev->dev, in ast_vhub_epn_queue()
396 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_queue()
407 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_queue()
433 dev_warn(&ep->vhub->pdev->dev, "Timeout waiting for DMA\n"); in ast_vhub_stop_active_req()
468 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_dequeue() local
473 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_dequeue()
490 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_dequeue()
509 ep->vhub->regs + AST_VHUB_EP_TOGGLE); in ast_vhub_update_epn_stall()
516 struct ast_vhub *vhub = ep->vhub; in ast_vhub_set_halt_and_wedge() local
528 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
532 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
539 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
557 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_disable() local
563 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_disable()
575 ep_ier = readl(vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_disable()
577 writel(ep_ier, vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_disable()
578 writel(imask, vhub->regs + AST_VHUB_EP_ACK_ISR); in ast_vhub_epn_disable()
586 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_disable()
596 struct ast_vhub *vhub; in ast_vhub_epn_enable() local
624 vhub = ep->vhub; in ast_vhub_epn_enable()
690 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_enable()
734 vhub->regs + AST_VHUB_EP_TOGGLE); in ast_vhub_epn_enable()
738 writel(imask, vhub->regs + AST_VHUB_EP_ACK_ISR); in ast_vhub_epn_enable()
739 ep_ier = readl(vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_enable()
741 writel(ep_ier, vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_enable()
746 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_enable()
769 dma_free_coherent(&ep->vhub->pdev->dev, in ast_vhub_epn_dispose()
794 struct ast_vhub *vhub = d->vhub; in ast_vhub_alloc_epn() local
800 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_alloc_epn()
801 for (i = 0; i < vhub->max_epns; i++) in ast_vhub_alloc_epn()
802 if (vhub->epns[i].dev == NULL) in ast_vhub_alloc_epn()
804 if (i >= vhub->max_epns) { in ast_vhub_alloc_epn()
805 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_alloc_epn()
810 ep = &vhub->epns[i]; in ast_vhub_alloc_epn()
812 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_alloc_epn()
817 ep->vhub = vhub; in ast_vhub_alloc_epn()
822 ep->epn.regs = vhub->regs + 0x200 + (i * 0x10); in ast_vhub_alloc_epn()
824 ep->buf = dma_alloc_coherent(&vhub->pdev->dev, in ast_vhub_alloc_epn()