Lines Matching refs:glue

134 static void dsps_mod_timer(struct dsps_glue *glue, int wait_ms)  in dsps_mod_timer()  argument
136 struct musb *musb = platform_get_drvdata(glue->musb); in dsps_mod_timer()
140 wait = msecs_to_jiffies(glue->wrp->poll_timeout); in dsps_mod_timer()
150 static void dsps_mod_timer_optional(struct dsps_glue *glue) in dsps_mod_timer_optional() argument
152 if (glue->vbus_irq) in dsps_mod_timer_optional()
155 dsps_mod_timer(glue, -1); in dsps_mod_timer_optional()
171 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_enable() local
172 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_musb_enable()
188 dsps_mod_timer(glue, -1); in dsps_musb_enable()
197 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_disable() local
198 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_musb_disable()
212 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_check_status() local
213 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_check_status()
217 if (glue->vbus_irq) in dsps_check_status()
232 dsps_mod_timer_optional(glue); in dsps_check_status()
240 dsps_mod_timer_optional(glue); in dsps_check_status()
249 if (!glue->vbus_irq) { in dsps_check_status()
265 dsps_mod_timer_optional(glue); in dsps_check_status()
306 struct dsps_glue *glue = dev_get_drvdata(musb->controller->parent); in dsps_musb_clear_ep_rxintr() local
307 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_musb_clear_ep_rxintr()
319 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_interrupt() local
320 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_interrupt()
368 dsps_mod_timer_optional(glue); in dsps_interrupt()
373 dsps_mod_timer_optional(glue); in dsps_interrupt()
396 dsps_mod_timer_optional(glue); in dsps_interrupt()
408 static int dsps_musb_dbg_init(struct musb *musb, struct dsps_glue *glue) in dsps_musb_dbg_init() argument
415 glue->dbgfs_root = root; in dsps_musb_dbg_init()
417 glue->regset.regs = dsps_musb_regs; in dsps_musb_dbg_init()
418 glue->regset.nregs = ARRAY_SIZE(dsps_musb_regs); in dsps_musb_dbg_init()
419 glue->regset.base = musb->ctrl_base; in dsps_musb_dbg_init()
421 debugfs_create_regset32("regdump", S_IRUGO, root, &glue->regset); in dsps_musb_dbg_init()
428 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_init() local
430 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_musb_init()
487 glue->sw_babble_enabled = true; in dsps_musb_init()
492 dsps_mod_timer(glue, -1); in dsps_musb_init()
494 return dsps_musb_dbg_init(musb, glue); in dsps_musb_init()
500 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_exit() local
505 debugfs_remove_recursive(glue->dbgfs_root); in dsps_musb_exit()
513 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_set_mode() local
514 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_musb_set_mode()
550 dev_err(glue->dev, "unsupported mode %d\n", mode); in dsps_musb_set_mode()
611 struct dsps_glue *glue = dev_get_drvdata(dev->parent); in dsps_musb_recover() local
614 if (glue->sw_babble_enabled) in dsps_musb_recover()
644 struct dsps_glue *glue = dev_get_drvdata(musb->controller->parent); in dsps_dma_controller_callback() local
645 void __iomem *usbss_base = glue->usbss_base; in dsps_dma_controller_callback()
657 struct dsps_glue *glue = dev_get_drvdata(musb->controller->parent); in dsps_dma_controller_create() local
658 void __iomem *usbss_base = glue->usbss_base; in dsps_dma_controller_create()
671 static void dsps_dma_controller_suspend(struct dsps_glue *glue) in dsps_dma_controller_suspend() argument
673 void __iomem *usbss_base = glue->usbss_base; in dsps_dma_controller_suspend()
678 static void dsps_dma_controller_resume(struct dsps_glue *glue) in dsps_dma_controller_resume() argument
680 void __iomem *usbss_base = glue->usbss_base; in dsps_dma_controller_resume()
687 static void dsps_dma_controller_suspend(struct dsps_glue *glue) {} in dsps_dma_controller_suspend() argument
688 static void dsps_dma_controller_resume(struct dsps_glue *glue) {} in dsps_dma_controller_resume() argument
722 static int dsps_create_musb_pdev(struct dsps_glue *glue, in dsps_create_musb_pdev() argument
762 glue->musb = musb; in dsps_create_musb_pdev()
823 struct dsps_glue *glue = priv; in dsps_vbus_threaded_irq() local
824 struct musb *musb = platform_get_drvdata(glue->musb); in dsps_vbus_threaded_irq()
829 dev_dbg(glue->dev, "VBUS interrupt\n"); in dsps_vbus_threaded_irq()
830 dsps_mod_timer(glue, 0); in dsps_vbus_threaded_irq()
836 struct dsps_glue *glue) in dsps_setup_optional_vbus_irq() argument
840 glue->vbus_irq = platform_get_irq_byname(pdev, "vbus"); in dsps_setup_optional_vbus_irq()
841 if (glue->vbus_irq == -EPROBE_DEFER) in dsps_setup_optional_vbus_irq()
844 if (glue->vbus_irq <= 0) { in dsps_setup_optional_vbus_irq()
845 glue->vbus_irq = 0; in dsps_setup_optional_vbus_irq()
849 error = devm_request_threaded_irq(glue->dev, glue->vbus_irq, in dsps_setup_optional_vbus_irq()
852 "vbus", glue); in dsps_setup_optional_vbus_irq()
854 glue->vbus_irq = 0; in dsps_setup_optional_vbus_irq()
857 dev_dbg(glue->dev, "VBUS irq %i configured\n", glue->vbus_irq); in dsps_setup_optional_vbus_irq()
866 struct dsps_glue *glue; in dsps_probe() local
883 glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL); in dsps_probe()
884 if (!glue) in dsps_probe()
887 glue->dev = &pdev->dev; in dsps_probe()
888 glue->wrp = wrp; in dsps_probe()
889 glue->usbss_base = of_iomap(pdev->dev.parent->of_node, 0); in dsps_probe()
890 if (!glue->usbss_base) in dsps_probe()
893 platform_set_drvdata(pdev, glue); in dsps_probe()
895 ret = dsps_create_musb_pdev(glue, pdev); in dsps_probe()
900 ret = dsps_setup_optional_vbus_irq(pdev, glue); in dsps_probe()
908 platform_device_unregister(glue->musb); in dsps_probe()
911 iounmap(glue->usbss_base); in dsps_probe()
917 struct dsps_glue *glue = platform_get_drvdata(pdev); in dsps_remove() local
919 platform_device_unregister(glue->musb); in dsps_remove()
922 iounmap(glue->usbss_base); in dsps_remove()
970 struct dsps_glue *glue = dev_get_drvdata(dev); in dsps_suspend() local
971 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_suspend()
972 struct musb *musb = platform_get_drvdata(glue->musb); in dsps_suspend()
989 glue->context.control = musb_readl(mbase, wrp->control); in dsps_suspend()
990 glue->context.epintr = musb_readl(mbase, wrp->epintr_set); in dsps_suspend()
991 glue->context.coreintr = musb_readl(mbase, wrp->coreintr_set); in dsps_suspend()
992 glue->context.phy_utmi = musb_readl(mbase, wrp->phy_utmi); in dsps_suspend()
993 glue->context.mode = musb_readl(mbase, wrp->mode); in dsps_suspend()
994 glue->context.tx_mode = musb_readl(mbase, wrp->tx_mode); in dsps_suspend()
995 glue->context.rx_mode = musb_readl(mbase, wrp->rx_mode); in dsps_suspend()
997 dsps_dma_controller_suspend(glue); in dsps_suspend()
1004 struct dsps_glue *glue = dev_get_drvdata(dev); in dsps_resume() local
1005 const struct dsps_musb_wrapper *wrp = glue->wrp; in dsps_resume()
1006 struct musb *musb = platform_get_drvdata(glue->musb); in dsps_resume()
1012 dsps_dma_controller_resume(glue); in dsps_resume()
1015 musb_writel(mbase, wrp->control, glue->context.control); in dsps_resume()
1016 musb_writel(mbase, wrp->epintr_set, glue->context.epintr); in dsps_resume()
1017 musb_writel(mbase, wrp->coreintr_set, glue->context.coreintr); in dsps_resume()
1018 musb_writel(mbase, wrp->phy_utmi, glue->context.phy_utmi); in dsps_resume()
1019 musb_writel(mbase, wrp->mode, glue->context.mode); in dsps_resume()
1020 musb_writel(mbase, wrp->tx_mode, glue->context.tx_mode); in dsps_resume()
1021 musb_writel(mbase, wrp->rx_mode, glue->context.rx_mode); in dsps_resume()
1024 dsps_mod_timer(glue, -1); in dsps_resume()