whc 17 drivers/staging/wusbcore/host/whci/asl.c static void qset_get_next_prev(struct whc *whc, struct whc_qset *qset, whc 22 drivers/staging/wusbcore/host/whci/asl.c BUG_ON(list_empty(&whc->async_list)); whc 25 drivers/staging/wusbcore/host/whci/asl.c if (n == &whc->async_list) whc 28 drivers/staging/wusbcore/host/whci/asl.c if (p == &whc->async_list) whc 36 drivers/staging/wusbcore/host/whci/asl.c static void asl_qset_insert_begin(struct whc *whc, struct whc_qset *qset) whc 38 drivers/staging/wusbcore/host/whci/asl.c list_move(&qset->list_node, &whc->async_list); whc 42 drivers/staging/wusbcore/host/whci/asl.c static void asl_qset_insert(struct whc *whc, struct whc_qset *qset) whc 46 drivers/staging/wusbcore/host/whci/asl.c qset_clear(whc, qset); whc 49 drivers/staging/wusbcore/host/whci/asl.c qset_get_next_prev(whc, qset, &next, &prev); whc 55 drivers/staging/wusbcore/host/whci/asl.c static void asl_qset_remove(struct whc *whc, struct whc_qset *qset) whc 59 drivers/staging/wusbcore/host/whci/asl.c qset_get_next_prev(whc, qset, &next, &prev); whc 61 drivers/staging/wusbcore/host/whci/asl.c list_move(&qset->list_node, &whc->async_removed_list); whc 68 drivers/staging/wusbcore/host/whci/asl.c if (list_empty(&whc->async_list)) whc 86 drivers/staging/wusbcore/host/whci/asl.c static uint32_t process_qset(struct whc *whc, struct whc_qset *qset) whc 105 drivers/staging/wusbcore/host/whci/asl.c process_halted_qtd(whc, qset, td); whc 114 drivers/staging/wusbcore/host/whci/asl.c process_inactive_qtd(whc, qset, td); whc 118 drivers/staging/wusbcore/host/whci/asl.c update |= qset_add_qtds(whc, qset); whc 126 drivers/staging/wusbcore/host/whci/asl.c asl_qset_remove(whc, qset); whc 132 drivers/staging/wusbcore/host/whci/asl.c void asl_start(struct whc *whc) whc 136 drivers/staging/wusbcore/host/whci/asl.c qset = list_first_entry(&whc->async_list, struct whc_qset, list_node); whc 138 drivers/staging/wusbcore/host/whci/asl.c le_writeq(qset->qset_dma | QH_LINK_NTDS(8), whc->base + WUSBASYNCLISTADDR); whc 140 drivers/staging/wusbcore/host/whci/asl.c whc_write_wusbcmd(whc, WUSBCMD_ASYNC_EN, WUSBCMD_ASYNC_EN); whc 141 drivers/staging/wusbcore/host/whci/asl.c whci_wait_for(&whc->umc->dev, whc->base + WUSBSTS, whc 146 drivers/staging/wusbcore/host/whci/asl.c void asl_stop(struct whc *whc) whc 148 drivers/staging/wusbcore/host/whci/asl.c whc_write_wusbcmd(whc, WUSBCMD_ASYNC_EN, 0); whc 149 drivers/staging/wusbcore/host/whci/asl.c whci_wait_for(&whc->umc->dev, whc->base + WUSBSTS, whc 163 drivers/staging/wusbcore/host/whci/asl.c void asl_update(struct whc *whc, uint32_t wusbcmd) whc 165 drivers/staging/wusbcore/host/whci/asl.c struct wusbhc *wusbhc = &whc->wusbhc; whc 170 drivers/staging/wusbcore/host/whci/asl.c whc_write_wusbcmd(whc, wusbcmd, wusbcmd); whc 172 drivers/staging/wusbcore/host/whci/asl.c whc->async_list_wq, whc 173 drivers/staging/wusbcore/host/whci/asl.c (le_readl(whc->base + WUSBCMD) & WUSBCMD_ASYNC_UPDATED) == 0, whc 176 drivers/staging/wusbcore/host/whci/asl.c whc_hw_error(whc, "ASL update timeout"); whc 191 drivers/staging/wusbcore/host/whci/asl.c struct whc *whc = container_of(work, struct whc, async_work); whc 195 drivers/staging/wusbcore/host/whci/asl.c spin_lock_irq(&whc->lock); whc 201 drivers/staging/wusbcore/host/whci/asl.c list_for_each_entry_safe_reverse(qset, t, &whc->async_list, list_node) { whc 203 drivers/staging/wusbcore/host/whci/asl.c asl_qset_insert(whc, qset); whc 207 drivers/staging/wusbcore/host/whci/asl.c update |= process_qset(whc, qset); whc 210 drivers/staging/wusbcore/host/whci/asl.c spin_unlock_irq(&whc->lock); whc 216 drivers/staging/wusbcore/host/whci/asl.c asl_update(whc, wusbcmd); whc 226 drivers/staging/wusbcore/host/whci/asl.c spin_lock_irq(&whc->lock); whc 228 drivers/staging/wusbcore/host/whci/asl.c list_for_each_entry_safe(qset, t, &whc->async_removed_list, list_node) { whc 229 drivers/staging/wusbcore/host/whci/asl.c qset_remove_complete(whc, qset); whc 231 drivers/staging/wusbcore/host/whci/asl.c qset_reset(whc, qset); whc 233 drivers/staging/wusbcore/host/whci/asl.c asl_qset_insert_begin(whc, qset); whc 234 drivers/staging/wusbcore/host/whci/asl.c queue_work(whc->workqueue, &whc->async_work); whc 239 drivers/staging/wusbcore/host/whci/asl.c spin_unlock_irq(&whc->lock); whc 252 drivers/staging/wusbcore/host/whci/asl.c int asl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags) whc 258 drivers/staging/wusbcore/host/whci/asl.c spin_lock_irqsave(&whc->lock, flags); whc 260 drivers/staging/wusbcore/host/whci/asl.c err = usb_hcd_link_urb_to_ep(&whc->wusbhc.usb_hcd, urb); whc 262 drivers/staging/wusbcore/host/whci/asl.c spin_unlock_irqrestore(&whc->lock, flags); whc 266 drivers/staging/wusbcore/host/whci/asl.c qset = get_qset(whc, urb, GFP_ATOMIC); whc 270 drivers/staging/wusbcore/host/whci/asl.c err = qset_add_urb(whc, qset, urb, GFP_ATOMIC); whc 273 drivers/staging/wusbcore/host/whci/asl.c asl_qset_insert_begin(whc, qset); whc 275 drivers/staging/wusbcore/host/whci/asl.c usb_hcd_unlink_urb_from_ep(&whc->wusbhc.usb_hcd, urb); whc 277 drivers/staging/wusbcore/host/whci/asl.c spin_unlock_irqrestore(&whc->lock, flags); whc 280 drivers/staging/wusbcore/host/whci/asl.c queue_work(whc->workqueue, &whc->async_work); whc 295 drivers/staging/wusbcore/host/whci/asl.c int asl_urb_dequeue(struct whc *whc, struct urb *urb, int status) whc 304 drivers/staging/wusbcore/host/whci/asl.c spin_lock_irqsave(&whc->lock, flags); whc 306 drivers/staging/wusbcore/host/whci/asl.c ret = usb_hcd_check_unlink_urb(&whc->wusbhc.usb_hcd, urb, status); whc 314 drivers/staging/wusbcore/host/whci/asl.c qset_free_std(whc, std); whc 320 drivers/staging/wusbcore/host/whci/asl.c asl_qset_remove(whc, qset); whc 323 drivers/staging/wusbcore/host/whci/asl.c queue_work(whc->workqueue, &wurb->dequeue_work); whc 325 drivers/staging/wusbcore/host/whci/asl.c qset_remove_urb(whc, qset, urb, status); whc 327 drivers/staging/wusbcore/host/whci/asl.c spin_unlock_irqrestore(&whc->lock, flags); whc 335 drivers/staging/wusbcore/host/whci/asl.c void asl_qset_delete(struct whc *whc, struct whc_qset *qset) whc 338 drivers/staging/wusbcore/host/whci/asl.c queue_work(whc->workqueue, &whc->async_work); whc 339 drivers/staging/wusbcore/host/whci/asl.c qset_delete(whc, qset); whc 348 drivers/staging/wusbcore/host/whci/asl.c int asl_init(struct whc *whc) whc 352 drivers/staging/wusbcore/host/whci/asl.c qset = qset_alloc(whc, GFP_KERNEL); whc 356 drivers/staging/wusbcore/host/whci/asl.c asl_qset_insert_begin(whc, qset); whc 357 drivers/staging/wusbcore/host/whci/asl.c asl_qset_insert(whc, qset); whc 367 drivers/staging/wusbcore/host/whci/asl.c void asl_clean_up(struct whc *whc) whc 371 drivers/staging/wusbcore/host/whci/asl.c if (!list_empty(&whc->async_list)) { whc 372 drivers/staging/wusbcore/host/whci/asl.c qset = list_first_entry(&whc->async_list, struct whc_qset, list_node); whc 374 drivers/staging/wusbcore/host/whci/asl.c qset_free(whc, qset); whc 32 drivers/staging/wusbcore/host/whci/debug.c if (&qset->list_node == qset->whc->async_list.prev) { whc 77 drivers/staging/wusbcore/host/whci/debug.c struct whc *whc = s->private; whc 80 drivers/staging/wusbcore/host/whci/debug.c for (d = 0; d < whc->n_devices; d++) { whc 81 drivers/staging/wusbcore/host/whci/debug.c struct di_buf_entry *di = &whc->di_buf[d]; whc 98 drivers/staging/wusbcore/host/whci/debug.c struct whc *whc = s->private; whc 101 drivers/staging/wusbcore/host/whci/debug.c list_for_each_entry(qset, &whc->async_list, list_node) { whc 111 drivers/staging/wusbcore/host/whci/debug.c struct whc *whc = s->private; whc 117 drivers/staging/wusbcore/host/whci/debug.c list_for_each_entry(qset, &whc->periodic_list[period], list_node) { whc 125 drivers/staging/wusbcore/host/whci/debug.c void whc_dbg_init(struct whc *whc) whc 127 drivers/staging/wusbcore/host/whci/debug.c if (whc->wusbhc.pal.debugfs_dir == NULL) whc 130 drivers/staging/wusbcore/host/whci/debug.c whc->dbg = kzalloc(sizeof(struct whc_dbg), GFP_KERNEL); whc 131 drivers/staging/wusbcore/host/whci/debug.c if (whc->dbg == NULL) whc 134 drivers/staging/wusbcore/host/whci/debug.c whc->dbg->di_f = debugfs_create_file("di", 0444, whc 135 drivers/staging/wusbcore/host/whci/debug.c whc->wusbhc.pal.debugfs_dir, whc, whc 137 drivers/staging/wusbcore/host/whci/debug.c whc->dbg->asl_f = debugfs_create_file("asl", 0444, whc 138 drivers/staging/wusbcore/host/whci/debug.c whc->wusbhc.pal.debugfs_dir, whc, whc 140 drivers/staging/wusbcore/host/whci/debug.c whc->dbg->pzl_f = debugfs_create_file("pzl", 0444, whc 141 drivers/staging/wusbcore/host/whci/debug.c whc->wusbhc.pal.debugfs_dir, whc, whc 145 drivers/staging/wusbcore/host/whci/debug.c void whc_dbg_clean_up(struct whc *whc) whc 147 drivers/staging/wusbcore/host/whci/debug.c if (whc->dbg) { whc 148 drivers/staging/wusbcore/host/whci/debug.c debugfs_remove(whc->dbg->pzl_f); whc 149 drivers/staging/wusbcore/host/whci/debug.c debugfs_remove(whc->dbg->asl_f); whc 150 drivers/staging/wusbcore/host/whci/debug.c debugfs_remove(whc->dbg->di_f); whc 151 drivers/staging/wusbcore/host/whci/debug.c kfree(whc->dbg); whc 36 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 48 drivers/staging/wusbcore/host/whci/hcd.c whc->base + WUSBINTR); whc 52 drivers/staging/wusbcore/host/whci/hcd.c ret = whc_set_cluster_id(whc, bcid); whc 58 drivers/staging/wusbcore/host/whci/hcd.c whc_write_wusbcmd(whc, WUSBCMD_RUN, WUSBCMD_RUN); whc 80 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 85 drivers/staging/wusbcore/host/whci/hcd.c le_writel(0, whc->base + WUSBINTR); whc 86 drivers/staging/wusbcore/host/whci/hcd.c whc_write_wusbcmd(whc, WUSBCMD_RUN, 0); whc 87 drivers/staging/wusbcore/host/whci/hcd.c whci_wait_for(&whc->umc->dev, whc->base + WUSBSTS, whc 110 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 115 drivers/staging/wusbcore/host/whci/hcd.c ret = pzl_urb_enqueue(whc, urb, mem_flags); whc 118 drivers/staging/wusbcore/host/whci/hcd.c dev_err(&whc->umc->dev, "isochronous transfers unsupported\n"); whc 124 drivers/staging/wusbcore/host/whci/hcd.c ret = asl_urb_enqueue(whc, urb, mem_flags); whc 137 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 142 drivers/staging/wusbcore/host/whci/hcd.c ret = pzl_urb_dequeue(whc, urb, status); whc 150 drivers/staging/wusbcore/host/whci/hcd.c ret = asl_urb_dequeue(whc, urb, status); whc 165 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 173 drivers/staging/wusbcore/host/whci/hcd.c asl_qset_delete(whc, qset); whc 175 drivers/staging/wusbcore/host/whci/hcd.c pzl_qset_delete(whc, qset); whc 183 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 187 drivers/staging/wusbcore/host/whci/hcd.c spin_lock_irqsave(&whc->lock, flags); whc 196 drivers/staging/wusbcore/host/whci/hcd.c queue_work(whc->workqueue, &whc->async_work); whc 198 drivers/staging/wusbcore/host/whci/hcd.c queue_work(whc->workqueue, &whc->periodic_work); whc 201 drivers/staging/wusbcore/host/whci/hcd.c spin_unlock_irqrestore(&whc->lock, flags); whc 208 drivers/staging/wusbcore/host/whci/hcd.c .hcd_priv_size = sizeof(struct whc) - sizeof(struct usb_hcd), whc 231 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc; whc 244 drivers/staging/wusbcore/host/whci/hcd.c whc = wusbhc_to_whc(wusbhc); whc 245 drivers/staging/wusbcore/host/whci/hcd.c whc->umc = umc; whc 247 drivers/staging/wusbcore/host/whci/hcd.c ret = whc_init(whc); whc 259 drivers/staging/wusbcore/host/whci/hcd.c if (whc->n_devices > USB_MAXCHILDREN) { whc 261 drivers/staging/wusbcore/host/whci/hcd.c whc->n_devices); whc 264 drivers/staging/wusbcore/host/whci/hcd.c wusbhc->ports_max = whc->n_devices; whc 265 drivers/staging/wusbcore/host/whci/hcd.c wusbhc->mmcies_max = whc->n_mmc_ies; whc 280 drivers/staging/wusbcore/host/whci/hcd.c ret = usb_add_hcd(usb_hcd, whc->umc->irq, IRQF_SHARED); whc 293 drivers/staging/wusbcore/host/whci/hcd.c whc_dbg_init(whc); whc 304 drivers/staging/wusbcore/host/whci/hcd.c whc_clean_up(whc); whc 315 drivers/staging/wusbcore/host/whci/hcd.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 318 drivers/staging/wusbcore/host/whci/hcd.c whc_dbg_clean_up(whc); whc 323 drivers/staging/wusbcore/host/whci/hcd.c whc_clean_up(whc); whc 15 drivers/staging/wusbcore/host/whci/hw.c void whc_write_wusbcmd(struct whc *whc, u32 mask, u32 val) whc 20 drivers/staging/wusbcore/host/whci/hw.c spin_lock_irqsave(&whc->lock, flags); whc 22 drivers/staging/wusbcore/host/whci/hw.c cmd = le_readl(whc->base + WUSBCMD); whc 24 drivers/staging/wusbcore/host/whci/hw.c le_writel(cmd, whc->base + WUSBCMD); whc 26 drivers/staging/wusbcore/host/whci/hw.c spin_unlock_irqrestore(&whc->lock, flags); whc 37 drivers/staging/wusbcore/host/whci/hw.c int whc_do_gencmd(struct whc *whc, u32 cmd, u32 params, void *addr, size_t len) whc 44 drivers/staging/wusbcore/host/whci/hw.c mutex_lock(&whc->mutex); whc 47 drivers/staging/wusbcore/host/whci/hw.c t = wait_event_timeout(whc->cmd_wq, whc 48 drivers/staging/wusbcore/host/whci/hw.c (le_readl(whc->base + WUSBGENCMDSTS) & WUSBGENCMDSTS_ACTIVE) == 0, whc 51 drivers/staging/wusbcore/host/whci/hw.c dev_err(&whc->umc->dev, "generic command timeout (%04x/%04x)\n", whc 52 drivers/staging/wusbcore/host/whci/hw.c le_readl(whc->base + WUSBGENCMDSTS), whc 53 drivers/staging/wusbcore/host/whci/hw.c le_readl(whc->base + WUSBGENCMDPARAMS)); whc 59 drivers/staging/wusbcore/host/whci/hw.c memcpy(whc->gen_cmd_buf, addr, len); whc 60 drivers/staging/wusbcore/host/whci/hw.c dma_addr = whc->gen_cmd_buf_dma; whc 65 drivers/staging/wusbcore/host/whci/hw.c spin_lock_irqsave(&whc->lock, flags); whc 67 drivers/staging/wusbcore/host/whci/hw.c le_writel(params, whc->base + WUSBGENCMDPARAMS); whc 68 drivers/staging/wusbcore/host/whci/hw.c le_writeq(dma_addr, whc->base + WUSBGENADDR); whc 71 drivers/staging/wusbcore/host/whci/hw.c whc->base + WUSBGENCMDSTS); whc 73 drivers/staging/wusbcore/host/whci/hw.c spin_unlock_irqrestore(&whc->lock, flags); whc 75 drivers/staging/wusbcore/host/whci/hw.c mutex_unlock(&whc->mutex); whc 87 drivers/staging/wusbcore/host/whci/hw.c void whc_hw_error(struct whc *whc, const char *reason) whc 89 drivers/staging/wusbcore/host/whci/hw.c struct wusbhc *wusbhc = &whc->wusbhc; whc 91 drivers/staging/wusbcore/host/whci/hw.c dev_err(&whc->umc->dev, "hardware error: %s\n", reason); whc 19 drivers/staging/wusbcore/host/whci/init.c static void whc_hw_reset(struct whc *whc) whc 21 drivers/staging/wusbcore/host/whci/init.c le_writel(WUSBCMD_WHCRESET, whc->base + WUSBCMD); whc 22 drivers/staging/wusbcore/host/whci/init.c whci_wait_for(&whc->umc->dev, whc->base + WUSBCMD, WUSBCMD_WHCRESET, 0, whc 26 drivers/staging/wusbcore/host/whci/init.c static void whc_hw_init_di_buf(struct whc *whc) whc 31 drivers/staging/wusbcore/host/whci/init.c for (d = 0; d < whc->n_devices; d++) whc 32 drivers/staging/wusbcore/host/whci/init.c whc->di_buf[d].addr_sec_info = WHC_DI_DISABLE; whc 34 drivers/staging/wusbcore/host/whci/init.c le_writeq(whc->di_buf_dma, whc->base + WUSBDEVICEINFOADDR); whc 37 drivers/staging/wusbcore/host/whci/init.c static void whc_hw_init_dn_buf(struct whc *whc) whc 41 drivers/staging/wusbcore/host/whci/init.c memset(whc->dn_buf, 0, 4096); whc 43 drivers/staging/wusbcore/host/whci/init.c le_writeq(whc->dn_buf_dma, whc->base + WUSBDNTSBUFADDR); whc 46 drivers/staging/wusbcore/host/whci/init.c int whc_init(struct whc *whc) whc 52 drivers/staging/wusbcore/host/whci/init.c spin_lock_init(&whc->lock); whc 53 drivers/staging/wusbcore/host/whci/init.c mutex_init(&whc->mutex); whc 54 drivers/staging/wusbcore/host/whci/init.c init_waitqueue_head(&whc->cmd_wq); whc 55 drivers/staging/wusbcore/host/whci/init.c init_waitqueue_head(&whc->async_list_wq); whc 56 drivers/staging/wusbcore/host/whci/init.c init_waitqueue_head(&whc->periodic_list_wq); whc 57 drivers/staging/wusbcore/host/whci/init.c whc->workqueue = alloc_ordered_workqueue(dev_name(&whc->umc->dev), 0); whc 58 drivers/staging/wusbcore/host/whci/init.c if (whc->workqueue == NULL) { whc 62 drivers/staging/wusbcore/host/whci/init.c INIT_WORK(&whc->dn_work, whc_dn_work); whc 64 drivers/staging/wusbcore/host/whci/init.c INIT_WORK(&whc->async_work, scan_async_work); whc 65 drivers/staging/wusbcore/host/whci/init.c INIT_LIST_HEAD(&whc->async_list); whc 66 drivers/staging/wusbcore/host/whci/init.c INIT_LIST_HEAD(&whc->async_removed_list); whc 68 drivers/staging/wusbcore/host/whci/init.c INIT_WORK(&whc->periodic_work, scan_periodic_work); whc 70 drivers/staging/wusbcore/host/whci/init.c INIT_LIST_HEAD(&whc->periodic_list[i]); whc 71 drivers/staging/wusbcore/host/whci/init.c INIT_LIST_HEAD(&whc->periodic_removed_list); whc 74 drivers/staging/wusbcore/host/whci/init.c start = whc->umc->resource.start; whc 75 drivers/staging/wusbcore/host/whci/init.c len = whc->umc->resource.end - start + 1; whc 77 drivers/staging/wusbcore/host/whci/init.c dev_err(&whc->umc->dev, "can't request HC region\n"); whc 81 drivers/staging/wusbcore/host/whci/init.c whc->base_phys = start; whc 82 drivers/staging/wusbcore/host/whci/init.c whc->base = ioremap(start, len); whc 83 drivers/staging/wusbcore/host/whci/init.c if (!whc->base) { whc 84 drivers/staging/wusbcore/host/whci/init.c dev_err(&whc->umc->dev, "ioremap\n"); whc 89 drivers/staging/wusbcore/host/whci/init.c whc_hw_reset(whc); whc 92 drivers/staging/wusbcore/host/whci/init.c whcsparams = le_readl(whc->base + WHCSPARAMS); whc 93 drivers/staging/wusbcore/host/whci/init.c whc->n_devices = WHCSPARAMS_TO_N_DEVICES(whcsparams); whc 94 drivers/staging/wusbcore/host/whci/init.c whc->n_keys = WHCSPARAMS_TO_N_KEYS(whcsparams); whc 95 drivers/staging/wusbcore/host/whci/init.c whc->n_mmc_ies = WHCSPARAMS_TO_N_MMC_IES(whcsparams); whc 97 drivers/staging/wusbcore/host/whci/init.c dev_dbg(&whc->umc->dev, "N_DEVICES = %d, N_KEYS = %d, N_MMC_IES = %d\n", whc 98 drivers/staging/wusbcore/host/whci/init.c whc->n_devices, whc->n_keys, whc->n_mmc_ies); whc 100 drivers/staging/wusbcore/host/whci/init.c whc->qset_pool = dma_pool_create("qset", &whc->umc->dev, whc 102 drivers/staging/wusbcore/host/whci/init.c if (whc->qset_pool == NULL) { whc 107 drivers/staging/wusbcore/host/whci/init.c ret = asl_init(whc); whc 110 drivers/staging/wusbcore/host/whci/init.c ret = pzl_init(whc); whc 118 drivers/staging/wusbcore/host/whci/init.c whc->gen_cmd_buf = dma_alloc_coherent(&whc->umc->dev, WHC_GEN_CMD_DATA_LEN, whc 119 drivers/staging/wusbcore/host/whci/init.c &whc->gen_cmd_buf_dma, GFP_KERNEL); whc 120 drivers/staging/wusbcore/host/whci/init.c if (whc->gen_cmd_buf == NULL) { whc 125 drivers/staging/wusbcore/host/whci/init.c whc->dn_buf = dma_alloc_coherent(&whc->umc->dev, whc 127 drivers/staging/wusbcore/host/whci/init.c &whc->dn_buf_dma, GFP_KERNEL); whc 128 drivers/staging/wusbcore/host/whci/init.c if (!whc->dn_buf) { whc 132 drivers/staging/wusbcore/host/whci/init.c whc_hw_init_dn_buf(whc); whc 134 drivers/staging/wusbcore/host/whci/init.c whc->di_buf = dma_alloc_coherent(&whc->umc->dev, whc 135 drivers/staging/wusbcore/host/whci/init.c sizeof(struct di_buf_entry) * whc->n_devices, whc 136 drivers/staging/wusbcore/host/whci/init.c &whc->di_buf_dma, GFP_KERNEL); whc 137 drivers/staging/wusbcore/host/whci/init.c if (!whc->di_buf) { whc 141 drivers/staging/wusbcore/host/whci/init.c whc_hw_init_di_buf(whc); whc 146 drivers/staging/wusbcore/host/whci/init.c whc_clean_up(whc); whc 150 drivers/staging/wusbcore/host/whci/init.c void whc_clean_up(struct whc *whc) whc 154 drivers/staging/wusbcore/host/whci/init.c if (whc->di_buf) whc 155 drivers/staging/wusbcore/host/whci/init.c dma_free_coherent(&whc->umc->dev, sizeof(struct di_buf_entry) * whc->n_devices, whc 156 drivers/staging/wusbcore/host/whci/init.c whc->di_buf, whc->di_buf_dma); whc 157 drivers/staging/wusbcore/host/whci/init.c if (whc->dn_buf) whc 158 drivers/staging/wusbcore/host/whci/init.c dma_free_coherent(&whc->umc->dev, sizeof(struct dn_buf_entry) * WHC_N_DN_ENTRIES, whc 159 drivers/staging/wusbcore/host/whci/init.c whc->dn_buf, whc->dn_buf_dma); whc 160 drivers/staging/wusbcore/host/whci/init.c if (whc->gen_cmd_buf) whc 161 drivers/staging/wusbcore/host/whci/init.c dma_free_coherent(&whc->umc->dev, WHC_GEN_CMD_DATA_LEN, whc 162 drivers/staging/wusbcore/host/whci/init.c whc->gen_cmd_buf, whc->gen_cmd_buf_dma); whc 164 drivers/staging/wusbcore/host/whci/init.c pzl_clean_up(whc); whc 165 drivers/staging/wusbcore/host/whci/init.c asl_clean_up(whc); whc 167 drivers/staging/wusbcore/host/whci/init.c dma_pool_destroy(whc->qset_pool); whc 169 drivers/staging/wusbcore/host/whci/init.c len = resource_size(&whc->umc->resource); whc 170 drivers/staging/wusbcore/host/whci/init.c if (whc->base) whc 171 drivers/staging/wusbcore/host/whci/init.c iounmap(whc->base); whc 172 drivers/staging/wusbcore/host/whci/init.c if (whc->base_phys) whc 173 drivers/staging/wusbcore/host/whci/init.c release_mem_region(whc->base_phys, len); whc 175 drivers/staging/wusbcore/host/whci/init.c if (whc->workqueue) whc 176 drivers/staging/wusbcore/host/whci/init.c destroy_workqueue(whc->workqueue); whc 14 drivers/staging/wusbcore/host/whci/int.c static void transfer_done(struct whc *whc) whc 16 drivers/staging/wusbcore/host/whci/int.c queue_work(whc->workqueue, &whc->async_work); whc 17 drivers/staging/wusbcore/host/whci/int.c queue_work(whc->workqueue, &whc->periodic_work); whc 23 drivers/staging/wusbcore/host/whci/int.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 26 drivers/staging/wusbcore/host/whci/int.c sts = le_readl(whc->base + WUSBSTS); whc 29 drivers/staging/wusbcore/host/whci/int.c le_writel(sts & WUSBSTS_INT_MASK, whc->base + WUSBSTS); whc 32 drivers/staging/wusbcore/host/whci/int.c wake_up(&whc->cmd_wq); whc 35 drivers/staging/wusbcore/host/whci/int.c dev_err(&whc->umc->dev, "FIXME: host system error\n"); whc 38 drivers/staging/wusbcore/host/whci/int.c wake_up(&whc->async_list_wq); whc 41 drivers/staging/wusbcore/host/whci/int.c wake_up(&whc->periodic_list_wq); whc 44 drivers/staging/wusbcore/host/whci/int.c queue_work(whc->workqueue, &whc->dn_work); whc 51 drivers/staging/wusbcore/host/whci/int.c transfer_done(whc); whc 56 drivers/staging/wusbcore/host/whci/int.c static int process_dn_buf(struct whc *whc) whc 58 drivers/staging/wusbcore/host/whci/int.c struct wusbhc *wusbhc = &whc->wusbhc; whc 62 drivers/staging/wusbcore/host/whci/int.c for (dn = whc->dn_buf; dn < whc->dn_buf + WHC_N_DN_ENTRIES; dn++) { whc 76 drivers/staging/wusbcore/host/whci/int.c struct whc *whc = container_of(work, struct whc, dn_work); whc 80 drivers/staging/wusbcore/host/whci/int.c processed = process_dn_buf(whc); whc 17 drivers/staging/wusbcore/host/whci/pzl.c static void update_pzl_pointers(struct whc *whc, int period, u64 addr) whc 21 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[0], addr); whc 22 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[2], addr); whc 23 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[4], addr); whc 24 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[6], addr); whc 25 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[8], addr); whc 26 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[10], addr); whc 27 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[12], addr); whc 28 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[14], addr); whc 31 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[1], addr); whc 32 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[5], addr); whc 33 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[9], addr); whc 34 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[13], addr); whc 37 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[3], addr); whc 38 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[11], addr); whc 41 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[7], addr); whc 44 drivers/staging/wusbcore/host/whci/pzl.c whc_qset_set_link_ptr(&whc->pz_list[15], addr); whc 54 drivers/staging/wusbcore/host/whci/pzl.c static int qset_get_period(struct whc *whc, struct whc_qset *qset) whc 65 drivers/staging/wusbcore/host/whci/pzl.c static void qset_insert_in_sw_list(struct whc *whc, struct whc_qset *qset) whc 69 drivers/staging/wusbcore/host/whci/pzl.c period = qset_get_period(whc, qset); whc 71 drivers/staging/wusbcore/host/whci/pzl.c qset_clear(whc, qset); whc 72 drivers/staging/wusbcore/host/whci/pzl.c list_move(&qset->list_node, &whc->periodic_list[period]); whc 76 drivers/staging/wusbcore/host/whci/pzl.c static void pzl_qset_remove(struct whc *whc, struct whc_qset *qset) whc 78 drivers/staging/wusbcore/host/whci/pzl.c list_move(&qset->list_node, &whc->periodic_removed_list); whc 92 drivers/staging/wusbcore/host/whci/pzl.c static enum whc_update pzl_process_qset(struct whc *whc, struct whc_qset *qset) whc 111 drivers/staging/wusbcore/host/whci/pzl.c process_halted_qtd(whc, qset, td); whc 120 drivers/staging/wusbcore/host/whci/pzl.c process_inactive_qtd(whc, qset, td); whc 124 drivers/staging/wusbcore/host/whci/pzl.c update |= qset_add_qtds(whc, qset); whc 131 drivers/staging/wusbcore/host/whci/pzl.c pzl_qset_remove(whc, qset); whc 145 drivers/staging/wusbcore/host/whci/pzl.c void pzl_start(struct whc *whc) whc 147 drivers/staging/wusbcore/host/whci/pzl.c le_writeq(whc->pz_list_dma, whc->base + WUSBPERIODICLISTBASE); whc 149 drivers/staging/wusbcore/host/whci/pzl.c whc_write_wusbcmd(whc, WUSBCMD_PERIODIC_EN, WUSBCMD_PERIODIC_EN); whc 150 drivers/staging/wusbcore/host/whci/pzl.c whci_wait_for(&whc->umc->dev, whc->base + WUSBSTS, whc 159 drivers/staging/wusbcore/host/whci/pzl.c void pzl_stop(struct whc *whc) whc 161 drivers/staging/wusbcore/host/whci/pzl.c whc_write_wusbcmd(whc, WUSBCMD_PERIODIC_EN, 0); whc 162 drivers/staging/wusbcore/host/whci/pzl.c whci_wait_for(&whc->umc->dev, whc->base + WUSBSTS, whc 176 drivers/staging/wusbcore/host/whci/pzl.c void pzl_update(struct whc *whc, uint32_t wusbcmd) whc 178 drivers/staging/wusbcore/host/whci/pzl.c struct wusbhc *wusbhc = &whc->wusbhc; whc 183 drivers/staging/wusbcore/host/whci/pzl.c whc_write_wusbcmd(whc, wusbcmd, wusbcmd); whc 185 drivers/staging/wusbcore/host/whci/pzl.c whc->periodic_list_wq, whc 186 drivers/staging/wusbcore/host/whci/pzl.c (le_readl(whc->base + WUSBCMD) & WUSBCMD_PERIODIC_UPDATED) == 0, whc 189 drivers/staging/wusbcore/host/whci/pzl.c whc_hw_error(whc, "PZL update timeout"); whc 194 drivers/staging/wusbcore/host/whci/pzl.c static void update_pzl_hw_view(struct whc *whc) whc 201 drivers/staging/wusbcore/host/whci/pzl.c list_for_each_entry_safe(qset, t, &whc->periodic_list[period], list_node) { whc 206 drivers/staging/wusbcore/host/whci/pzl.c update_pzl_pointers(whc, period, tmp_qh); whc 220 drivers/staging/wusbcore/host/whci/pzl.c struct whc *whc = container_of(work, struct whc, periodic_work); whc 225 drivers/staging/wusbcore/host/whci/pzl.c spin_lock_irq(&whc->lock); whc 228 drivers/staging/wusbcore/host/whci/pzl.c list_for_each_entry_safe(qset, t, &whc->periodic_list[period], list_node) { whc 231 drivers/staging/wusbcore/host/whci/pzl.c update |= pzl_process_qset(whc, qset); whc 236 drivers/staging/wusbcore/host/whci/pzl.c update_pzl_hw_view(whc); whc 238 drivers/staging/wusbcore/host/whci/pzl.c spin_unlock_irq(&whc->lock); whc 244 drivers/staging/wusbcore/host/whci/pzl.c pzl_update(whc, wusbcmd); whc 254 drivers/staging/wusbcore/host/whci/pzl.c spin_lock_irq(&whc->lock); whc 256 drivers/staging/wusbcore/host/whci/pzl.c list_for_each_entry_safe(qset, t, &whc->periodic_removed_list, list_node) { whc 257 drivers/staging/wusbcore/host/whci/pzl.c qset_remove_complete(whc, qset); whc 259 drivers/staging/wusbcore/host/whci/pzl.c qset_reset(whc, qset); whc 261 drivers/staging/wusbcore/host/whci/pzl.c qset_insert_in_sw_list(whc, qset); whc 262 drivers/staging/wusbcore/host/whci/pzl.c queue_work(whc->workqueue, &whc->periodic_work); whc 267 drivers/staging/wusbcore/host/whci/pzl.c spin_unlock_irq(&whc->lock); whc 280 drivers/staging/wusbcore/host/whci/pzl.c int pzl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags) whc 286 drivers/staging/wusbcore/host/whci/pzl.c spin_lock_irqsave(&whc->lock, flags); whc 288 drivers/staging/wusbcore/host/whci/pzl.c err = usb_hcd_link_urb_to_ep(&whc->wusbhc.usb_hcd, urb); whc 290 drivers/staging/wusbcore/host/whci/pzl.c spin_unlock_irqrestore(&whc->lock, flags); whc 294 drivers/staging/wusbcore/host/whci/pzl.c qset = get_qset(whc, urb, GFP_ATOMIC); whc 298 drivers/staging/wusbcore/host/whci/pzl.c err = qset_add_urb(whc, qset, urb, GFP_ATOMIC); whc 301 drivers/staging/wusbcore/host/whci/pzl.c qset_insert_in_sw_list(whc, qset); whc 303 drivers/staging/wusbcore/host/whci/pzl.c usb_hcd_unlink_urb_from_ep(&whc->wusbhc.usb_hcd, urb); whc 305 drivers/staging/wusbcore/host/whci/pzl.c spin_unlock_irqrestore(&whc->lock, flags); whc 308 drivers/staging/wusbcore/host/whci/pzl.c queue_work(whc->workqueue, &whc->periodic_work); whc 323 drivers/staging/wusbcore/host/whci/pzl.c int pzl_urb_dequeue(struct whc *whc, struct urb *urb, int status) whc 332 drivers/staging/wusbcore/host/whci/pzl.c spin_lock_irqsave(&whc->lock, flags); whc 334 drivers/staging/wusbcore/host/whci/pzl.c ret = usb_hcd_check_unlink_urb(&whc->wusbhc.usb_hcd, urb, status); whc 342 drivers/staging/wusbcore/host/whci/pzl.c qset_free_std(whc, std); whc 348 drivers/staging/wusbcore/host/whci/pzl.c pzl_qset_remove(whc, qset); whc 349 drivers/staging/wusbcore/host/whci/pzl.c update_pzl_hw_view(whc); whc 352 drivers/staging/wusbcore/host/whci/pzl.c queue_work(whc->workqueue, &wurb->dequeue_work); whc 354 drivers/staging/wusbcore/host/whci/pzl.c qset_remove_urb(whc, qset, urb, status); whc 356 drivers/staging/wusbcore/host/whci/pzl.c spin_unlock_irqrestore(&whc->lock, flags); whc 364 drivers/staging/wusbcore/host/whci/pzl.c void pzl_qset_delete(struct whc *whc, struct whc_qset *qset) whc 367 drivers/staging/wusbcore/host/whci/pzl.c queue_work(whc->workqueue, &whc->periodic_work); whc 368 drivers/staging/wusbcore/host/whci/pzl.c qset_delete(whc, qset); whc 375 drivers/staging/wusbcore/host/whci/pzl.c int pzl_init(struct whc *whc) whc 379 drivers/staging/wusbcore/host/whci/pzl.c whc->pz_list = dma_alloc_coherent(&whc->umc->dev, sizeof(u64) * 16, whc 380 drivers/staging/wusbcore/host/whci/pzl.c &whc->pz_list_dma, GFP_KERNEL); whc 381 drivers/staging/wusbcore/host/whci/pzl.c if (whc->pz_list == NULL) whc 386 drivers/staging/wusbcore/host/whci/pzl.c whc->pz_list[i] = cpu_to_le64(QH_LINK_NTDS(8) | QH_LINK_T); whc 388 drivers/staging/wusbcore/host/whci/pzl.c le_writeq(whc->pz_list_dma, whc->base + WUSBPERIODICLISTBASE); whc 399 drivers/staging/wusbcore/host/whci/pzl.c void pzl_clean_up(struct whc *whc) whc 401 drivers/staging/wusbcore/host/whci/pzl.c if (whc->pz_list) whc 402 drivers/staging/wusbcore/host/whci/pzl.c dma_free_coherent(&whc->umc->dev, sizeof(u64) * 16, whc->pz_list, whc 403 drivers/staging/wusbcore/host/whci/pzl.c whc->pz_list_dma); whc 17 drivers/staging/wusbcore/host/whci/qset.c struct whc_qset *qset_alloc(struct whc *whc, gfp_t mem_flags) whc 22 drivers/staging/wusbcore/host/whci/qset.c qset = dma_pool_zalloc(whc->qset_pool, mem_flags, &dma); whc 27 drivers/staging/wusbcore/host/whci/qset.c qset->whc = whc; whc 41 drivers/staging/wusbcore/host/whci/qset.c static void qset_fill_qh(struct whc *whc, struct whc_qset *qset, struct urb *urb) whc 74 drivers/staging/wusbcore/host/whci/qset.c if (phy_rate > whc->wusbhc.phy_rate) whc 75 drivers/staging/wusbcore/host/whci/qset.c phy_rate = whc->wusbhc.phy_rate; whc 111 drivers/staging/wusbcore/host/whci/qset.c void qset_clear(struct whc *whc, struct whc_qset *qset) whc 133 drivers/staging/wusbcore/host/whci/qset.c void qset_reset(struct whc *whc, struct whc_qset *qset) whc 146 drivers/staging/wusbcore/host/whci/qset.c struct whc_qset *get_qset(struct whc *whc, struct urb *urb, whc 153 drivers/staging/wusbcore/host/whci/qset.c qset = qset_alloc(whc, mem_flags); whc 159 drivers/staging/wusbcore/host/whci/qset.c qset_fill_qh(whc, qset, urb); whc 164 drivers/staging/wusbcore/host/whci/qset.c void qset_remove_complete(struct whc *whc, struct whc_qset *qset) whc 177 drivers/staging/wusbcore/host/whci/qset.c enum whc_update qset_add_qtds(struct whc *whc, struct whc_qset *qset) whc 243 drivers/staging/wusbcore/host/whci/qset.c static void qset_remove_qtd(struct whc *whc, struct whc_qset *qset) whc 252 drivers/staging/wusbcore/host/whci/qset.c static void qset_copy_bounce_to_sg(struct whc *whc, struct whc_std *std) whc 287 drivers/staging/wusbcore/host/whci/qset.c void qset_free_std(struct whc *whc, struct whc_std *std) whc 299 drivers/staging/wusbcore/host/whci/qset.c dma_unmap_single(whc->wusbhc.dev, dma_addr, whc 302 drivers/staging/wusbcore/host/whci/qset.c qset_copy_bounce_to_sg(whc, std); whc 306 drivers/staging/wusbcore/host/whci/qset.c if (!dma_mapping_error(whc->wusbhc.dev, std->dma_addr)) whc 307 drivers/staging/wusbcore/host/whci/qset.c dma_unmap_single(whc->wusbhc.dev, std->dma_addr, whc 319 drivers/staging/wusbcore/host/whci/qset.c static void qset_remove_qtds(struct whc *whc, struct whc_qset *qset, whc 328 drivers/staging/wusbcore/host/whci/qset.c qset_remove_qtd(whc, qset); whc 329 drivers/staging/wusbcore/host/whci/qset.c qset_free_std(whc, std); whc 342 drivers/staging/wusbcore/host/whci/qset.c qset_free_std(qset->whc, std); whc 346 drivers/staging/wusbcore/host/whci/qset.c static int qset_fill_page_list(struct whc *whc, struct whc_std *std, gfp_t mem_flags) whc 367 drivers/staging/wusbcore/host/whci/qset.c std->dma_addr = dma_map_single(whc->wusbhc.dev, std->pl_virt, pl_len, DMA_TO_DEVICE); whc 368 drivers/staging/wusbcore/host/whci/qset.c if (dma_mapping_error(whc->wusbhc.dev, std->dma_addr)) { whc 388 drivers/staging/wusbcore/host/whci/qset.c struct whc *whc = qset->whc; whc 392 drivers/staging/wusbcore/host/whci/qset.c asl_update(whc, WUSBCMD_ASYNC_UPDATED whc 396 drivers/staging/wusbcore/host/whci/qset.c pzl_update(whc, WUSBCMD_PERIODIC_UPDATED whc 400 drivers/staging/wusbcore/host/whci/qset.c spin_lock_irqsave(&whc->lock, flags); whc 401 drivers/staging/wusbcore/host/whci/qset.c qset_remove_urb(whc, qset, wurb->urb, wurb->status); whc 402 drivers/staging/wusbcore/host/whci/qset.c spin_unlock_irqrestore(&whc->lock, flags); whc 405 drivers/staging/wusbcore/host/whci/qset.c static struct whc_std *qset_new_std(struct whc *whc, struct whc_qset *qset, whc 423 drivers/staging/wusbcore/host/whci/qset.c static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *urb, whc 472 drivers/staging/wusbcore/host/whci/qset.c std = qset_new_std(whc, qset, urb, mem_flags); whc 527 drivers/staging/wusbcore/host/whci/qset.c std->dma_addr = dma_map_single(whc->wusbhc.dev, std->pl_virt, whc 529 drivers/staging/wusbcore/host/whci/qset.c if (dma_mapping_error(whc->wusbhc.dev, std->dma_addr)) whc 544 drivers/staging/wusbcore/host/whci/qset.c static int qset_add_urb_sg_linearize(struct whc *whc, struct whc_qset *qset, whc 575 drivers/staging/wusbcore/host/whci/qset.c std = qset_new_std(whc, qset, urb, mem_flags); whc 610 drivers/staging/wusbcore/host/whci/qset.c std->dma_addr = dma_map_single(&whc->umc->dev, std->bounce_buf, std->len, whc 612 drivers/staging/wusbcore/host/whci/qset.c if (dma_mapping_error(&whc->umc->dev, std->dma_addr)) whc 615 drivers/staging/wusbcore/host/whci/qset.c if (qset_fill_page_list(whc, std, mem_flags) < 0) whc 631 drivers/staging/wusbcore/host/whci/qset.c int qset_add_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb, whc 649 drivers/staging/wusbcore/host/whci/qset.c ret = qset_add_urb_sg(whc, qset, urb, mem_flags); whc 652 drivers/staging/wusbcore/host/whci/qset.c ret = qset_add_urb_sg_linearize(whc, qset, urb, mem_flags); whc 671 drivers/staging/wusbcore/host/whci/qset.c std = qset_new_std(whc, qset, urb, mem_flags); whc 679 drivers/staging/wusbcore/host/whci/qset.c if (qset_fill_page_list(whc, std, mem_flags) < 0) whc 699 drivers/staging/wusbcore/host/whci/qset.c void qset_remove_urb(struct whc *whc, struct whc_qset *qset, whc 702 drivers/staging/wusbcore/host/whci/qset.c struct wusbhc *wusbhc = &whc->wusbhc; whc 707 drivers/staging/wusbcore/host/whci/qset.c spin_unlock(&whc->lock); whc 709 drivers/staging/wusbcore/host/whci/qset.c spin_lock(&whc->lock); whc 745 drivers/staging/wusbcore/host/whci/qset.c void process_inactive_qtd(struct whc *whc, struct whc_qset *qset, whc 762 drivers/staging/wusbcore/host/whci/qset.c qset_remove_qtd(whc, qset); whc 763 drivers/staging/wusbcore/host/whci/qset.c qset_free_std(whc, std); whc 770 drivers/staging/wusbcore/host/whci/qset.c qset_remove_qtds(whc, qset, urb); whc 771 drivers/staging/wusbcore/host/whci/qset.c qset_remove_urb(whc, qset, urb, get_urb_status_from_qtd(urb, status)); whc 797 drivers/staging/wusbcore/host/whci/qset.c void process_halted_qtd(struct whc *whc, struct whc_qset *qset, whc 806 drivers/staging/wusbcore/host/whci/qset.c qset_remove_qtds(whc, qset, urb); whc 807 drivers/staging/wusbcore/host/whci/qset.c qset_remove_urb(whc, qset, urb, urb_status); whc 812 drivers/staging/wusbcore/host/whci/qset.c qset_remove_qtd(whc, qset); whc 819 drivers/staging/wusbcore/host/whci/qset.c void qset_free(struct whc *whc, struct whc_qset *qset) whc 821 drivers/staging/wusbcore/host/whci/qset.c dma_pool_free(whc->qset_pool, qset, qset->qset_dma); whc 827 drivers/staging/wusbcore/host/whci/qset.c void qset_delete(struct whc *whc, struct whc_qset *qset) whc 830 drivers/staging/wusbcore/host/whci/qset.c qset_free(whc, qset); whc 65 drivers/staging/wusbcore/host/whci/whcd.h #define wusbhc_to_whc(w) (container_of((w), struct whc, wusbhc)) whc 130 drivers/staging/wusbcore/host/whci/whcd.h int whc_init(struct whc *whc); whc 131 drivers/staging/wusbcore/host/whci/whcd.h void whc_clean_up(struct whc *whc); whc 134 drivers/staging/wusbcore/host/whci/whcd.h void whc_write_wusbcmd(struct whc *whc, u32 mask, u32 val); whc 135 drivers/staging/wusbcore/host/whci/whcd.h int whc_do_gencmd(struct whc *whc, u32 cmd, u32 params, void *addr, size_t len); whc 136 drivers/staging/wusbcore/host/whci/whcd.h void whc_hw_error(struct whc *whc, const char *reason); whc 151 drivers/staging/wusbcore/host/whci/whcd.h int whc_set_cluster_id(struct whc *whc, u8 bcid); whc 158 drivers/staging/wusbcore/host/whci/whcd.h void asl_start(struct whc *whc); whc 159 drivers/staging/wusbcore/host/whci/whcd.h void asl_stop(struct whc *whc); whc 160 drivers/staging/wusbcore/host/whci/whcd.h int asl_init(struct whc *whc); whc 161 drivers/staging/wusbcore/host/whci/whcd.h void asl_clean_up(struct whc *whc); whc 162 drivers/staging/wusbcore/host/whci/whcd.h int asl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags); whc 163 drivers/staging/wusbcore/host/whci/whcd.h int asl_urb_dequeue(struct whc *whc, struct urb *urb, int status); whc 164 drivers/staging/wusbcore/host/whci/whcd.h void asl_qset_delete(struct whc *whc, struct whc_qset *qset); whc 168 drivers/staging/wusbcore/host/whci/whcd.h int pzl_init(struct whc *whc); whc 169 drivers/staging/wusbcore/host/whci/whcd.h void pzl_clean_up(struct whc *whc); whc 170 drivers/staging/wusbcore/host/whci/whcd.h void pzl_start(struct whc *whc); whc 171 drivers/staging/wusbcore/host/whci/whcd.h void pzl_stop(struct whc *whc); whc 172 drivers/staging/wusbcore/host/whci/whcd.h int pzl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags); whc 173 drivers/staging/wusbcore/host/whci/whcd.h int pzl_urb_dequeue(struct whc *whc, struct urb *urb, int status); whc 174 drivers/staging/wusbcore/host/whci/whcd.h void pzl_qset_delete(struct whc *whc, struct whc_qset *qset); whc 178 drivers/staging/wusbcore/host/whci/whcd.h struct whc_qset *qset_alloc(struct whc *whc, gfp_t mem_flags); whc 179 drivers/staging/wusbcore/host/whci/whcd.h void qset_free(struct whc *whc, struct whc_qset *qset); whc 180 drivers/staging/wusbcore/host/whci/whcd.h struct whc_qset *get_qset(struct whc *whc, struct urb *urb, gfp_t mem_flags); whc 181 drivers/staging/wusbcore/host/whci/whcd.h void qset_delete(struct whc *whc, struct whc_qset *qset); whc 182 drivers/staging/wusbcore/host/whci/whcd.h void qset_clear(struct whc *whc, struct whc_qset *qset); whc 183 drivers/staging/wusbcore/host/whci/whcd.h void qset_reset(struct whc *whc, struct whc_qset *qset); whc 184 drivers/staging/wusbcore/host/whci/whcd.h int qset_add_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb, whc 186 drivers/staging/wusbcore/host/whci/whcd.h void qset_free_std(struct whc *whc, struct whc_std *std); whc 187 drivers/staging/wusbcore/host/whci/whcd.h void qset_remove_urb(struct whc *whc, struct whc_qset *qset, whc 189 drivers/staging/wusbcore/host/whci/whcd.h void process_halted_qtd(struct whc *whc, struct whc_qset *qset, whc 191 drivers/staging/wusbcore/host/whci/whcd.h void process_inactive_qtd(struct whc *whc, struct whc_qset *qset, whc 193 drivers/staging/wusbcore/host/whci/whcd.h enum whc_update qset_add_qtds(struct whc *whc, struct whc_qset *qset); whc 194 drivers/staging/wusbcore/host/whci/whcd.h void qset_remove_complete(struct whc *whc, struct whc_qset *qset); whc 195 drivers/staging/wusbcore/host/whci/whcd.h void pzl_update(struct whc *whc, uint32_t wusbcmd); whc 196 drivers/staging/wusbcore/host/whci/whcd.h void asl_update(struct whc *whc, uint32_t wusbcmd); whc 199 drivers/staging/wusbcore/host/whci/whcd.h void whc_dbg_init(struct whc *whc); whc 200 drivers/staging/wusbcore/host/whci/whcd.h void whc_dbg_clean_up(struct whc *whc); whc 237 drivers/staging/wusbcore/host/whci/whci-hc.h struct whc *whc; whc 14 drivers/staging/wusbcore/host/whci/wusb.c static int whc_update_di(struct whc *whc, int idx) whc 19 drivers/staging/wusbcore/host/whci/wusb.c le_writel(bit, whc->base + WUSBDIBUPDATED + offset); whc 21 drivers/staging/wusbcore/host/whci/wusb.c return whci_wait_for(&whc->umc->dev, whc 22 drivers/staging/wusbcore/host/whci/wusb.c whc->base + WUSBDIBUPDATED + offset, bit, 0, whc 34 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 36 drivers/staging/wusbcore/host/whci/wusb.c asl_start(whc); whc 37 drivers/staging/wusbcore/host/whci/wusb.c pzl_start(whc); whc 44 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 48 drivers/staging/wusbcore/host/whci/wusb.c pzl_stop(whc); whc 49 drivers/staging/wusbcore/host/whci/wusb.c asl_stop(whc); whc 51 drivers/staging/wusbcore/host/whci/wusb.c now_time = le_readl(whc->base + WUSBTIME) & WUSBTIME_CHANNEL_TIME_MASK; whc 53 drivers/staging/wusbcore/host/whci/wusb.c ret = whc_do_gencmd(whc, WUSBGENCMDSTS_CHAN_STOP, stop_time, NULL, 0); whc 61 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 69 drivers/staging/wusbcore/host/whci/wusb.c return whc_do_gencmd(whc, WUSBGENCMDSTS_MMCIE_ADD, params, wuie, wuie->bLength); whc 74 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 79 drivers/staging/wusbcore/host/whci/wusb.c return whc_do_gencmd(whc, WUSBGENCMDSTS_MMCIE_RM, params, NULL, 0); whc 84 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 87 drivers/staging/wusbcore/host/whci/wusb.c whc_write_wusbcmd(whc, WUSBCMD_WUSBSI_MASK, WUSBCMD_WUSBSI(stream_index)); whc 89 drivers/staging/wusbcore/host/whci/wusb.c return whc_do_gencmd(whc, WUSBGENCMDSTS_SET_MAS, 0, (void *)mas_bm, sizeof(*mas_bm)); whc 94 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 96 drivers/staging/wusbcore/host/whci/wusb.c struct di_buf_entry *di = &whc->di_buf[idx]; whc 99 drivers/staging/wusbcore/host/whci/wusb.c mutex_lock(&whc->mutex); whc 105 drivers/staging/wusbcore/host/whci/wusb.c ret = whc_update_di(whc, idx); whc 107 drivers/staging/wusbcore/host/whci/wusb.c mutex_unlock(&whc->mutex); whc 118 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 125 drivers/staging/wusbcore/host/whci/wusb.c le_writel(dntsctrl, whc->base + WUSBDNTSCTRL); whc 130 drivers/staging/wusbcore/host/whci/wusb.c static int whc_set_key(struct whc *whc, u8 key_index, uint32_t tkid, whc 143 drivers/staging/wusbcore/host/whci/wusb.c le_writel(tkid, whc->base + WUSBTKID); whc 145 drivers/staging/wusbcore/host/whci/wusb.c le_writel(seckey[i], whc->base + WUSBSECKEY + 4*i); whc 146 drivers/staging/wusbcore/host/whci/wusb.c le_writel(setkeycmd, whc->base + WUSBSETSECKEYCMD); whc 148 drivers/staging/wusbcore/host/whci/wusb.c ret = whci_wait_for(&whc->umc->dev, whc->base + WUSBSETSECKEYCMD, whc 163 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 164 drivers/staging/wusbcore/host/whci/wusb.c struct di_buf_entry *di = &whc->di_buf[port_idx]; whc 167 drivers/staging/wusbcore/host/whci/wusb.c mutex_lock(&whc->mutex); whc 170 drivers/staging/wusbcore/host/whci/wusb.c ret = whc_set_key(whc, port_idx, tkid, ptk, key_size, false); whc 179 drivers/staging/wusbcore/host/whci/wusb.c ret = whc_update_di(whc, port_idx); whc 181 drivers/staging/wusbcore/host/whci/wusb.c mutex_unlock(&whc->mutex); whc 194 drivers/staging/wusbcore/host/whci/wusb.c struct whc *whc = wusbhc_to_whc(wusbhc); whc 197 drivers/staging/wusbcore/host/whci/wusb.c mutex_lock(&whc->mutex); whc 199 drivers/staging/wusbcore/host/whci/wusb.c ret = whc_set_key(whc, whc->n_devices, tkid, gtk, key_size, true); whc 201 drivers/staging/wusbcore/host/whci/wusb.c mutex_unlock(&whc->mutex); whc 206 drivers/staging/wusbcore/host/whci/wusb.c int whc_set_cluster_id(struct whc *whc, u8 bcid) whc 208 drivers/staging/wusbcore/host/whci/wusb.c whc_write_wusbcmd(whc, WUSBCMD_BCID_MASK, WUSBCMD_BCID(bcid));