• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/host/whci/

Lines Matching defs:whc

28 struct whc_qset *qset_alloc(struct whc *whc, gfp_t mem_flags)
33 qset = dma_pool_alloc(whc->qset_pool, mem_flags, &dma);
39 qset->whc = whc;
53 static void qset_fill_qh(struct whc *whc, struct whc_qset *qset, struct urb *urb)
86 if (phy_rate > whc->wusbhc.phy_rate)
87 phy_rate = whc->wusbhc.phy_rate;
119 void qset_clear(struct whc *whc, struct whc_qset *qset)
141 void qset_reset(struct whc *whc, struct whc_qset *qset)
154 struct whc_qset *get_qset(struct whc *whc, struct urb *urb,
161 qset = qset_alloc(whc, mem_flags);
167 qset_fill_qh(whc, qset, urb);
172 void qset_remove_complete(struct whc *whc, struct whc_qset *qset)
185 enum whc_update qset_add_qtds(struct whc *whc, struct whc_qset *qset)
251 static void qset_remove_qtd(struct whc *whc, struct whc_qset *qset)
260 static void qset_copy_bounce_to_sg(struct whc *whc, struct whc_std *std)
292 * @whc: the WHCI host controller
295 void qset_free_std(struct whc *whc, struct whc_std *std)
307 dma_unmap_single(whc->wusbhc.dev, dma_addr,
310 qset_copy_bounce_to_sg(whc, std);
315 dma_unmap_single(whc->wusbhc.dev, std->dma_addr,
327 static void qset_remove_qtds(struct whc *whc, struct whc_qset *qset,
336 qset_remove_qtd(whc, qset);
337 qset_free_std(whc, std);
350 qset_free_std(qset->whc, std);
354 static int qset_fill_page_list(struct whc *whc, struct whc_std *std, gfp_t mem_flags)
375 std->dma_addr = dma_map_single(whc->wusbhc.dev, std->pl_virt, pl_len, DMA_TO_DEVICE);
392 struct whc *whc = qset->whc;
396 asl_update(whc, WUSBCMD_ASYNC_UPDATED
400 pzl_update(whc, WUSBCMD_PERIODIC_UPDATED
404 spin_lock_irqsave(&whc->lock, flags);
405 qset_remove_urb(whc, qset, wurb->urb, wurb->status);
406 spin_unlock_irqrestore(&whc->lock, flags);
409 static struct whc_std *qset_new_std(struct whc *whc, struct whc_qset *qset,
427 static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *urb,
476 std = qset_new_std(whc, qset, urb, mem_flags);
529 std->dma_addr = dma_map_single(whc->wusbhc.dev, std->pl_virt,
543 static int qset_add_urb_sg_linearize(struct whc *whc, struct whc_qset *qset,
574 std = qset_new_std(whc, qset, urb, mem_flags);
609 std->dma_addr = dma_map_single(&whc->umc->dev, std->bounce_buf, std->len,
612 if (qset_fill_page_list(whc, std, mem_flags) < 0)
628 int qset_add_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb,
646 ret = qset_add_urb_sg(whc, qset, urb, mem_flags);
649 ret = qset_add_urb_sg_linearize(whc, qset, urb, mem_flags);
668 std = qset_new_std(whc, qset, urb, mem_flags);
676 if (qset_fill_page_list(whc, std, mem_flags) < 0)
696 void qset_remove_urb(struct whc *whc, struct whc_qset *qset,
699 struct wusbhc *wusbhc = &whc->wusbhc;
704 spin_unlock(&whc->lock);
706 spin_lock(&whc->lock);
742 void process_inactive_qtd(struct whc *whc, struct whc_qset *qset,
759 qset_remove_qtd(whc, qset);
760 qset_free_std(whc, std);
767 qset_remove_qtds(whc, qset, urb);
768 qset_remove_urb(whc, qset, urb, get_urb_status_from_qtd(urb, status));
782 void process_halted_qtd(struct whc *whc, struct whc_qset *qset,
791 qset_remove_qtds(whc, qset, urb);
792 qset_remove_urb(whc, qset, urb, urb_status);
797 qset_remove_qtd(whc, qset);
804 void qset_free(struct whc *whc, struct whc_qset *qset)
806 dma_pool_free(whc->qset_pool, qset, qset->qset_dma);
812 void qset_delete(struct whc *whc, struct whc_qset *qset)
815 qset_free(whc, qset);