Lines Matching full:vhub

3  * aspeed-vhub -- Driver for Aspeed SoC "vHub" USB gadget
27 #include "vhub.h"
340 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_queue() local
347 dev_warn(&vhub->pdev->dev, "Bogus EPn request ! u_req=%p\n", u_req); in ast_vhub_epn_queue()
349 dev_warn(&vhub->pdev->dev, "complete=%p internal=%d\n", in ast_vhub_epn_queue()
381 rc = usb_gadget_map_request_by_dev(&vhub->pdev->dev, u_req, in ast_vhub_epn_queue()
384 dev_warn(&vhub->pdev->dev, in ast_vhub_epn_queue()
403 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_queue()
414 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_queue()
440 dev_warn(&ep->vhub->pdev->dev, "Timeout waiting for DMA\n"); in ast_vhub_stop_active_req()
475 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_dequeue() local
480 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_dequeue()
499 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_dequeue()
518 ep->vhub->regs + AST_VHUB_EP_TOGGLE); in ast_vhub_update_epn_stall()
525 struct ast_vhub *vhub = ep->vhub; in ast_vhub_set_halt_and_wedge() local
537 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
541 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
548 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_set_halt_and_wedge()
566 struct ast_vhub *vhub = ep->vhub; in ast_vhub_epn_disable() local
572 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_disable()
584 ep_ier = readl(vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_disable()
586 writel(ep_ier, vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_disable()
587 writel(imask, vhub->regs + AST_VHUB_EP_ACK_ISR); in ast_vhub_epn_disable()
595 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_disable()
605 struct ast_vhub *vhub; in ast_vhub_epn_enable() local
633 vhub = ep->vhub; in ast_vhub_epn_enable()
699 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_epn_enable()
743 vhub->regs + AST_VHUB_EP_TOGGLE); in ast_vhub_epn_enable()
747 writel(imask, vhub->regs + AST_VHUB_EP_ACK_ISR); in ast_vhub_epn_enable()
748 ep_ier = readl(vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_enable()
750 writel(ep_ier, vhub->regs + AST_VHUB_EP_ACK_IER); in ast_vhub_epn_enable()
755 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_epn_enable()
778 dma_free_coherent(&ep->vhub->pdev->dev, in ast_vhub_epn_dispose()
803 struct ast_vhub *vhub = d->vhub; in ast_vhub_alloc_epn() local
809 spin_lock_irqsave(&vhub->lock, flags); in ast_vhub_alloc_epn()
810 for (i = 0; i < vhub->max_epns; i++) in ast_vhub_alloc_epn()
811 if (vhub->epns[i].dev == NULL) in ast_vhub_alloc_epn()
813 if (i >= vhub->max_epns) { in ast_vhub_alloc_epn()
814 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_alloc_epn()
819 ep = &vhub->epns[i]; in ast_vhub_alloc_epn()
821 spin_unlock_irqrestore(&vhub->lock, flags); in ast_vhub_alloc_epn()
826 ep->vhub = vhub; in ast_vhub_alloc_epn()
831 ep->epn.regs = vhub->regs + 0x200 + (i * 0x10); in ast_vhub_alloc_epn()
833 ep->buf = dma_alloc_coherent(&vhub->pdev->dev, in ast_vhub_alloc_epn()