isp1362_hcd 119 drivers/usb/host/isp1362-hcd.c static inline void isp1362_enable_int(struct isp1362_hcd *isp1362_hcd, u16 mask) isp1362_hcd 121 drivers/usb/host/isp1362-hcd.c if ((isp1362_hcd->irqenb | mask) == isp1362_hcd->irqenb) isp1362_hcd 123 drivers/usb/host/isp1362-hcd.c if (mask & ~isp1362_hcd->irqenb) isp1362_hcd 124 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINT, mask & ~isp1362_hcd->irqenb); isp1362_hcd 125 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb |= mask; isp1362_hcd 126 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->irq_active) isp1362_hcd 128 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, isp1362_hcd->irqenb); isp1362_hcd 133 drivers/usb/host/isp1362-hcd.c static inline struct isp1362_ep_queue *get_ptd_queue(struct isp1362_hcd *isp1362_hcd, isp1362_hcd 138 drivers/usb/host/isp1362-hcd.c if (offset < isp1362_hcd->istl_queue[1].buf_start) isp1362_hcd 139 drivers/usb/host/isp1362-hcd.c epq = &isp1362_hcd->istl_queue[0]; isp1362_hcd 140 drivers/usb/host/isp1362-hcd.c else if (offset < isp1362_hcd->intl_queue.buf_start) isp1362_hcd 141 drivers/usb/host/isp1362-hcd.c epq = &isp1362_hcd->istl_queue[1]; isp1362_hcd 142 drivers/usb/host/isp1362-hcd.c else if (offset < isp1362_hcd->atl_queue.buf_start) isp1362_hcd 143 drivers/usb/host/isp1362-hcd.c epq = &isp1362_hcd->intl_queue; isp1362_hcd 144 drivers/usb/host/isp1362-hcd.c else if (offset < isp1362_hcd->atl_queue.buf_start + isp1362_hcd 145 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_size) isp1362_hcd 146 drivers/usb/host/isp1362-hcd.c epq = &isp1362_hcd->atl_queue; isp1362_hcd 260 drivers/usb/host/isp1362-hcd.c static void prepare_ptd(struct isp1362_hcd *isp1362_hcd, struct urb *urb, isp1362_hcd 345 drivers/usb/host/isp1362-hcd.c static void isp1362_write_ptd(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep, isp1362_hcd 352 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, ptd, ep->ptd_offset, PTD_HEADER_SIZE); isp1362_hcd 354 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, ep->data, isp1362_hcd 361 drivers/usb/host/isp1362-hcd.c static void isp1362_read_ptd(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep, isp1362_hcd 374 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, ptd, ep->ptd_offset, PTD_HEADER_SIZE); isp1362_hcd 388 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, ep->data, isp1362_hcd 398 drivers/usb/host/isp1362-hcd.c static void remove_ptd(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep) isp1362_hcd 407 drivers/usb/host/isp1362-hcd.c epq = get_ptd_queue(isp1362_hcd, ep->ptd_offset); isp1362_hcd 412 drivers/usb/host/isp1362-hcd.c list_add_tail(&ep->remove_list, &isp1362_hcd->remove_list); isp1362_hcd 414 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, HCuPINT_SOF); isp1362_hcd 426 drivers/usb/host/isp1362-hcd.c if (epq == &isp1362_hcd->atl_queue) { isp1362_hcd 428 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCATLSKIP), epq->skip_map); isp1362_hcd 429 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, epq->skip_map); isp1362_hcd 431 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ATL_ACTIVE); isp1362_hcd 432 drivers/usb/host/isp1362-hcd.c } else if (epq == &isp1362_hcd->intl_queue) { isp1362_hcd 434 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTLSKIP), epq->skip_map); isp1362_hcd 435 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, epq->skip_map); isp1362_hcd 437 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_INTL_ACTIVE); isp1362_hcd 445 drivers/usb/host/isp1362-hcd.c static void finish_request(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep, isp1362_hcd 447 drivers/usb/host/isp1362-hcd.c __releases(isp1362_hcd->lock) isp1362_hcd 448 drivers/usb/host/isp1362-hcd.c __acquires(isp1362_hcd->lock) isp1362_hcd 469 drivers/usb/host/isp1362-hcd.c usb_hcd_unlink_urb_from_ep(isp1362_hcd_to_hcd(isp1362_hcd), urb); isp1362_hcd 470 drivers/usb/host/isp1362-hcd.c spin_unlock(&isp1362_hcd->lock); isp1362_hcd 471 drivers/usb/host/isp1362-hcd.c usb_hcd_giveback_urb(isp1362_hcd_to_hcd(isp1362_hcd), urb, status); isp1362_hcd 472 drivers/usb/host/isp1362-hcd.c spin_lock(&isp1362_hcd->lock); isp1362_hcd 489 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch], isp1362_hcd 490 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch] - ep->load); isp1362_hcd 491 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch] -= ep->load; isp1362_hcd 499 drivers/usb/host/isp1362-hcd.c static void postproc_ep(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep) isp1362_hcd 649 drivers/usb/host/isp1362-hcd.c finish_request(isp1362_hcd, ep, urb, urbstat); isp1362_hcd 653 drivers/usb/host/isp1362-hcd.c static void finish_unlinks(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 658 drivers/usb/host/isp1362-hcd.c list_for_each_entry_safe(ep, tmp, &isp1362_hcd->remove_list, remove_list) { isp1362_hcd 660 drivers/usb/host/isp1362-hcd.c get_ptd_queue(isp1362_hcd, ep->ptd_offset); isp1362_hcd 674 drivers/usb/host/isp1362-hcd.c finish_request(isp1362_hcd, ep, urb, -ESHUTDOWN); isp1362_hcd 687 drivers/usb/host/isp1362-hcd.c static inline void enable_atl_transfers(struct isp1362_hcd *isp1362_hcd, int count) isp1362_hcd 690 drivers/usb/host/isp1362-hcd.c if (count < isp1362_hcd->atl_queue.ptd_count) isp1362_hcd 691 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCATLDTC, count); isp1362_hcd 692 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, HCuPINT_ATL); isp1362_hcd 693 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, isp1362_hcd->atl_queue.skip_map); isp1362_hcd 694 drivers/usb/host/isp1362-hcd.c isp1362_set_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ATL_ACTIVE); isp1362_hcd 696 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, HCuPINT_SOF); isp1362_hcd 699 drivers/usb/host/isp1362-hcd.c static inline void enable_intl_transfers(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 701 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, HCuPINT_INTL); isp1362_hcd 702 drivers/usb/host/isp1362-hcd.c isp1362_set_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_INTL_ACTIVE); isp1362_hcd 703 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, isp1362_hcd->intl_queue.skip_map); isp1362_hcd 706 drivers/usb/host/isp1362-hcd.c static inline void enable_istl_transfers(struct isp1362_hcd *isp1362_hcd, int flip) isp1362_hcd 708 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, flip ? HCuPINT_ISTL1 : HCuPINT_ISTL0); isp1362_hcd 709 drivers/usb/host/isp1362-hcd.c isp1362_set_mask16(isp1362_hcd, HCBUFSTAT, flip ? isp1362_hcd 713 drivers/usb/host/isp1362-hcd.c static int submit_req(struct isp1362_hcd *isp1362_hcd, struct urb *urb, isp1362_hcd 718 drivers/usb/host/isp1362-hcd.c prepare_ptd(isp1362_hcd, urb, ep, epq, 0); isp1362_hcd 736 drivers/usb/host/isp1362-hcd.c isp1362_write_ptd(isp1362_hcd, ep, epq); isp1362_hcd 742 drivers/usb/host/isp1362-hcd.c static void start_atl_transfers(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 745 drivers/usb/host/isp1362-hcd.c struct isp1362_ep_queue *epq = &isp1362_hcd->atl_queue; isp1362_hcd 754 drivers/usb/host/isp1362-hcd.c list_for_each_entry(ep, &isp1362_hcd->async, schedule) { isp1362_hcd 766 drivers/usb/host/isp1362-hcd.c ret = submit_req(isp1362_hcd, urb, ep, epq); isp1362_hcd 781 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->async.next != isp1362_hcd->async.prev) { isp1362_hcd 783 drivers/usb/host/isp1362-hcd.c list_move(&isp1362_hcd->async, isp1362_hcd->async.next); isp1362_hcd 786 drivers/usb/host/isp1362-hcd.c enable_atl_transfers(isp1362_hcd, defer ? 0 : ptd_count); isp1362_hcd 795 drivers/usb/host/isp1362-hcd.c static void start_intl_transfers(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 798 drivers/usb/host/isp1362-hcd.c struct isp1362_ep_queue *epq = &isp1362_hcd->intl_queue; isp1362_hcd 806 drivers/usb/host/isp1362-hcd.c list_for_each_entry(ep, &isp1362_hcd->periodic, schedule) { isp1362_hcd 818 drivers/usb/host/isp1362-hcd.c ret = submit_req(isp1362_hcd, urb, ep, epq); isp1362_hcd 833 drivers/usb/host/isp1362-hcd.c enable_intl_transfers(isp1362_hcd); isp1362_hcd 856 drivers/usb/host/isp1362-hcd.c static void start_iso_transfers(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 859 drivers/usb/host/isp1362-hcd.c int flip = isp1362_hcd->istl_flip; isp1362_hcd 864 drivers/usb/host/isp1362-hcd.c u16 fno = isp1362_read_reg32(isp1362_hcd, HCFMNUM); isp1362_hcd 867 drivers/usb/host/isp1362-hcd.c epq = &isp1362_hcd->istl_queue[flip]; isp1362_hcd 877 drivers/usb/host/isp1362-hcd.c list_for_each_entry_safe(ep, tmp, &isp1362_hcd->isoc, schedule) { isp1362_hcd 885 drivers/usb/host/isp1362-hcd.c finish_request(isp1362_hcd, ep, urb, -EOVERFLOW); isp1362_hcd 895 drivers/usb/host/isp1362-hcd.c prepare_ptd(isp1362_hcd, urb, ep, epq, fno); isp1362_hcd 916 drivers/usb/host/isp1362-hcd.c isp1362_write_ptd(isp1362_hcd, ep, epq); isp1362_hcd 921 drivers/usb/host/isp1362-hcd.c enable_istl_transfers(isp1362_hcd, flip); isp1362_hcd 928 drivers/usb/host/isp1362-hcd.c if (!(isp1362_read_reg16(isp1362_hcd, HCBUFSTAT) & isp1362_hcd 937 drivers/usb/host/isp1362-hcd.c static void finish_transfers(struct isp1362_hcd *isp1362_hcd, unsigned long done_map, isp1362_hcd 959 drivers/usb/host/isp1362-hcd.c isp1362_read_ptd(isp1362_hcd, ep, epq); isp1362_hcd 972 drivers/usb/host/isp1362-hcd.c postproc_ep(isp1362_hcd, ep); isp1362_hcd 983 drivers/usb/host/isp1362-hcd.c static void finish_iso_transfers(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep_queue *epq) isp1362_hcd 999 drivers/usb/host/isp1362-hcd.c isp1362_read_ptd(isp1362_hcd, ep, epq); isp1362_hcd 1001 drivers/usb/host/isp1362-hcd.c postproc_ep(isp1362_hcd, ep); isp1362_hcd 1010 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1014 drivers/usb/host/isp1362-hcd.c spin_lock(&isp1362_hcd->lock); isp1362_hcd 1016 drivers/usb/host/isp1362-hcd.c BUG_ON(isp1362_hcd->irq_active++); isp1362_hcd 1018 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, 0); isp1362_hcd 1020 drivers/usb/host/isp1362-hcd.c irqstat = isp1362_read_reg16(isp1362_hcd, HCuPINT); isp1362_hcd 1021 drivers/usb/host/isp1362-hcd.c DBG(3, "%s: got IRQ %04x:%04x\n", __func__, irqstat, isp1362_hcd->irqenb); isp1362_hcd 1024 drivers/usb/host/isp1362-hcd.c irqstat &= isp1362_hcd->irqenb; isp1362_hcd 1025 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINT, irqstat); isp1362_hcd 1029 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb &= ~HCuPINT_SOF; isp1362_hcd 1030 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_SOF]++; isp1362_hcd 1034 drivers/usb/host/isp1362-hcd.c isp1362_hcd->fmindex = isp1362_read_reg32(isp1362_hcd, HCFMNUM); isp1362_hcd 1035 drivers/usb/host/isp1362-hcd.c if (!list_empty(&isp1362_hcd->remove_list)) isp1362_hcd 1036 drivers/usb/host/isp1362-hcd.c finish_unlinks(isp1362_hcd); isp1362_hcd 1037 drivers/usb/host/isp1362-hcd.c if (!list_empty(&isp1362_hcd->async) && !(irqstat & HCuPINT_ATL)) { isp1362_hcd 1038 drivers/usb/host/isp1362-hcd.c if (list_empty(&isp1362_hcd->atl_queue.active)) { isp1362_hcd 1039 drivers/usb/host/isp1362-hcd.c start_atl_transfers(isp1362_hcd); isp1362_hcd 1041 drivers/usb/host/isp1362-hcd.c isp1362_enable_int(isp1362_hcd, HCuPINT_ATL); isp1362_hcd 1042 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, isp1362_hcd 1043 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.skip_map); isp1362_hcd 1044 drivers/usb/host/isp1362-hcd.c isp1362_set_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ATL_ACTIVE); isp1362_hcd 1050 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_ISTL0]++; isp1362_hcd 1053 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ISTL0_FULL); isp1362_hcd 1055 drivers/usb/host/isp1362-hcd.c WARN_ON((int)!!isp1362_hcd->istl_flip); isp1362_hcd 1056 drivers/usb/host/isp1362-hcd.c WARN_ON(isp1362_read_reg16(isp1362_hcd, HCBUFSTAT) & isp1362_hcd 1058 drivers/usb/host/isp1362-hcd.c WARN_ON(!(isp1362_read_reg16(isp1362_hcd, HCBUFSTAT) & isp1362_hcd 1060 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb &= ~HCuPINT_ISTL0; isp1362_hcd 1064 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_ISTL1]++; isp1362_hcd 1067 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ISTL1_FULL); isp1362_hcd 1069 drivers/usb/host/isp1362-hcd.c WARN_ON(!(int)isp1362_hcd->istl_flip); isp1362_hcd 1070 drivers/usb/host/isp1362-hcd.c WARN_ON(isp1362_read_reg16(isp1362_hcd, HCBUFSTAT) & isp1362_hcd 1072 drivers/usb/host/isp1362-hcd.c WARN_ON(!(isp1362_read_reg16(isp1362_hcd, HCBUFSTAT) & isp1362_hcd 1074 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb &= ~HCuPINT_ISTL1; isp1362_hcd 1080 drivers/usb/host/isp1362-hcd.c finish_iso_transfers(isp1362_hcd, isp1362_hcd 1081 drivers/usb/host/isp1362-hcd.c &isp1362_hcd->istl_queue[isp1362_hcd->istl_flip]); isp1362_hcd 1082 drivers/usb/host/isp1362-hcd.c start_iso_transfers(isp1362_hcd); isp1362_hcd 1083 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_flip = 1 - isp1362_hcd->istl_flip; isp1362_hcd 1087 drivers/usb/host/isp1362-hcd.c u32 done_map = isp1362_read_reg32(isp1362_hcd, HCINTLDONE); isp1362_hcd 1088 drivers/usb/host/isp1362-hcd.c u32 skip_map = isp1362_read_reg32(isp1362_hcd, HCINTLSKIP); isp1362_hcd 1089 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_INTL]++; isp1362_hcd 1095 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, skip_map | done_map); isp1362_hcd 1098 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_INTL_ACTIVE); isp1362_hcd 1104 drivers/usb/host/isp1362-hcd.c finish_transfers(isp1362_hcd, done_map, &isp1362_hcd->intl_queue); isp1362_hcd 1105 drivers/usb/host/isp1362-hcd.c start_intl_transfers(isp1362_hcd); isp1362_hcd 1110 drivers/usb/host/isp1362-hcd.c u32 done_map = isp1362_read_reg32(isp1362_hcd, HCATLDONE); isp1362_hcd 1111 drivers/usb/host/isp1362-hcd.c u32 skip_map = isp1362_read_reg32(isp1362_hcd, HCATLSKIP); isp1362_hcd 1112 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_ATL]++; isp1362_hcd 1118 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, skip_map | done_map); isp1362_hcd 1120 drivers/usb/host/isp1362-hcd.c isp1362_clr_mask16(isp1362_hcd, HCBUFSTAT, HCBUFSTAT_ATL_ACTIVE); isp1362_hcd 1123 drivers/usb/host/isp1362-hcd.c finish_transfers(isp1362_hcd, done_map, &isp1362_hcd->atl_queue); isp1362_hcd 1124 drivers/usb/host/isp1362-hcd.c start_atl_transfers(isp1362_hcd); isp1362_hcd 1130 drivers/usb/host/isp1362-hcd.c u32 intstat = isp1362_read_reg32(isp1362_hcd, HCINTSTAT); isp1362_hcd 1131 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_OPR]++; isp1362_hcd 1134 drivers/usb/host/isp1362-hcd.c DBG(2, "%s: OPR %08x:%08x\n", __func__, intstat, isp1362_hcd->intenb); isp1362_hcd 1135 drivers/usb/host/isp1362-hcd.c intstat &= isp1362_hcd->intenb; isp1362_hcd 1141 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhstatus = isp1362_read_reg32(isp1362_hcd, HCRHSTATUS); isp1362_hcd 1142 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[0] = isp1362_read_reg32(isp1362_hcd, HCRHPORT1); isp1362_hcd 1143 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[1] = isp1362_read_reg32(isp1362_hcd, HCRHPORT2); isp1362_hcd 1147 drivers/usb/host/isp1362-hcd.c isp1362_show_reg(isp1362_hcd, HCCONTROL); isp1362_hcd 1150 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTSTAT, intstat); isp1362_hcd 1156 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_SUSP]++; isp1362_hcd 1164 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_stat[ISP1362_INT_CLKRDY]++; isp1362_hcd 1166 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb &= ~HCuPINT_CLKRDY; isp1362_hcd 1174 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, isp1362_hcd->irqenb); isp1362_hcd 1175 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irq_active--; isp1362_hcd 1176 drivers/usb/host/isp1362-hcd.c spin_unlock(&isp1362_hcd->lock); isp1362_hcd 1184 drivers/usb/host/isp1362-hcd.c static int balance(struct isp1362_hcd *isp1362_hcd, u16 interval, u16 load) isp1362_hcd 1192 drivers/usb/host/isp1362-hcd.c if (branch < 0 || isp1362_hcd->load[branch] > isp1362_hcd->load[i]) { isp1362_hcd 1196 drivers/usb/host/isp1362-hcd.c if ((isp1362_hcd->load[j] + load) > MAX_PERIODIC_LOAD) { isp1362_hcd 1198 drivers/usb/host/isp1362-hcd.c load, j, isp1362_hcd->load[j], MAX_PERIODIC_LOAD); isp1362_hcd 1220 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1256 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1259 drivers/usb/host/isp1362-hcd.c if (!((isp1362_hcd->rhport[0] | isp1362_hcd->rhport[1]) & isp1362_hcd 1308 drivers/usb/host/isp1362-hcd.c ep->num_req = isp1362_hcd->req_serial++; isp1362_hcd 1317 drivers/usb/host/isp1362-hcd.c list_add_tail(&ep->schedule, &isp1362_hcd->async); isp1362_hcd 1328 drivers/usb/host/isp1362-hcd.c retval = balance(isp1362_hcd, ep->interval, ep->load); isp1362_hcd 1335 drivers/usb/host/isp1362-hcd.c isp1362_hcd->fmindex = isp1362_read_reg32(isp1362_hcd, HCFMNUM); isp1362_hcd 1337 drivers/usb/host/isp1362-hcd.c __func__, isp1362_hcd->fmindex, ep->branch, isp1362_hcd 1338 drivers/usb/host/isp1362-hcd.c ((isp1362_hcd->fmindex + PERIODIC_SIZE - 1) & isp1362_hcd 1340 drivers/usb/host/isp1362-hcd.c (isp1362_hcd->fmindex & (PERIODIC_SIZE - 1)) + ep->branch); isp1362_hcd 1344 drivers/usb/host/isp1362-hcd.c u16 frame = isp1362_hcd->fmindex; isp1362_hcd 1349 drivers/usb/host/isp1362-hcd.c if (frame_before(frame, isp1362_hcd->fmindex)) isp1362_hcd 1354 drivers/usb/host/isp1362-hcd.c list_add_tail(&ep->schedule, &isp1362_hcd->isoc); isp1362_hcd 1357 drivers/usb/host/isp1362-hcd.c list_add_tail(&ep->schedule, &isp1362_hcd->periodic); isp1362_hcd 1363 drivers/usb/host/isp1362-hcd.c ep->load / ep->interval, isp1362_hcd->load[ep->branch], isp1362_hcd 1364 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch] + ep->load); isp1362_hcd 1365 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch] += ep->load; isp1362_hcd 1369 drivers/usb/host/isp1362-hcd.c ALIGNSTAT(isp1362_hcd, urb->transfer_buffer); isp1362_hcd 1374 drivers/usb/host/isp1362-hcd.c start_atl_transfers(isp1362_hcd); isp1362_hcd 1377 drivers/usb/host/isp1362-hcd.c start_intl_transfers(isp1362_hcd); isp1362_hcd 1380 drivers/usb/host/isp1362-hcd.c start_iso_transfers(isp1362_hcd); isp1362_hcd 1391 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1399 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1407 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1415 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1427 drivers/usb/host/isp1362-hcd.c remove_ptd(isp1362_hcd, ep); isp1362_hcd 1434 drivers/usb/host/isp1362-hcd.c finish_request(isp1362_hcd, ep, urb, status); isp1362_hcd 1442 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1452 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1458 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1463 drivers/usb/host/isp1362-hcd.c remove_ptd(isp1362_hcd, ep); isp1362_hcd 1467 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1481 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1485 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1486 drivers/usb/host/isp1362-hcd.c fmnum = isp1362_read_reg32(isp1362_hcd, HCFMNUM); isp1362_hcd 1487 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1497 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1509 drivers/usb/host/isp1362-hcd.c ports = isp1362_hcd->rhdesca & RH_A_NDP; isp1362_hcd 1512 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1514 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->rhstatus & (RH_HS_LPSC | RH_HS_OCIC)) isp1362_hcd 1520 drivers/usb/host/isp1362-hcd.c u32 status = isp1362_hcd->rhport[i]; isp1362_hcd 1532 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1536 drivers/usb/host/isp1362-hcd.c static void isp1362_hub_descriptor(struct isp1362_hcd *isp1362_hcd, isp1362_hcd 1539 drivers/usb/host/isp1362-hcd.c u32 reg = isp1362_hcd->rhdesca; isp1362_hcd 1566 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1570 drivers/usb/host/isp1362-hcd.c int ports = isp1362_hcd->rhdesca & RH_A_NDP; isp1362_hcd 1579 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1580 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHSTATUS, RH_HS_OCIC); isp1362_hcd 1581 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1603 drivers/usb/host/isp1362-hcd.c isp1362_hub_descriptor(isp1362_hcd, (struct usb_hub_descriptor *)buf); isp1362_hcd 1615 drivers/usb/host/isp1362-hcd.c tmp = isp1362_hcd->rhport[--wIndex]; isp1362_hcd 1662 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1663 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHPORT1 + wIndex, tmp); isp1362_hcd 1664 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[wIndex] = isp1362_hcd 1665 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHPORT1 + wIndex); isp1362_hcd 1666 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1676 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1677 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHPORT1 + wIndex, RH_PS_PSS); isp1362_hcd 1678 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[wIndex] = isp1362_hcd 1679 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHPORT1 + wIndex); isp1362_hcd 1680 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1684 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1685 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHPORT1 + wIndex, RH_PS_PPS); isp1362_hcd 1686 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[wIndex] = isp1362_hcd 1687 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHPORT1 + wIndex); isp1362_hcd 1688 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1692 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1698 drivers/usb/host/isp1362-hcd.c tmp = isp1362_read_reg32(isp1362_hcd, HCRHPORT1 + wIndex); isp1362_hcd 1706 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHPORT1 + wIndex, (RH_PS_PRS)); isp1362_hcd 1708 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1710 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1713 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhport[wIndex] = isp1362_read_reg32(isp1362_hcd, isp1362_hcd 1715 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1736 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1739 drivers/usb/host/isp1362-hcd.c if (time_before(jiffies, isp1362_hcd->next_statechange)) isp1362_hcd 1742 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1744 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = isp1362_read_reg32(isp1362_hcd, HCCONTROL); isp1362_hcd 1745 drivers/usb/host/isp1362-hcd.c switch (isp1362_hcd->hc_control & OHCI_CTRL_HCFS) { isp1362_hcd 1748 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control &= ~OHCI_CTRL_HCFS; isp1362_hcd 1749 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control |= OHCI_USB_RESET; isp1362_hcd 1750 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCONTROL, isp1362_hcd->hc_control); isp1362_hcd 1764 drivers/usb/host/isp1362-hcd.c if (!list_empty(&isp1362_hcd->atl_queue.active) || isp1362_hcd 1765 drivers/usb/host/isp1362-hcd.c !list_empty(&isp1362_hcd->intl_queue.active) || isp1362_hcd 1766 drivers/usb/host/isp1362-hcd.c !list_empty(&isp1362_hcd->istl_queue[0] .active) || isp1362_hcd 1767 drivers/usb/host/isp1362-hcd.c !list_empty(&isp1362_hcd->istl_queue[1] .active)) { isp1362_hcd 1770 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, ~0); isp1362_hcd 1771 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, ~0); isp1362_hcd 1772 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCBUFSTAT, 0); isp1362_hcd 1773 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, 0); isp1362_hcd 1774 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTSTAT, OHCI_INTR_SF); isp1362_hcd 1781 drivers/usb/host/isp1362-hcd.c if (isp1362_read_reg32(isp1362_hcd, HCINTSTAT) & OHCI_INTR_SF) isp1362_hcd 1785 drivers/usb/host/isp1362-hcd.c if (isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_ATL) { isp1362_hcd 1786 drivers/usb/host/isp1362-hcd.c u32 done_map = isp1362_read_reg32(isp1362_hcd, HCATLDONE); isp1362_hcd 1787 drivers/usb/host/isp1362-hcd.c finish_transfers(isp1362_hcd, done_map, &isp1362_hcd->atl_queue); isp1362_hcd 1789 drivers/usb/host/isp1362-hcd.c if (isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_INTL) { isp1362_hcd 1790 drivers/usb/host/isp1362-hcd.c u32 done_map = isp1362_read_reg32(isp1362_hcd, HCINTLDONE); isp1362_hcd 1791 drivers/usb/host/isp1362-hcd.c finish_transfers(isp1362_hcd, done_map, &isp1362_hcd->intl_queue); isp1362_hcd 1793 drivers/usb/host/isp1362-hcd.c if (isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_ISTL0) isp1362_hcd 1794 drivers/usb/host/isp1362-hcd.c finish_iso_transfers(isp1362_hcd, &isp1362_hcd->istl_queue[0]); isp1362_hcd 1795 drivers/usb/host/isp1362-hcd.c if (isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_ISTL1) isp1362_hcd 1796 drivers/usb/host/isp1362-hcd.c finish_iso_transfers(isp1362_hcd, &isp1362_hcd->istl_queue[1]); isp1362_hcd 1799 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTSTAT)); isp1362_hcd 1800 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTSTAT, isp1362_hcd 1801 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTSTAT)); isp1362_hcd 1804 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = OHCI_USB_SUSPEND; isp1362_hcd 1805 drivers/usb/host/isp1362-hcd.c isp1362_show_reg(isp1362_hcd, HCCONTROL); isp1362_hcd 1806 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCONTROL, isp1362_hcd->hc_control); isp1362_hcd 1807 drivers/usb/host/isp1362-hcd.c isp1362_show_reg(isp1362_hcd, HCCONTROL); isp1362_hcd 1810 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = isp1362_read_reg32(isp1362_hcd, HCCONTROL); isp1362_hcd 1811 drivers/usb/host/isp1362-hcd.c if ((isp1362_hcd->hc_control & OHCI_CTRL_HCFS) != OHCI_USB_SUSPEND) { isp1362_hcd 1813 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control); isp1362_hcd 1819 drivers/usb/host/isp1362-hcd.c isp1362_hcd->next_statechange = jiffies + msecs_to_jiffies(5); isp1362_hcd 1825 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCCONTROL)); isp1362_hcd 1827 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1833 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 1838 drivers/usb/host/isp1362-hcd.c if (time_before(jiffies, isp1362_hcd->next_statechange)) isp1362_hcd 1841 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1842 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = isp1362_read_reg32(isp1362_hcd, HCCONTROL); isp1362_hcd 1843 drivers/usb/host/isp1362-hcd.c pr_info("%s: HCCONTROL: %08x\n", __func__, isp1362_hcd->hc_control); isp1362_hcd 1848 drivers/usb/host/isp1362-hcd.c switch (isp1362_hcd->hc_control & OHCI_CTRL_HCFS) { isp1362_hcd 1851 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control &= ~OHCI_CTRL_HCFS; isp1362_hcd 1852 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control |= OHCI_USB_RESUME; isp1362_hcd 1853 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCONTROL, isp1362_hcd->hc_control); isp1362_hcd 1868 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1876 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1877 drivers/usb/host/isp1362-hcd.c port = isp1362_read_reg32(isp1362_hcd, HCRHDESCA) & RH_A_NDP; isp1362_hcd 1879 drivers/usb/host/isp1362-hcd.c u32 stat = isp1362_read_reg32(isp1362_hcd, HCRHPORT1 + port); isp1362_hcd 1887 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHPORT1 + port, RH_PS_POCI); isp1362_hcd 1889 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1895 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = OHCI_USB_OPER; isp1362_hcd 1896 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 1897 drivers/usb/host/isp1362-hcd.c isp1362_show_reg(isp1362_hcd, HCCONTROL); isp1362_hcd 1898 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCONTROL, isp1362_hcd->hc_control); isp1362_hcd 1899 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 1904 drivers/usb/host/isp1362-hcd.c isp1362_hcd->next_statechange = jiffies + msecs_to_jiffies(250); isp1362_hcd 1967 drivers/usb/host/isp1362-hcd.c static void dump_regs(struct seq_file *s, struct isp1362_hcd *isp1362_hcd) isp1362_hcd 1970 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCREVISION)); isp1362_hcd 1972 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCCONTROL)); isp1362_hcd 1974 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCCMDSTAT)); isp1362_hcd 1976 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTSTAT)); isp1362_hcd 1978 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTENB)); isp1362_hcd 1980 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCFMINTVL)); isp1362_hcd 1982 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCFMREM)); isp1362_hcd 1984 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCFMNUM)); isp1362_hcd 1986 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCLSTHRESH)); isp1362_hcd 1988 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHDESCA)); isp1362_hcd 1990 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHDESCB)); isp1362_hcd 1992 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHSTATUS)); isp1362_hcd 1994 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHPORT1)); isp1362_hcd 1996 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCRHPORT2)); isp1362_hcd 1999 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCHWCFG)); isp1362_hcd 2001 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCDMACFG)); isp1362_hcd 2003 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCXFERCTR)); isp1362_hcd 2005 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCuPINT)); isp1362_hcd 2007 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCuPINTENB)); isp1362_hcd 2009 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCCHIPID)); isp1362_hcd 2011 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCSCRATCH)); isp1362_hcd 2013 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCBUFSTAT)); isp1362_hcd 2015 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCDIRADDR)); isp1362_hcd 2018 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCDIRDATA)); isp1362_hcd 2021 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCISTLBUFSZ)); isp1362_hcd 2023 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCISTLRATE)); isp1362_hcd 2026 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCINTLBUFSZ)); isp1362_hcd 2028 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCINTLBLKSZ)); isp1362_hcd 2030 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTLDONE)); isp1362_hcd 2032 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTLSKIP)); isp1362_hcd 2034 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCINTLLAST)); isp1362_hcd 2036 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCINTLCURR)); isp1362_hcd 2039 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCATLBUFSZ)); isp1362_hcd 2041 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCATLBLKSZ)); isp1362_hcd 2044 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCATLDONE)); isp1362_hcd 2047 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCATLSKIP)); isp1362_hcd 2049 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCATLLAST)); isp1362_hcd 2051 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCATLCURR)); isp1362_hcd 2054 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCATLDTC)); isp1362_hcd 2056 drivers/usb/host/isp1362-hcd.c isp1362_read_reg16(isp1362_hcd, HCATLDTCTO)); isp1362_hcd 2061 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = s->private; isp1362_hcd 2066 drivers/usb/host/isp1362-hcd.c isp1362_hcd_to_hcd(isp1362_hcd)->product_desc, hcd_name, DRIVER_VERSION); isp1362_hcd 2072 drivers/usb/host/isp1362-hcd.c isp1362_hcd->stat16, isp1362_hcd->stat8, isp1362_hcd->stat4, isp1362_hcd 2073 drivers/usb/host/isp1362-hcd.c isp1362_hcd->stat2, isp1362_hcd->stat1); isp1362_hcd 2074 drivers/usb/host/isp1362-hcd.c seq_printf(s, "max # ptds in ATL fifo: %d\n", isp1362_hcd->atl_queue.stat_maxptds); isp1362_hcd 2075 drivers/usb/host/isp1362-hcd.c seq_printf(s, "max # ptds in INTL fifo: %d\n", isp1362_hcd->intl_queue.stat_maxptds); isp1362_hcd 2077 drivers/usb/host/isp1362-hcd.c max(isp1362_hcd->istl_queue[0] .stat_maxptds, isp1362_hcd 2078 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[1] .stat_maxptds)); isp1362_hcd 2081 drivers/usb/host/isp1362-hcd.c spin_lock_irq(&isp1362_hcd->lock); isp1362_hcd 2083 drivers/usb/host/isp1362-hcd.c dump_irq(s, "hc_irq_enable", isp1362_read_reg16(isp1362_hcd, HCuPINTENB)); isp1362_hcd 2084 drivers/usb/host/isp1362-hcd.c dump_irq(s, "hc_irq_status", isp1362_read_reg16(isp1362_hcd, HCuPINT)); isp1362_hcd 2085 drivers/usb/host/isp1362-hcd.c dump_int(s, "ohci_int_enable", isp1362_read_reg32(isp1362_hcd, HCINTENB)); isp1362_hcd 2086 drivers/usb/host/isp1362-hcd.c dump_int(s, "ohci_int_status", isp1362_read_reg32(isp1362_hcd, HCINTSTAT)); isp1362_hcd 2087 drivers/usb/host/isp1362-hcd.c dump_ctrl(s, "ohci_control", isp1362_read_reg32(isp1362_hcd, HCCONTROL)); isp1362_hcd 2090 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->irq_stat[i]) isp1362_hcd 2092 drivers/usb/host/isp1362-hcd.c ISP1362_INT_NAME(i), isp1362_hcd->irq_stat[i]); isp1362_hcd 2094 drivers/usb/host/isp1362-hcd.c dump_regs(s, isp1362_hcd); isp1362_hcd 2095 drivers/usb/host/isp1362-hcd.c list_for_each_entry(ep, &isp1362_hcd->async, schedule) { isp1362_hcd 2125 drivers/usb/host/isp1362-hcd.c if (!list_empty(&isp1362_hcd->async)) isp1362_hcd 2127 drivers/usb/host/isp1362-hcd.c dump_ptd_queue(&isp1362_hcd->atl_queue); isp1362_hcd 2131 drivers/usb/host/isp1362-hcd.c list_for_each_entry(ep, &isp1362_hcd->periodic, schedule) { isp1362_hcd 2133 drivers/usb/host/isp1362-hcd.c isp1362_hcd->load[ep->branch], ep->ptd_index, ep->ptd_offset); isp1362_hcd 2143 drivers/usb/host/isp1362-hcd.c dump_ptd_queue(&isp1362_hcd->intl_queue); isp1362_hcd 2147 drivers/usb/host/isp1362-hcd.c list_for_each_entry(ep, &isp1362_hcd->isoc, schedule) { isp1362_hcd 2157 drivers/usb/host/isp1362-hcd.c spin_unlock_irq(&isp1362_hcd->lock); isp1362_hcd 2165 drivers/usb/host/isp1362-hcd.c static void create_debug_file(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 2167 drivers/usb/host/isp1362-hcd.c isp1362_hcd->debug_file = debugfs_create_file("isp1362", S_IRUGO, isp1362_hcd 2169 drivers/usb/host/isp1362-hcd.c isp1362_hcd, isp1362_hcd 2173 drivers/usb/host/isp1362-hcd.c static void remove_debug_file(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 2175 drivers/usb/host/isp1362-hcd.c debugfs_remove(isp1362_hcd->debug_file); isp1362_hcd 2180 drivers/usb/host/isp1362-hcd.c static void __isp1362_sw_reset(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 2184 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCSWRES, HCSWRES_MAGIC); isp1362_hcd 2185 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCMDSTAT, OHCI_HCR); isp1362_hcd 2188 drivers/usb/host/isp1362-hcd.c if (!(isp1362_read_reg32(isp1362_hcd, HCCMDSTAT) & OHCI_HCR)) isp1362_hcd 2195 drivers/usb/host/isp1362-hcd.c static void isp1362_sw_reset(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 2199 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2200 drivers/usb/host/isp1362-hcd.c __isp1362_sw_reset(isp1362_hcd); isp1362_hcd 2201 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2206 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2246 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2249 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].buf_start = i * istl_size / 2, isp1362_hcd 2250 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].buf_size = istl_size / 2; isp1362_hcd 2251 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].blk_size = 4; isp1362_hcd 2252 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->istl_queue[i].active); isp1362_hcd 2253 drivers/usb/host/isp1362-hcd.c snprintf(isp1362_hcd->istl_queue[i].name, isp1362_hcd 2254 drivers/usb/host/isp1362-hcd.c sizeof(isp1362_hcd->istl_queue[i].name), "ISTL%d", i); isp1362_hcd 2256 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].name, isp1362_hcd 2257 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].buf_start, isp1362_hcd 2258 drivers/usb/host/isp1362-hcd.c isp1362_hcd->istl_queue[i].buf_size); isp1362_hcd 2260 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCISTLBUFSZ, istl_size / 2); isp1362_hcd 2262 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_start = istl_size; isp1362_hcd 2263 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_size = intl_size; isp1362_hcd 2264 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_count = ISP1362_INTL_BUFFERS; isp1362_hcd 2265 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.blk_size = intl_blksize; isp1362_hcd 2266 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_avail = isp1362_hcd->intl_queue.buf_count; isp1362_hcd 2267 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.skip_map = ~0; isp1362_hcd 2268 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->intl_queue.active); isp1362_hcd 2270 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCINTLBUFSZ, isp1362_hcd 2271 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_size); isp1362_hcd 2272 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCINTLBLKSZ, isp1362_hcd 2273 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.blk_size - PTD_HEADER_SIZE); isp1362_hcd 2274 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, ~0); isp1362_hcd 2275 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTLLAST, isp1362_hcd 2278 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_start = istl_size + intl_size; isp1362_hcd 2279 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_size = atl_size; isp1362_hcd 2280 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_count = atl_buffers; isp1362_hcd 2281 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.blk_size = atl_blksize; isp1362_hcd 2282 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_avail = isp1362_hcd->atl_queue.buf_count; isp1362_hcd 2283 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.skip_map = ~0; isp1362_hcd 2284 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->atl_queue.active); isp1362_hcd 2286 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCATLBUFSZ, isp1362_hcd 2287 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_size); isp1362_hcd 2288 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCATLBLKSZ, isp1362_hcd 2289 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.blk_size - PTD_HEADER_SIZE); isp1362_hcd 2290 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLSKIP, ~0); isp1362_hcd 2291 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCATLLAST, isp1362_hcd 2294 drivers/usb/host/isp1362-hcd.c snprintf(isp1362_hcd->atl_queue.name, isp1362_hcd 2295 drivers/usb/host/isp1362-hcd.c sizeof(isp1362_hcd->atl_queue.name), "ATL"); isp1362_hcd 2296 drivers/usb/host/isp1362-hcd.c snprintf(isp1362_hcd->intl_queue.name, isp1362_hcd 2297 drivers/usb/host/isp1362-hcd.c sizeof(isp1362_hcd->intl_queue.name), "INTL"); isp1362_hcd 2299 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.name, isp1362_hcd 2300 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_start, isp1362_hcd 2301 drivers/usb/host/isp1362-hcd.c ISP1362_INTL_BUFFERS, isp1362_hcd->intl_queue.blk_size, isp1362_hcd 2302 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intl_queue.buf_size); isp1362_hcd 2304 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.name, isp1362_hcd 2305 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_start, isp1362_hcd 2306 drivers/usb/host/isp1362-hcd.c atl_buffers, isp1362_hcd->atl_queue.blk_size, isp1362_hcd 2307 drivers/usb/host/isp1362-hcd.c isp1362_hcd->atl_queue.buf_size); isp1362_hcd 2309 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2317 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2325 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->board && isp1362_hcd->board->reset) { isp1362_hcd 2326 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board->reset(hcd->self.controller, 1); isp1362_hcd 2328 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->board->clock) isp1362_hcd 2329 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board->clock(hcd->self.controller, 1); isp1362_hcd 2330 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board->reset(hcd->self.controller, 0); isp1362_hcd 2332 drivers/usb/host/isp1362-hcd.c isp1362_sw_reset(isp1362_hcd); isp1362_hcd 2337 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2338 drivers/usb/host/isp1362-hcd.c clkrdy = isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_CLKRDY; isp1362_hcd 2339 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2344 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2345 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_CLKRDY); isp1362_hcd 2346 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2356 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2364 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2366 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, 0); isp1362_hcd 2369 drivers/usb/host/isp1362-hcd.c tmp = isp1362_read_reg32(isp1362_hcd, HCRHDESCA); isp1362_hcd 2371 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHDESCA, tmp); isp1362_hcd 2372 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHSTATUS, RH_HS_LPS); isp1362_hcd 2375 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->board && isp1362_hcd->board->reset) isp1362_hcd 2376 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board->reset(hcd->self.controller, 1); isp1362_hcd 2378 drivers/usb/host/isp1362-hcd.c __isp1362_sw_reset(isp1362_hcd); isp1362_hcd 2380 drivers/usb/host/isp1362-hcd.c if (isp1362_hcd->board && isp1362_hcd->board->clock) isp1362_hcd 2381 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board->clock(hcd->self.controller, 0); isp1362_hcd 2383 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2387 drivers/usb/host/isp1362-hcd.c static int isp1362_chip_test(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 2407 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2408 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, (u8 *)ref + offset, 0, j); isp1362_hcd 2409 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, (u8 *)tst + offset, 0, j); isp1362_hcd 2410 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2422 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2423 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, ref, 0, ISP1362_BUF_SIZE); isp1362_hcd 2424 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, tst, 0, ISP1362_BUF_SIZE); isp1362_hcd 2425 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2439 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2440 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, tst, 0, ISP1362_BUF_SIZE); isp1362_hcd 2441 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, tst, 0, ISP1362_BUF_SIZE); isp1362_hcd 2442 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2449 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2450 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, ref, offset * 2, PTD_HEADER_SIZE); isp1362_hcd 2451 drivers/usb/host/isp1362-hcd.c isp1362_write_buffer(isp1362_hcd, ref + PTD_HEADER_SIZE / sizeof(*ref), isp1362_hcd 2453 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, tst, offset * 2, isp1362_hcd 2455 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2459 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2460 drivers/usb/host/isp1362-hcd.c isp1362_read_buffer(isp1362_hcd, tst, offset * 2, isp1362_hcd 2462 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2482 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2483 drivers/usb/host/isp1362-hcd.c struct isp1362_platform_data *board = isp1362_hcd->board; isp1362_hcd 2490 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2491 drivers/usb/host/isp1362-hcd.c chipid = isp1362_read_reg16(isp1362_hcd, HCCHIPID); isp1362_hcd 2492 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2500 drivers/usb/host/isp1362-hcd.c ret = isp1362_chip_test(isp1362_hcd); isp1362_hcd 2504 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2506 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINT, 0xff); isp1362_hcd 2507 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, 0); isp1362_hcd 2526 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCHWCFG, hwcfg); isp1362_hcd 2527 drivers/usb/host/isp1362-hcd.c isp1362_show_reg(isp1362_hcd, HCHWCFG); isp1362_hcd 2528 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCDMACFG, 0); isp1362_hcd 2529 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2535 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2538 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca = 0; isp1362_hcd 2540 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca |= RH_A_NPS; isp1362_hcd 2542 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca |= RH_A_PSM; isp1362_hcd 2544 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca |= (board->potpg << 24) & RH_A_POTPGT; isp1362_hcd 2546 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca |= (25 << 24) & RH_A_POTPGT; isp1362_hcd 2548 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHDESCA, isp1362_hcd->rhdesca & ~RH_A_OCPM); isp1362_hcd 2549 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHDESCA, isp1362_hcd->rhdesca | RH_A_OCPM); isp1362_hcd 2550 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdesca = isp1362_read_reg32(isp1362_hcd, HCRHDESCA); isp1362_hcd 2552 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdescb = RH_B_PPCM; isp1362_hcd 2553 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHDESCB, isp1362_hcd->rhdescb); isp1362_hcd 2554 drivers/usb/host/isp1362-hcd.c isp1362_hcd->rhdescb = isp1362_read_reg32(isp1362_hcd, HCRHDESCB); isp1362_hcd 2556 drivers/usb/host/isp1362-hcd.c isp1362_read_reg32(isp1362_hcd, HCFMINTVL); isp1362_hcd 2557 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCFMINTVL, (FSMP(FI) << 16) | FI); isp1362_hcd 2558 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCLSTHRESH, LSTHRESH); isp1362_hcd 2560 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2562 drivers/usb/host/isp1362-hcd.c isp1362_hcd->hc_control = OHCI_USB_OPER; isp1362_hcd 2565 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2567 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intenb = OHCI_INTR_MIE | OHCI_INTR_RHSC | OHCI_INTR_UE; isp1362_hcd 2568 drivers/usb/host/isp1362-hcd.c isp1362_hcd->intenb |= OHCI_INTR_RD; isp1362_hcd 2569 drivers/usb/host/isp1362-hcd.c isp1362_hcd->irqenb = HCuPINT_OPR | HCuPINT_SUSP; isp1362_hcd 2570 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCINTENB, isp1362_hcd->intenb); isp1362_hcd 2571 drivers/usb/host/isp1362-hcd.c isp1362_write_reg16(isp1362_hcd, HCuPINTENB, isp1362_hcd->irqenb); isp1362_hcd 2574 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCCONTROL, isp1362_hcd->hc_control); isp1362_hcd 2576 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHSTATUS, RH_HS_LPSC | RH_HS_DRWE); isp1362_hcd 2578 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2588 drivers/usb/host/isp1362-hcd.c .hcd_priv_size = sizeof(struct isp1362_hcd), isp1362_hcd 2614 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2616 drivers/usb/host/isp1362-hcd.c remove_debug_file(isp1362_hcd); isp1362_hcd 2629 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd; isp1362_hcd 2670 drivers/usb/host/isp1362-hcd.c isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2671 drivers/usb/host/isp1362-hcd.c isp1362_hcd->data_reg = data_reg; isp1362_hcd 2672 drivers/usb/host/isp1362-hcd.c isp1362_hcd->addr_reg = addr_reg; isp1362_hcd 2674 drivers/usb/host/isp1362-hcd.c isp1362_hcd->next_statechange = jiffies; isp1362_hcd 2675 drivers/usb/host/isp1362-hcd.c spin_lock_init(&isp1362_hcd->lock); isp1362_hcd 2676 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->async); isp1362_hcd 2677 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->periodic); isp1362_hcd 2678 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->isoc); isp1362_hcd 2679 drivers/usb/host/isp1362-hcd.c INIT_LIST_HEAD(&isp1362_hcd->remove_list); isp1362_hcd 2680 drivers/usb/host/isp1362-hcd.c isp1362_hcd->board = dev_get_platdata(&pdev->dev); isp1362_hcd 2682 drivers/usb/host/isp1362-hcd.c if (!isp1362_hcd->board->delay) { isp1362_hcd 2705 drivers/usb/host/isp1362-hcd.c create_debug_file(isp1362_hcd); isp1362_hcd 2719 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2730 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2731 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHSTATUS, RH_HS_LPS); isp1362_hcd 2732 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2742 drivers/usb/host/isp1362-hcd.c struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd); isp1362_hcd 2749 drivers/usb/host/isp1362-hcd.c spin_lock_irqsave(&isp1362_hcd->lock, flags); isp1362_hcd 2750 drivers/usb/host/isp1362-hcd.c isp1362_write_reg32(isp1362_hcd, HCRHSTATUS, RH_HS_LPSC); isp1362_hcd 2751 drivers/usb/host/isp1362-hcd.c spin_unlock_irqrestore(&isp1362_hcd->lock, flags); isp1362_hcd 2757 drivers/usb/host/isp1362-hcd.c return isp1362_bus_resume(isp1362_hcd_to_hcd(isp1362_hcd)); isp1362_hcd 509 drivers/usb/host/isp1362.h static inline void ALIGNSTAT(struct isp1362_hcd *isp1362_hcd, void *ptr) isp1362_hcd 513 drivers/usb/host/isp1362.h isp1362_hcd->stat16++; isp1362_hcd 515 drivers/usb/host/isp1362.h isp1362_hcd->stat8++; isp1362_hcd 517 drivers/usb/host/isp1362.h isp1362_hcd->stat4++; isp1362_hcd 519 drivers/usb/host/isp1362.h isp1362_hcd->stat2++; isp1362_hcd 521 drivers/usb/host/isp1362.h isp1362_hcd->stat1++; isp1362_hcd 524 drivers/usb/host/isp1362.h static inline struct isp1362_hcd *hcd_to_isp1362_hcd(struct usb_hcd *hcd) isp1362_hcd 526 drivers/usb/host/isp1362.h return (struct isp1362_hcd *) (hcd->hcd_priv); isp1362_hcd 529 drivers/usb/host/isp1362.h static inline struct usb_hcd *isp1362_hcd_to_hcd(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 531 drivers/usb/host/isp1362.h return container_of((void *)isp1362_hcd, struct usb_hcd, hcd_priv); isp1362_hcd 586 drivers/usb/host/isp1362.h static void isp1362_write_addr(struct isp1362_hcd *isp1362_hcd, isp1362_reg_t reg) isp1362_hcd 590 drivers/usb/host/isp1362.h writew(ISP1362_REG_NO(reg), isp1362_hcd->addr_reg); isp1362_hcd 592 drivers/usb/host/isp1362.h isp1362_delay(isp1362_hcd, 1); isp1362_hcd 595 drivers/usb/host/isp1362.h static void isp1362_write_data16(struct isp1362_hcd *isp1362_hcd, u16 val) isp1362_hcd 598 drivers/usb/host/isp1362.h writew(val, isp1362_hcd->data_reg); isp1362_hcd 601 drivers/usb/host/isp1362.h static u16 isp1362_read_data16(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 606 drivers/usb/host/isp1362.h val = readw(isp1362_hcd->data_reg); isp1362_hcd 611 drivers/usb/host/isp1362.h static void isp1362_write_data32(struct isp1362_hcd *isp1362_hcd, u32 val) isp1362_hcd 615 drivers/usb/host/isp1362.h writel(val, isp1362_hcd->data_reg); isp1362_hcd 618 drivers/usb/host/isp1362.h writew((u16)val, isp1362_hcd->data_reg); isp1362_hcd 620 drivers/usb/host/isp1362.h writew(val >> 16, isp1362_hcd->data_reg); isp1362_hcd 624 drivers/usb/host/isp1362.h static u32 isp1362_read_data32(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 630 drivers/usb/host/isp1362.h val = readl(isp1362_hcd->data_reg); isp1362_hcd 633 drivers/usb/host/isp1362.h val = (u32)readw(isp1362_hcd->data_reg); isp1362_hcd 635 drivers/usb/host/isp1362.h val |= (u32)readw(isp1362_hcd->data_reg) << 16; isp1362_hcd 642 drivers/usb/host/isp1362.h static void isp1362_read_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) isp1362_hcd 654 drivers/usb/host/isp1362.h readsl(isp1362_hcd->data_reg, dp, len >> 2); isp1362_hcd 661 drivers/usb/host/isp1362.h insw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); isp1362_hcd 668 drivers/usb/host/isp1362.h data = isp1362_read_data16(isp1362_hcd); isp1362_hcd 675 drivers/usb/host/isp1362.h static void isp1362_write_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) isp1362_hcd 688 drivers/usb/host/isp1362.h isp1362_write_data16(isp1362_hcd, data); isp1362_hcd 691 drivers/usb/host/isp1362.h isp1362_write_data16(isp1362_hcd, *dp); isp1362_hcd 699 drivers/usb/host/isp1362.h writesl(isp1362_hcd->data_reg, dp, len >> 2); isp1362_hcd 706 drivers/usb/host/isp1362.h outsw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); isp1362_hcd 719 drivers/usb/host/isp1362.h isp1362_write_data16(isp1362_hcd, data); isp1362_hcd 796 drivers/usb/host/isp1362.h static void __attribute__((__unused__)) isp1362_show_regs(struct isp1362_hcd *isp1362_hcd) isp1362_hcd 798 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCREVISION); isp1362_hcd 799 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCCONTROL); isp1362_hcd 800 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCCMDSTAT); isp1362_hcd 801 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTSTAT); isp1362_hcd 802 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTENB); isp1362_hcd 803 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCFMINTVL); isp1362_hcd 804 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCFMREM); isp1362_hcd 805 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCFMNUM); isp1362_hcd 806 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCLSTHRESH); isp1362_hcd 807 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCRHDESCA); isp1362_hcd 808 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCRHDESCB); isp1362_hcd 809 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCRHSTATUS); isp1362_hcd 810 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCRHPORT1); isp1362_hcd 811 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCRHPORT2); isp1362_hcd 813 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCHWCFG); isp1362_hcd 814 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCDMACFG); isp1362_hcd 815 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCXFERCTR); isp1362_hcd 816 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCuPINT); isp1362_hcd 820 drivers/usb/host/isp1362.h ISP1362_REG_NO(ISP1362_REG_HCuPINTENB), isp1362_hcd->irqenb); isp1362_hcd 822 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCuPINTENB); isp1362_hcd 823 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCCHIPID); isp1362_hcd 824 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCSCRATCH); isp1362_hcd 825 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCBUFSTAT); isp1362_hcd 826 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCDIRADDR); isp1362_hcd 830 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCISTLBUFSZ); isp1362_hcd 831 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCISTLRATE); isp1362_hcd 832 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLBUFSZ); isp1362_hcd 833 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLBLKSZ); isp1362_hcd 834 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLDONE); isp1362_hcd 835 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLSKIP); isp1362_hcd 836 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLLAST); isp1362_hcd 837 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCINTLCURR); isp1362_hcd 838 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLBUFSZ); isp1362_hcd 839 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLBLKSZ); isp1362_hcd 843 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLSKIP); isp1362_hcd 844 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLLAST); isp1362_hcd 845 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLCURR); isp1362_hcd 846 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLDTC); isp1362_hcd 847 drivers/usb/host/isp1362.h isp1362_show_reg(isp1362_hcd, HCATLDTCTO); isp1362_hcd 850 drivers/usb/host/isp1362.h static void isp1362_write_diraddr(struct isp1362_hcd *isp1362_hcd, u16 offset, u16 len) isp1362_hcd 854 drivers/usb/host/isp1362.h isp1362_clr_mask16(isp1362_hcd, HCDMACFG, HCDMACFG_CTR_ENABLE); isp1362_hcd 855 drivers/usb/host/isp1362.h isp1362_write_reg32(isp1362_hcd, HCDIRADDR, isp1362_hcd 859 drivers/usb/host/isp1362.h static void isp1362_read_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) isp1362_hcd 861 drivers/usb/host/isp1362.h isp1362_write_diraddr(isp1362_hcd, offset, len); isp1362_hcd 866 drivers/usb/host/isp1362.h isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); isp1362_hcd 868 drivers/usb/host/isp1362.h isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA); isp1362_hcd 870 drivers/usb/host/isp1362.h isp1362_read_fifo(isp1362_hcd, buf, len); isp1362_hcd 871 drivers/usb/host/isp1362.h isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); isp1362_hcd 874 drivers/usb/host/isp1362.h static void isp1362_write_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) isp1362_hcd 876 drivers/usb/host/isp1362.h isp1362_write_diraddr(isp1362_hcd, offset, len); isp1362_hcd 881 drivers/usb/host/isp1362.h isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); isp1362_hcd 883 drivers/usb/host/isp1362.h isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA | ISP1362_REG_WRITE_OFFSET); isp1362_hcd 884 drivers/usb/host/isp1362.h isp1362_write_fifo(isp1362_hcd, buf, len); isp1362_hcd 886 drivers/usb/host/isp1362.h isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT);