iudma             239 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch			*iudma;
iudma             259 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch			*iudma;
iudma             307 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch			iudma[BCM63XX_NUM_IUDMA];
iudma             564 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->iudma[i].max_pkt = max_pkt;
iudma             594 drivers/usb/gadget/udc/bcm63xx_udc.c static void iudma_write(struct bcm63xx_udc *udc, struct iudma_ch *iudma,
iudma             599 drivers/usb/gadget/udc/bcm63xx_udc.c 	const int max_bd_bytes = !irq_coalesce && !iudma->is_tx ?
iudma             600 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma->max_pkt : IUDMA_MAX_FRAGMENT;
iudma             602 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->n_bds_used = 0;
iudma             604 drivers/usb/gadget/udc/bcm63xx_udc.c 	breq->iudma = iudma;
iudma             606 drivers/usb/gadget/udc/bcm63xx_udc.c 	if ((bytes_left % iudma->max_pkt == 0) && bytes_left && breq->req.zero)
iudma             610 drivers/usb/gadget/udc/bcm63xx_udc.c 		struct bcm_enet_desc *d = iudma->write_bd;
iudma             614 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (d == iudma->end_bd) {
iudma             616 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma->write_bd = iudma->bd_ring;
iudma             618 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma->write_bd++;
iudma             620 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma->n_bds_used++;
iudma             642 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (!iudma->is_tx || iudma->n_bds_used == iudma->n_bds ||
iudma             658 drivers/usb/gadget/udc/bcm63xx_udc.c 			ENETDMAC_CHANCFG_REG, iudma->ch_idx);
iudma             670 drivers/usb/gadget/udc/bcm63xx_udc.c static int iudma_read(struct bcm63xx_udc *udc, struct iudma_ch *iudma)
iudma             673 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm_enet_desc *d = iudma->read_bd;
iudma             675 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!iudma->n_bds_used)
iudma             678 drivers/usb/gadget/udc/bcm63xx_udc.c 	for (i = 0; i < iudma->n_bds_used; i++) {
iudma             688 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (d == iudma->end_bd)
iudma             689 drivers/usb/gadget/udc/bcm63xx_udc.c 			d = iudma->bd_ring;
iudma             694 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->read_bd = d;
iudma             695 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->n_bds_used = 0;
iudma             704 drivers/usb/gadget/udc/bcm63xx_udc.c static void iudma_reset_channel(struct bcm63xx_udc *udc, struct iudma_ch *iudma)
iudma             708 drivers/usb/gadget/udc/bcm63xx_udc.c 	int ch_idx = iudma->ch_idx;
iudma             710 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!iudma->is_tx)
iudma             711 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_reset_ep(udc, max(0, iudma->ep_num));
iudma             721 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (iudma->is_tx && iudma->ep_num >= 0)
iudma             722 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_fifo_reset_ep(udc, iudma->ep_num);
iudma             739 drivers/usb/gadget/udc/bcm63xx_udc.c 	for (d = iudma->bd_ring; d <= iudma->end_bd; d++)
iudma             743 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->read_bd = iudma->write_bd = iudma->bd_ring;
iudma             744 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->n_bds_used = 0;
iudma             751 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmas_writel(udc, iudma->bd_ring_dma, ENETDMAS_RSTART_REG, ch_idx);
iudma             762 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = &udc->iudma[ch_idx];
iudma             767 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->ep_num = cfg->ep_num;
iudma             768 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->ch_idx = ch_idx;
iudma             769 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->is_tx = !!(ch_idx & 0x01);
iudma             770 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (iudma->ep_num >= 0) {
iudma             771 drivers/usb/gadget/udc/bcm63xx_udc.c 		bep = &udc->bep[iudma->ep_num];
iudma             772 drivers/usb/gadget/udc/bcm63xx_udc.c 		bep->iudma = iudma;
iudma             776 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->bep = bep;
iudma             777 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->udc = udc;
iudma             780 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (iudma->ep_num <= 0)
iudma             781 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma->enabled = true;
iudma             783 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->n_bds = n_bds;
iudma             784 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->bd_ring = dmam_alloc_coherent(udc->dev,
iudma             786 drivers/usb/gadget/udc/bcm63xx_udc.c 		&iudma->bd_ring_dma, GFP_KERNEL);
iudma             787 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!iudma->bd_ring)
iudma             789 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->end_bd = &iudma->bd_ring[n_bds - 1];
iudma             810 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[i]);
iudma             830 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[i]);
iudma            1037 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = bep->iudma;
iudma            1047 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (iudma->enabled) {
iudma            1052 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->enabled = true;
iudma            1055 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_reset_channel(udc, iudma);
iudma            1076 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = bep->iudma;
iudma            1084 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!iudma->enabled) {
iudma            1088 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->enabled = false;
iudma            1090 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_reset_channel(udc, iudma);
iudma            1095 drivers/usb/gadget/udc/bcm63xx_udc.c 						 iudma->is_tx);
iudma            1100 drivers/usb/gadget/udc/bcm63xx_udc.c 			usb_gadget_giveback_request(&iudma->bep->ep, &breq->req);
iudma            1179 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!bep->iudma->enabled) {
iudma            1184 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = usb_gadget_map_request(&udc->gadget, req, bep->iudma->is_tx);
iudma            1188 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_write(udc, bep->iudma, breq);
iudma            1220 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_gadget_unmap_request(&udc->gadget, &breq->req, bep->iudma->is_tx);
iudma            1223 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, bep->iudma);
iudma            1231 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_write(udc, bep->iudma, next);
iudma            1387 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = &udc->iudma[ch_idx];
iudma            1394 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_gadget_map_request(&udc->gadget, req, iudma->is_tx);
iudma            1395 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_write(udc, iudma, breq);
iudma            1552 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_RXCHAN]);
iudma            1629 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_TXCHAN]);
iudma            1655 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_RXCHAN]);
iudma            1674 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_TXCHAN]);
iudma            2043 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = dev_id;
iudma            2044 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = iudma->udc;
iudma            2054 drivers/usb/gadget/udc/bcm63xx_udc.c 			ENETDMAC_IR_REG, iudma->ch_idx);
iudma            2055 drivers/usb/gadget/udc/bcm63xx_udc.c 	bep = iudma->bep;
iudma            2056 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = iudma_read(udc, iudma);
iudma            2059 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (iudma->ch_idx == IUDMA_EP0_RXCHAN ||
iudma            2060 drivers/usb/gadget/udc/bcm63xx_udc.c 	    iudma->ch_idx == IUDMA_EP0_TXCHAN) {
iudma            2077 drivers/usb/gadget/udc/bcm63xx_udc.c 				iudma_write(udc, iudma, breq);
iudma            2098 drivers/usb/gadget/udc/bcm63xx_udc.c 					iudma_write(udc, iudma, next);
iudma            2101 drivers/usb/gadget/udc/bcm63xx_udc.c 				iudma_write(udc, iudma, breq);
iudma            2108 drivers/usb/gadget/udc/bcm63xx_udc.c 		usb_gadget_unmap_request(&udc->gadget, req, iudma->is_tx);
iudma            2176 drivers/usb/gadget/udc/bcm63xx_udc.c 		struct iudma_ch *iudma = &udc->iudma[ch_idx];
iudma            2207 drivers/usb/gadget/udc/bcm63xx_udc.c 		seq_printf(s, "  desc: %d/%d used", iudma->n_bds_used,
iudma            2208 drivers/usb/gadget/udc/bcm63xx_udc.c 			   iudma->n_bds);
iudma            2210 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (iudma->bep) {
iudma            2212 drivers/usb/gadget/udc/bcm63xx_udc.c 			list_for_each(pos, &iudma->bep->queue)
iudma            2219 drivers/usb/gadget/udc/bcm63xx_udc.c 		for (i = 0; i < iudma->n_bds; i++) {
iudma            2220 drivers/usb/gadget/udc/bcm63xx_udc.c 			struct bcm_enet_desc *d = &iudma->bd_ring[i];
iudma            2226 drivers/usb/gadget/udc/bcm63xx_udc.c 			if (d == iudma->read_bd)
iudma            2228 drivers/usb/gadget/udc/bcm63xx_udc.c 			if (d == iudma->write_bd)
iudma            2343 drivers/usb/gadget/udc/bcm63xx_udc.c 				     dev_name(dev), &udc->iudma[i]) < 0)