Lines Matching refs:cdns
1916 struct cdns *cdns = dev_get_drvdata(priv_dev->dev); in cdns3_device_irq_handler() local
1920 if (cdns->in_lpm) in cdns3_device_irq_handler()
3245 static void cdns3_gadget_exit(struct cdns *cdns) in cdns3_gadget_exit() argument
3249 priv_dev = cdns->gadget_dev; in cdns3_gadget_exit()
3252 pm_runtime_mark_last_busy(cdns->dev); in cdns3_gadget_exit()
3253 pm_runtime_put_autosuspend(cdns->dev); in cdns3_gadget_exit()
3256 devm_free_irq(cdns->dev, cdns->dev_irq, priv_dev); in cdns3_gadget_exit()
3279 cdns->gadget_dev = NULL; in cdns3_gadget_exit()
3280 cdns_drd_gadget_off(cdns); in cdns3_gadget_exit()
3283 static int cdns3_gadget_start(struct cdns *cdns) in cdns3_gadget_start() argument
3293 usb_initialize_gadget(cdns->dev, &priv_dev->gadget, in cdns3_gadget_start()
3295 cdns->gadget_dev = priv_dev; in cdns3_gadget_start()
3296 priv_dev->sysdev = cdns->dev; in cdns3_gadget_start()
3297 priv_dev->dev = cdns->dev; in cdns3_gadget_start()
3298 priv_dev->regs = cdns->dev_regs; in cdns3_gadget_start()
3312 max_speed = usb_get_maximum_speed(cdns->dev); in cdns3_gadget_start()
3321 dev_err(cdns->dev, "invalid maximum_speed parameter %d\n", in cdns3_gadget_start()
3336 priv_dev->gadget.irq = cdns->dev_irq; in cdns3_gadget_start()
3409 cdns->gadget_dev = NULL; in cdns3_gadget_start()
3413 static int __cdns3_gadget_init(struct cdns *cdns) in __cdns3_gadget_init() argument
3418 ret = dma_set_mask_and_coherent(cdns->dev, DMA_BIT_MASK(32)); in __cdns3_gadget_init()
3420 dev_err(cdns->dev, "Failed to set dma mask: %d\n", ret); in __cdns3_gadget_init()
3424 cdns_drd_gadget_on(cdns); in __cdns3_gadget_init()
3425 pm_runtime_get_sync(cdns->dev); in __cdns3_gadget_init()
3427 ret = cdns3_gadget_start(cdns); in __cdns3_gadget_init()
3429 pm_runtime_put_sync(cdns->dev); in __cdns3_gadget_init()
3437 ret = devm_request_threaded_irq(cdns->dev, cdns->dev_irq, in __cdns3_gadget_init()
3440 IRQF_SHARED, dev_name(cdns->dev), in __cdns3_gadget_init()
3441 cdns->gadget_dev); in __cdns3_gadget_init()
3448 cdns3_gadget_exit(cdns); in __cdns3_gadget_init()
3452 static int cdns3_gadget_suspend(struct cdns *cdns, bool do_wakeup) in cdns3_gadget_suspend() argument
3453 __must_hold(&cdns->lock) in cdns3_gadget_suspend()
3455 struct cdns3_device *priv_dev = cdns->gadget_dev; in cdns3_gadget_suspend()
3457 spin_unlock(&cdns->lock); in cdns3_gadget_suspend()
3459 spin_lock(&cdns->lock); in cdns3_gadget_suspend()
3471 static int cdns3_gadget_resume(struct cdns *cdns, bool hibernated) in cdns3_gadget_resume() argument
3473 struct cdns3_device *priv_dev = cdns->gadget_dev; in cdns3_gadget_resume()
3492 int cdns3_gadget_init(struct cdns *cdns) in cdns3_gadget_init() argument
3496 rdrv = devm_kzalloc(cdns->dev, sizeof(*rdrv), GFP_KERNEL); in cdns3_gadget_init()
3506 cdns->roles[USB_ROLE_DEVICE] = rdrv; in cdns3_gadget_init()