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));