/drivers/usb/host/whci/ |
H A D | hw.c | 26 void whc_write_wusbcmd(struct whc *whc, u32 mask, u32 val) argument 31 spin_lock_irqsave(&whc->lock, flags); 33 cmd = le_readl(whc->base + WUSBCMD); 35 le_writel(cmd, whc->base + WUSBCMD); 37 spin_unlock_irqrestore(&whc->lock, flags); 42 * @whc: the WHCI HC 48 int whc_do_gencmd(struct whc *whc, u32 cmd, u32 params, void *addr, size_t len) argument 55 mutex_lock(&whc 98 whc_hw_error(struct whc *whc, const char *reason) argument [all...] |
H A D | init.c | 30 static void whc_hw_reset(struct whc *whc) argument 32 le_writel(WUSBCMD_WHCRESET, whc->base + WUSBCMD); 33 whci_wait_for(&whc->umc->dev, whc->base + WUSBCMD, WUSBCMD_WHCRESET, 0, 37 static void whc_hw_init_di_buf(struct whc *whc) argument 42 for (d = 0; d < whc->n_devices; d++) 43 whc->di_buf[d].addr_sec_info = WHC_DI_DISABLE; 45 le_writeq(whc 48 whc_hw_init_dn_buf(struct whc *whc) argument 57 whc_init(struct whc *whc) argument 161 whc_clean_up(struct whc *whc) argument [all...] |
H A D | int.c | 26 static void transfer_done(struct whc *whc) argument 28 queue_work(whc->workqueue, &whc->async_work); 29 queue_work(whc->workqueue, &whc->periodic_work); 35 struct whc *whc = wusbhc_to_whc(wusbhc); local 38 sts = le_readl(whc->base + WUSBSTS); 41 le_writel(sts & WUSBSTS_INT_MASK, whc 68 process_dn_buf(struct whc *whc) argument 88 struct whc *whc = container_of(work, struct whc, dn_work); local [all...] |
H A D | hcd.c | 47 struct whc *whc = wusbhc_to_whc(wusbhc); local 59 whc->base + WUSBINTR); 63 ret = whc_set_cluster_id(whc, bcid); 69 whc_write_wusbcmd(whc, WUSBCMD_RUN, WUSBCMD_RUN); 91 struct whc *whc = wusbhc_to_whc(wusbhc); local 96 le_writel(0, whc->base + WUSBINTR); 97 whc_write_wusbcmd(whc, WUSBCMD_RUN, 0); 98 whci_wait_for(&whc 121 struct whc *whc = wusbhc_to_whc(wusbhc); local 148 struct whc *whc = wusbhc_to_whc(wusbhc); local 176 struct whc *whc = wusbhc_to_whc(wusbhc); local 194 struct whc *whc = wusbhc_to_whc(wusbhc); local 244 struct whc *whc = NULL; local 327 struct whc *whc = wusbhc_to_whc(wusbhc); local [all...] |
H A D | asl.c | 28 static void qset_get_next_prev(struct whc *whc, struct whc_qset *qset, argument 33 BUG_ON(list_empty(&whc->async_list)); 36 if (n == &whc->async_list) 39 if (p == &whc->async_list) 47 static void asl_qset_insert_begin(struct whc *whc, struct whc_qset *qset) argument 49 list_move(&qset->list_node, &whc->async_list); 53 static void asl_qset_insert(struct whc *whc, struc argument 66 asl_qset_remove(struct whc *whc, struct whc_qset *qset) argument 97 process_qset(struct whc *whc, struct whc_qset *qset) argument 145 asl_start(struct whc *whc) argument 159 asl_stop(struct whc *whc) argument 176 asl_update(struct whc *whc, uint32_t wusbcmd) argument 204 struct whc *whc = container_of(work, struct whc, async_work); local 265 asl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags) argument 308 asl_urb_dequeue(struct whc *whc, struct urb *urb, int status) argument 348 asl_qset_delete(struct whc *whc, struct whc_qset *qset) argument 361 asl_init(struct whc *whc) argument 380 asl_clean_up(struct whc *whc) argument [all...] |
H A D | debug.c | 43 if (&qset->list_node == qset->whc->async_list.prev) { 88 struct whc *whc = s->private; local 92 for (d = 0; d < whc->n_devices; d++) { 93 struct di_buf_entry *di = &whc->di_buf[d]; 111 struct whc *whc = s->private; local 114 list_for_each_entry(qset, &whc->async_list, list_node) { 123 struct whc *whc local 175 whc_dbg_init(struct whc *whc) argument 195 whc_dbg_clean_up(struct whc *whc) argument [all...] |
H A D | pzl.c | 28 static void update_pzl_pointers(struct whc *whc, int period, u64 addr) argument 32 whc_qset_set_link_ptr(&whc->pz_list[0], addr); 33 whc_qset_set_link_ptr(&whc->pz_list[2], addr); 34 whc_qset_set_link_ptr(&whc->pz_list[4], addr); 35 whc_qset_set_link_ptr(&whc->pz_list[6], addr); 36 whc_qset_set_link_ptr(&whc->pz_list[8], addr); 37 whc_qset_set_link_ptr(&whc->pz_list[10], addr); 38 whc_qset_set_link_ptr(&whc->pz_list[12], addr); 39 whc_qset_set_link_ptr(&whc 65 qset_get_period(struct whc *whc, struct whc_qset *qset) argument 76 qset_insert_in_sw_list(struct whc *whc, struct whc_qset *qset) argument 87 pzl_qset_remove(struct whc *whc, struct whc_qset *qset) argument 103 pzl_process_qset(struct whc *whc, struct whc_qset *qset) argument 158 pzl_start(struct whc *whc) argument 172 pzl_stop(struct whc *whc) argument 189 pzl_update(struct whc *whc, uint32_t wusbcmd) argument 207 update_pzl_hw_view(struct whc *whc) argument 233 struct whc *whc = container_of(work, struct whc, periodic_work); local 293 pzl_urb_enqueue(struct whc *whc, struct urb *urb, gfp_t mem_flags) argument 336 pzl_urb_dequeue(struct whc *whc, struct urb *urb, int status) argument 377 pzl_qset_delete(struct whc *whc, struct whc_qset *qset) argument 388 pzl_init(struct whc *whc) argument 412 pzl_clean_up(struct whc *whc) argument [all...] |
H A D | whcd.h | 34 struct whc { struct 78 #define wusbhc_to_whc(w) (container_of((w), struct whc, wusbhc)) 143 int whc_init(struct whc *whc); 144 void whc_clean_up(struct whc *whc); 147 void whc_write_wusbcmd(struct whc *whc, u32 mask, u32 val); 148 int whc_do_gencmd(struct whc *whc, u3 [all...] |
H A D | wusb.c | 26 static int whc_update_di(struct whc *whc, int idx) argument 31 le_writel(bit, whc->base + WUSBDIBUPDATED + offset); 33 return whci_wait_for(&whc->umc->dev, 34 whc->base + WUSBDIBUPDATED + offset, bit, 0, 46 struct whc *whc = wusbhc_to_whc(wusbhc); local 48 asl_start(whc); 49 pzl_start(whc); 56 struct whc *wh local 73 struct whc *whc = wusbhc_to_whc(wusbhc); local 86 struct whc *whc = wusbhc_to_whc(wusbhc); local 96 struct whc *whc = wusbhc_to_whc(wusbhc); local 106 struct whc *whc = wusbhc_to_whc(wusbhc); local 130 struct whc *whc = wusbhc_to_whc(wusbhc); local 142 whc_set_key(struct whc *whc, u8 key_index, uint32_t tkid, const void *key, size_t key_size, bool is_gtk) argument 175 struct whc *whc = wusbhc_to_whc(wusbhc); local 206 struct whc *whc = wusbhc_to_whc(wusbhc); local 218 whc_set_cluster_id(struct whc *whc, u8 bcid) argument [all...] |
H A D | qset.c | 28 struct whc_qset *qset_alloc(struct whc *whc, gfp_t mem_flags) argument 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) argument 86 if (phy_rate > whc->wusbhc.phy_rate) 87 phy_rate = whc->wusbhc.phy_rate; 123 void qset_clear(struct whc *wh argument 145 qset_reset(struct whc *whc, struct whc_qset *qset) argument 158 get_qset(struct whc *whc, struct urb *urb, gfp_t mem_flags) argument 176 qset_remove_complete(struct whc *whc, struct whc_qset *qset) argument 189 qset_add_qtds(struct whc *whc, struct whc_qset *qset) argument 255 qset_remove_qtd(struct whc *whc, struct whc_qset *qset) argument 264 qset_copy_bounce_to_sg(struct whc *whc, struct whc_std *std) argument 299 qset_free_std(struct whc *whc, struct whc_std *std) argument 331 qset_remove_qtds(struct whc *whc, struct whc_qset *qset, struct urb *urb) argument 358 qset_fill_page_list(struct whc *whc, struct whc_std *std, gfp_t mem_flags) argument 396 struct whc *whc = qset->whc; local 413 qset_new_std(struct whc *whc, struct whc_qset *qset, struct urb *urb, gfp_t mem_flags) argument 431 qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *urb, gfp_t mem_flags) argument 547 qset_add_urb_sg_linearize(struct whc *whc, struct whc_qset *qset, struct urb *urb, gfp_t mem_flags) argument 632 qset_add_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb, gfp_t mem_flags) argument 700 qset_remove_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb, int status) argument 746 process_inactive_qtd(struct whc *whc, struct whc_qset *qset, struct whc_qtd *qtd) argument 798 process_halted_qtd(struct whc *whc, struct whc_qset *qset, struct whc_qtd *qtd) argument 820 qset_free(struct whc *whc, struct whc_qset *qset) argument 828 qset_delete(struct whc *whc, struct whc_qset *qset) argument [all...] |
H A D | whci-hc.h | 211 * @whc: WHCI HC this qset is for 250 struct whc *whc; member in struct:whc_qset
|