epq               136 drivers/usb/host/isp1362-hcd.c 	struct isp1362_ep_queue *epq = NULL;
epq               139 drivers/usb/host/isp1362-hcd.c 		epq = &isp1362_hcd->istl_queue[0];
epq               141 drivers/usb/host/isp1362-hcd.c 		epq = &isp1362_hcd->istl_queue[1];
epq               143 drivers/usb/host/isp1362-hcd.c 		epq = &isp1362_hcd->intl_queue;
epq               146 drivers/usb/host/isp1362-hcd.c 		epq = &isp1362_hcd->atl_queue;
epq               148 drivers/usb/host/isp1362-hcd.c 	if (epq)
epq               149 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: PTD $%04x is on %s queue\n", __func__, offset, epq->name);
epq               153 drivers/usb/host/isp1362-hcd.c 	return epq;
epq               156 drivers/usb/host/isp1362-hcd.c static inline int get_ptd_offset(struct isp1362_ep_queue *epq, u8 index)
epq               160 drivers/usb/host/isp1362-hcd.c 	if (index * epq->blk_size > epq->buf_size) {
epq               162 drivers/usb/host/isp1362-hcd.c 			__func__, epq->name, index,
epq               163 drivers/usb/host/isp1362-hcd.c 			epq->buf_size / epq->blk_size);
epq               166 drivers/usb/host/isp1362-hcd.c 	offset = epq->buf_start + index * epq->blk_size;
epq               167 drivers/usb/host/isp1362-hcd.c 	DBG(3, "%s: %s PTD[%02x] # %04x\n", __func__, epq->name, index, offset);
epq               174 drivers/usb/host/isp1362-hcd.c static inline u16 max_transfer_size(struct isp1362_ep_queue *epq, size_t size,
epq               179 drivers/usb/host/isp1362-hcd.c 	xfer_size = min_t(size_t, xfer_size, epq->buf_avail * epq->blk_size - PTD_HEADER_SIZE);
epq               186 drivers/usb/host/isp1362-hcd.c static int claim_ptd_buffers(struct isp1362_ep_queue *epq,
epq               190 drivers/usb/host/isp1362-hcd.c 	int num_ptds = ((len + PTD_HEADER_SIZE - 1) / epq->blk_size) + 1;
epq               193 drivers/usb/host/isp1362-hcd.c 	BUG_ON(len > epq->buf_size);
epq               195 drivers/usb/host/isp1362-hcd.c 	if (!epq->buf_avail)
epq               200 drivers/usb/host/isp1362-hcd.c 		    epq->name, len, epq->blk_size, num_ptds, epq->buf_map, epq->skip_map);
epq               203 drivers/usb/host/isp1362-hcd.c 	found = bitmap_find_next_zero_area(&epq->buf_map, epq->buf_count, 0,
epq               205 drivers/usb/host/isp1362-hcd.c 	if (found >= epq->buf_count)
epq               209 drivers/usb/host/isp1362-hcd.c 	    num_ptds, found, len, (int)(epq->blk_size - PTD_HEADER_SIZE));
epq               210 drivers/usb/host/isp1362-hcd.c 	ptd_offset = get_ptd_offset(epq, found);
epq               214 drivers/usb/host/isp1362-hcd.c 	epq->buf_avail -= num_ptds;
epq               215 drivers/usb/host/isp1362-hcd.c 	BUG_ON(epq->buf_avail > epq->buf_count);
epq               217 drivers/usb/host/isp1362-hcd.c 	bitmap_set(&epq->buf_map, found, num_ptds);
epq               219 drivers/usb/host/isp1362-hcd.c 	    __func__, epq->name, ep->ptd_index, ep->ptd_offset,
epq               220 drivers/usb/host/isp1362-hcd.c 	    epq->buf_avail, epq->buf_count, num_ptds, epq->buf_map, epq->skip_map);
epq               225 drivers/usb/host/isp1362-hcd.c static inline void release_ptd_buffers(struct isp1362_ep_queue *epq, struct isp1362_ep *ep)
epq               229 drivers/usb/host/isp1362-hcd.c 	if (last > epq->buf_count)
epq               231 drivers/usb/host/isp1362-hcd.c 		    __func__, ep, ep->num_req, ep->length, epq->name, ep->ptd_index,
epq               232 drivers/usb/host/isp1362-hcd.c 		    ep->ptd_offset, ep->num_ptds, epq->buf_count, epq->buf_avail,
epq               233 drivers/usb/host/isp1362-hcd.c 		    epq->buf_map, epq->skip_map);
epq               234 drivers/usb/host/isp1362-hcd.c 	BUG_ON(last > epq->buf_count);
epq               236 drivers/usb/host/isp1362-hcd.c 	bitmap_clear(&epq->buf_map, ep->ptd_index, ep->num_ptds);
epq               237 drivers/usb/host/isp1362-hcd.c 	bitmap_set(&epq->skip_map, ep->ptd_index, ep->num_ptds);
epq               238 drivers/usb/host/isp1362-hcd.c 	epq->buf_avail += ep->num_ptds;
epq               239 drivers/usb/host/isp1362-hcd.c 	epq->ptd_count--;
epq               241 drivers/usb/host/isp1362-hcd.c 	BUG_ON(epq->buf_avail > epq->buf_count);
epq               242 drivers/usb/host/isp1362-hcd.c 	BUG_ON(epq->ptd_count > epq->buf_count);
epq               245 drivers/usb/host/isp1362-hcd.c 	    __func__, epq->name,
epq               246 drivers/usb/host/isp1362-hcd.c 	    ep->ptd_offset, ep->num_ptds, epq->buf_avail, epq->buf_count);
epq               248 drivers/usb/host/isp1362-hcd.c 	    epq->buf_map, epq->skip_map);
epq               261 drivers/usb/host/isp1362-hcd.c 			struct isp1362_ep *ep, struct isp1362_ep_queue *epq,
epq               270 drivers/usb/host/isp1362-hcd.c 	DBG(3, "%s: %s ep %p\n", __func__, epq->name, ep);
epq               286 drivers/usb/host/isp1362-hcd.c 			len = max_transfer_size(epq, buf_len, ep->maxpacket);
epq               298 drivers/usb/host/isp1362-hcd.c 			len = max_transfer_size(epq, buf_len, ep->maxpacket);
epq               346 drivers/usb/host/isp1362-hcd.c 			      struct isp1362_ep_queue *epq)
epq               362 drivers/usb/host/isp1362-hcd.c 			     struct isp1362_ep_queue *epq)
epq               371 drivers/usb/host/isp1362-hcd.c 	DBG(1, "%s: ep %p removed from active list %p\n", __func__, ep, &epq->active);
epq               402 drivers/usb/host/isp1362-hcd.c 	struct isp1362_ep_queue *epq;
epq               407 drivers/usb/host/isp1362-hcd.c 	epq = get_ptd_queue(isp1362_hcd, ep->ptd_offset);
epq               408 drivers/usb/host/isp1362-hcd.c 	BUG_ON(!epq);
epq               422 drivers/usb/host/isp1362-hcd.c 	    index, ep->ptd_offset, epq->skip_map, 1 << index);
epq               425 drivers/usb/host/isp1362-hcd.c 	epq->skip_map |= 1 << index;
epq               426 drivers/usb/host/isp1362-hcd.c 	if (epq == &isp1362_hcd->atl_queue) {
epq               428 drivers/usb/host/isp1362-hcd.c 		    isp1362_read_reg32(isp1362_hcd, HCATLSKIP), epq->skip_map);
epq               429 drivers/usb/host/isp1362-hcd.c 		isp1362_write_reg32(isp1362_hcd, HCATLSKIP, epq->skip_map);
epq               430 drivers/usb/host/isp1362-hcd.c 		if (~epq->skip_map == 0)
epq               432 drivers/usb/host/isp1362-hcd.c 	} else if (epq == &isp1362_hcd->intl_queue) {
epq               434 drivers/usb/host/isp1362-hcd.c 		    isp1362_read_reg32(isp1362_hcd, HCINTLSKIP), epq->skip_map);
epq               435 drivers/usb/host/isp1362-hcd.c 		isp1362_write_reg32(isp1362_hcd, HCINTLSKIP, epq->skip_map);
epq               436 drivers/usb/host/isp1362-hcd.c 		if (~epq->skip_map == 0)
epq               659 drivers/usb/host/isp1362-hcd.c 		struct isp1362_ep_queue *epq =
epq               663 drivers/usb/host/isp1362-hcd.c 		BUG_ON(epq == NULL);
epq               667 drivers/usb/host/isp1362-hcd.c 			release_ptd_buffers(epq, ep);
epq               714 drivers/usb/host/isp1362-hcd.c 		      struct isp1362_ep *ep, struct isp1362_ep_queue *epq)
epq               718 drivers/usb/host/isp1362-hcd.c 	prepare_ptd(isp1362_hcd, urb, ep, epq, 0);
epq               719 drivers/usb/host/isp1362-hcd.c 	index = claim_ptd_buffers(epq, ep, ep->length);
epq               722 drivers/usb/host/isp1362-hcd.c 		    ep->num_req, epq->name, ep->num_ptds, epq->buf_map, epq->skip_map);
epq               726 drivers/usb/host/isp1362-hcd.c 		    __func__, ep->num_req, ep->length, epq->name, ep->num_ptds,
epq               727 drivers/usb/host/isp1362-hcd.c 		    epq->buf_map, epq->skip_map);
epq               731 drivers/usb/host/isp1362-hcd.c 	list_add_tail(&ep->active, &epq->active);
epq               733 drivers/usb/host/isp1362-hcd.c 	    ep, ep->num_req, ep->length, &epq->active);
epq               734 drivers/usb/host/isp1362-hcd.c 	DBG(1, "%s: Submitting %s PTD $%04x for ep %p req %d\n", __func__, epq->name,
epq               736 drivers/usb/host/isp1362-hcd.c 	isp1362_write_ptd(isp1362_hcd, ep, epq);
epq               737 drivers/usb/host/isp1362-hcd.c 	__clear_bit(ep->ptd_index, &epq->skip_map);
epq               745 drivers/usb/host/isp1362-hcd.c 	struct isp1362_ep_queue *epq = &isp1362_hcd->atl_queue;
epq               749 drivers/usb/host/isp1362-hcd.c 	if (atomic_read(&epq->finishing)) {
epq               750 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: finish_transfers is active for %s\n", __func__, epq->name);
epq               759 drivers/usb/host/isp1362-hcd.c 			DBG(2, "%s: Skipping active %s ep %p\n", __func__, epq->name, ep);
epq               763 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Processing %s ep %p req %d\n", __func__, epq->name,
epq               766 drivers/usb/host/isp1362-hcd.c 		ret = submit_req(isp1362_hcd, urb, ep, epq);
epq               788 drivers/usb/host/isp1362-hcd.c 	epq->ptd_count += ptd_count;
epq               789 drivers/usb/host/isp1362-hcd.c 	if (epq->ptd_count > epq->stat_maxptds) {
epq               790 drivers/usb/host/isp1362-hcd.c 		epq->stat_maxptds = epq->ptd_count;
epq               791 drivers/usb/host/isp1362-hcd.c 		DBG(0, "%s: max_ptds: %d\n", __func__, epq->stat_maxptds);
epq               798 drivers/usb/host/isp1362-hcd.c 	struct isp1362_ep_queue *epq = &isp1362_hcd->intl_queue;
epq               801 drivers/usb/host/isp1362-hcd.c 	if (atomic_read(&epq->finishing)) {
epq               802 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: finish_transfers is active for %s\n", __func__, epq->name);
epq               812 drivers/usb/host/isp1362-hcd.c 			    epq->name, ep);
epq               817 drivers/usb/host/isp1362-hcd.c 		    epq->name, ep, ep->num_req);
epq               818 drivers/usb/host/isp1362-hcd.c 		ret = submit_req(isp1362_hcd, urb, ep, epq);
epq               836 drivers/usb/host/isp1362-hcd.c 	epq->ptd_count += ptd_count;
epq               837 drivers/usb/host/isp1362-hcd.c 	if (epq->ptd_count > epq->stat_maxptds)
epq               838 drivers/usb/host/isp1362-hcd.c 		epq->stat_maxptds = epq->ptd_count;
epq               841 drivers/usb/host/isp1362-hcd.c static inline int next_ptd(struct isp1362_ep_queue *epq, struct isp1362_ep *ep)
epq               844 drivers/usb/host/isp1362-hcd.c 	int num_ptds = (ep->length + PTD_HEADER_SIZE + (epq->blk_size - 1)) / epq->blk_size;
epq               847 drivers/usb/host/isp1362-hcd.c 	    ep->length, num_ptds, epq->blk_size, ptd_offset + num_ptds * epq->blk_size);
epq               849 drivers/usb/host/isp1362-hcd.c 	ptd_offset += num_ptds * epq->blk_size;
epq               850 drivers/usb/host/isp1362-hcd.c 	if (ptd_offset < epq->buf_start + epq->buf_size)
epq               860 drivers/usb/host/isp1362-hcd.c 	struct isp1362_ep_queue *epq;
epq               867 drivers/usb/host/isp1362-hcd.c 	epq = &isp1362_hcd->istl_queue[flip];
epq               868 drivers/usb/host/isp1362-hcd.c 	if (atomic_read(&epq->finishing)) {
epq               869 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: finish_transfers is active for %s\n", __func__, epq->name);
epq               873 drivers/usb/host/isp1362-hcd.c 	if (!list_empty(&epq->active))
epq               876 drivers/usb/host/isp1362-hcd.c 	ptd_offset = epq->buf_start;
epq               881 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Processing %s ep %p\n", __func__, epq->name, ep);
epq               895 drivers/usb/host/isp1362-hcd.c 			prepare_ptd(isp1362_hcd, urb, ep, epq, fno);
epq               897 drivers/usb/host/isp1362-hcd.c 			    epq->buf_start + epq->buf_size) {
epq               903 drivers/usb/host/isp1362-hcd.c 			list_add_tail(&ep->active, &epq->active);
epq               905 drivers/usb/host/isp1362-hcd.c 			ptd_offset = next_ptd(epq, ep);
epq               908 drivers/usb/host/isp1362-hcd.c 					__func__, ep->num_req, epq->name);
epq               913 drivers/usb/host/isp1362-hcd.c 	list_for_each_entry(ep, &epq->active, active) {
epq               914 drivers/usb/host/isp1362-hcd.c 		if (epq->active.next == &ep->active)
epq               916 drivers/usb/host/isp1362-hcd.c 		isp1362_write_ptd(isp1362_hcd, ep, epq);
epq               923 drivers/usb/host/isp1362-hcd.c 	epq->ptd_count += ptd_count;
epq               924 drivers/usb/host/isp1362-hcd.c 	if (epq->ptd_count > epq->stat_maxptds)
epq               925 drivers/usb/host/isp1362-hcd.c 		epq->stat_maxptds = epq->ptd_count;
epq               938 drivers/usb/host/isp1362-hcd.c 			     struct isp1362_ep_queue *epq)
epq               943 drivers/usb/host/isp1362-hcd.c 	if (list_empty(&epq->active)) {
epq               944 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Nothing to do for %s queue\n", __func__, epq->name);
epq               948 drivers/usb/host/isp1362-hcd.c 	DBG(1, "%s: Finishing %s transfers %08lx\n", __func__, epq->name, done_map);
epq               950 drivers/usb/host/isp1362-hcd.c 	atomic_inc(&epq->finishing);
epq               951 drivers/usb/host/isp1362-hcd.c 	list_for_each_entry_safe(ep, tmp, &epq->active, active) {
epq               954 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Checking %s PTD[%02x] $%04x\n", __func__, epq->name,
epq               959 drivers/usb/host/isp1362-hcd.c 			isp1362_read_ptd(isp1362_hcd, ep, epq);
epq               960 drivers/usb/host/isp1362-hcd.c 			epq->free_ptd = index;
epq               962 drivers/usb/host/isp1362-hcd.c 			release_ptd_buffers(epq, ep);
epq               970 drivers/usb/host/isp1362-hcd.c 			DBG(1, "%s: Postprocessing %s ep %p req %d\n", __func__, epq->name,
epq               979 drivers/usb/host/isp1362-hcd.c 			__func__, done_map, epq->skip_map);
epq               980 drivers/usb/host/isp1362-hcd.c 	atomic_dec(&epq->finishing);
epq               983 drivers/usb/host/isp1362-hcd.c static void finish_iso_transfers(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep_queue *epq)
epq               988 drivers/usb/host/isp1362-hcd.c 	if (list_empty(&epq->active)) {
epq               989 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Nothing to do for %s queue\n", __func__, epq->name);
epq               993 drivers/usb/host/isp1362-hcd.c 	DBG(1, "%s: Finishing %s transfers\n", __func__, epq->name);
epq               995 drivers/usb/host/isp1362-hcd.c 	atomic_inc(&epq->finishing);
epq               996 drivers/usb/host/isp1362-hcd.c 	list_for_each_entry_safe(ep, tmp, &epq->active, active) {
epq               999 drivers/usb/host/isp1362-hcd.c 		isp1362_read_ptd(isp1362_hcd, ep, epq);
epq              1000 drivers/usb/host/isp1362-hcd.c 		DBG(1, "%s: Postprocessing %s ep %p\n", __func__, epq->name, ep);
epq              1003 drivers/usb/host/isp1362-hcd.c 	WARN_ON(epq->blk_size != 0);
epq              1004 drivers/usb/host/isp1362-hcd.c 	atomic_dec(&epq->finishing);
epq               951 drivers/usb/host/isp1362.h static void dump_ptd_queue(struct isp1362_ep_queue *epq)
epq               957 drivers/usb/host/isp1362.h 	list_for_each_entry(ep, &epq->active, active) {
epq               968 drivers/usb/host/isp1362.h #define dump_ptd_queue(epq)		do {} while (0)
epq              1503 fs/eventpoll.c 	struct ep_pqueue epq;
epq              1531 fs/eventpoll.c 	epq.epi = epi;
epq              1532 fs/eventpoll.c 	init_poll_funcptr(&epq.pt, ep_ptable_queue_proc);
epq              1541 fs/eventpoll.c 	revents = ep_item_poll(epi, &epq.pt, 1);