udc                47 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_endpoint_toggle_reset(struct nbu2ss_udc *udc, u8 ep_adrs);
udc                54 drivers/staging/emxx_udc/emxx_udc.c #define	_nbu2ss_zero_len_pkt(udc, epnum)	\
udc                55 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep_in_end(udc, epnum, 0, 0)
udc                95 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_dump_register(struct nbu2ss_udc *udc)
udc               102 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc) {
udc               107 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock(&udc->lock);
udc               109 drivers/staging/emxx_udc/emxx_udc.c 	dev_dbg(&udc->dev, "\n-USB REG-\n");
udc               112 drivers/staging/emxx_udc/emxx_udc.c 		dev_dbg(&udc->dev, "USB%04x =%08x", i, (int)reg_data);
udc               115 drivers/staging/emxx_udc/emxx_udc.c 		dev_dbg(&udc->dev, " %08x", (int)reg_data);
udc               118 drivers/staging/emxx_udc/emxx_udc.c 		dev_dbg(&udc->dev, " %08x", (int)reg_data);
udc               121 drivers/staging/emxx_udc/emxx_udc.c 		dev_dbg(&udc->dev, " %08x\n", (int)reg_data);
udc               124 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock(&udc->lock);
udc               137 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc *udc;
udc               142 drivers/staging/emxx_udc/emxx_udc.c 	udc = (struct nbu2ss_udc *)_req->context;
udc               143 drivers/staging/emxx_udc/emxx_udc.c 	p_ctrl = &udc->ctrl;
udc               154 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_set_test_mode(udc, test_mode);
udc               162 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_create_ep0_packet(struct nbu2ss_udc *udc,
udc               165 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.buf		= p_buf;
udc               166 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.length		= length;
udc               167 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.dma		= 0;
udc               168 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.zero		= true;
udc               169 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.complete	= _nbu2ss_ep0_complete;
udc               170 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.status		= -EINPROGRESS;
udc               171 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.context	= udc;
udc               172 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0_req.req.actual		= 0;
udc               177 drivers/staging/emxx_udc/emxx_udc.c static u32 _nbu2ss_get_begin_ram_address(struct nbu2ss_udc *udc)
udc               188 drivers/staging/emxx_udc/emxx_udc.c 		p_ep_regs = &udc->p_regs->EP_REGS[num];
udc               208 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_ep_init(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc               221 drivers/staging/emxx_udc/emxx_udc.c 	begin_adrs = _nbu2ss_get_begin_ram_address(udc);
udc               223 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP_REGS[num].EP_PCKT_ADRS, data);
udc               228 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->USB_INT_ENA, data);
udc               251 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               252 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_endpoint_toggle_reset(udc, (ep->epnum | ep->direct));
udc               258 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               261 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               264 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_INT_ENA, data);
udc               269 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               272 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               275 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_INT_ENA, data);
udc               283 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_exit(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc               288 drivers/staging/emxx_udc/emxx_udc.c 	if ((ep->epnum == 0) || (udc->vbus_active == 0))
udc               295 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP_REGS[num].EP_PCKT_ADRS, 0);
udc               300 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitclr(&udc->p_regs->USB_INT_ENA, data);
udc               306 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               309 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               312 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_INT_ENA, data);
udc               317 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               320 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc               323 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->EP_REGS[num].EP_INT_ENA, data);
udc               331 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_ep_dma_init(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc               336 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->USBSSCONF);
udc               346 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->EP_DCR[num].EP_DCR2, data);
udc               351 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_DCR[num].EP_DCR1, data);
udc               356 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->EP_REGS[num].EP_DMA_CTRL, data);
udc               360 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, EPN_AUTO);
udc               365 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->EP_REGS[num].EP_DMA_CTRL, data);
udc               371 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_ep_dma_exit(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc               375 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               377 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc               386 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep_dma_abort(udc, ep);
udc               404 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_ep_dma_abort(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc               406 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               415 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_ep_in_end(struct nbu2ss_udc *udc,
udc               420 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               454 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_dma_map_single(struct nbu2ss_udc *udc,
udc               462 drivers/staging/emxx_udc/emxx_udc.c 			req->req.dma = dma_map_single(udc->gadget.dev.parent,
udc               472 drivers/staging/emxx_udc/emxx_udc.c 			dma_sync_single_for_device(udc->gadget.dev.parent,
udc               484 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_dma_unmap_single(struct nbu2ss_udc *udc,
udc               507 drivers/staging/emxx_udc/emxx_udc.c 			dma_unmap_single(udc->gadget.dev.parent,
udc               517 drivers/staging/emxx_udc/emxx_udc.c 			dma_sync_single_for_cpu(udc->gadget.dev.parent,
udc               534 drivers/staging/emxx_udc/emxx_udc.c static int ep0_out_pio(struct nbu2ss_udc *udc, u8 *buf, u32 length)
udc               545 drivers/staging/emxx_udc/emxx_udc.c 		buf32->dw = _nbu2ss_readl(&udc->p_regs->EP0_READ);
udc               554 drivers/staging/emxx_udc/emxx_udc.c static int ep0_out_overbytes(struct nbu2ss_udc *udc, u8 *p_buf, u32 length)
udc               562 drivers/staging/emxx_udc/emxx_udc.c 		temp_32.dw = _nbu2ss_readl(&udc->p_regs->EP0_READ);
udc               573 drivers/staging/emxx_udc/emxx_udc.c static int EP0_in_PIO(struct nbu2ss_udc *udc, u8 *p_buf, u32 length)
udc               591 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->EP0_WRITE, p_buf_32->dw);
udc               601 drivers/staging/emxx_udc/emxx_udc.c static int ep0_in_overbytes(struct nbu2ss_udc *udc,
udc               612 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_ep_in_end(udc, 0, temp_32.dw, i_remain_size);
udc               622 drivers/staging/emxx_udc/emxx_udc.c static int EP0_send_NULL(struct nbu2ss_udc *udc, bool pid_flag)
udc               626 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->EP0_CONTROL);
udc               634 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP0_CONTROL, data);
udc               641 drivers/staging/emxx_udc/emxx_udc.c static int EP0_receive_NULL(struct nbu2ss_udc *udc, bool pid_flag)
udc               645 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->EP0_CONTROL);
udc               651 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP0_CONTROL, data);
udc               657 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_ep0_in_transfer(struct nbu2ss_udc *udc,
udc               671 drivers/staging/emxx_udc/emxx_udc.c 				EP0_send_NULL(udc, false);
udc               681 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->EP0_CONTROL);
udc               684 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP0_CONTROL, data);
udc               692 drivers/staging/emxx_udc/emxx_udc.c 	result = EP0_in_PIO(udc, p_buffer, i_remain_size);
udc               698 drivers/staging/emxx_udc/emxx_udc.c 		EP0_send_NULL(udc, false);
udc               704 drivers/staging/emxx_udc/emxx_udc.c 		result += ep0_in_overbytes(udc, p_buffer, i_remain_size);
udc               712 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_ep0_out_transfer(struct nbu2ss_udc *udc,
udc               723 drivers/staging/emxx_udc/emxx_udc.c 	i_recv_length = _nbu2ss_readl(&udc->p_regs->EP0_LENGTH) & EP0_LDATA;
udc               731 drivers/staging/emxx_udc/emxx_udc.c 		result = ep0_out_pio(udc, p_buffer
udc               743 drivers/staging/emxx_udc/emxx_udc.c 			result = ep0_out_overbytes(udc, p_buffer
udc               757 drivers/staging/emxx_udc/emxx_udc.c 				EP0_receive_NULL(udc, false);
udc               769 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, " *** Overrun Error\n");
udc               774 drivers/staging/emxx_udc/emxx_udc.c 		i_remain_size = _nbu2ss_readl(&udc->p_regs->EP0_CONTROL);
udc               778 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_bitclr(&udc->p_regs->EP0_CONTROL, EP0_ONAK);
udc               787 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_out_dma(struct nbu2ss_udc *udc, struct nbu2ss_req *req,
udc               797 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               846 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_out_pio(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
udc               856 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               901 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_out_data(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
udc               917 drivers/staging/emxx_udc/emxx_udc.c 		nret = _nbu2ss_out_dma(udc, req, num, i_buf_size);
udc               920 drivers/staging/emxx_udc/emxx_udc.c 		nret = _nbu2ss_epn_out_pio(udc, ep, req, i_buf_size);
udc               927 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_out_transfer(struct nbu2ss_udc *udc,
udc               934 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               947 drivers/staging/emxx_udc/emxx_udc.c 		result = _nbu2ss_epn_out_data(udc, ep, req, i_recv_length);
udc               971 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, " Overrun Error\n");
udc               972 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, " actual = %d, length = %d\n",
udc               981 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_in_dma(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
udc               991 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc               998 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_dma_map_single(udc, ep, req, USB_DIR_IN);
udc              1052 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_in_pio(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
udc              1062 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              1091 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_ep_in_end(udc, ep->epnum, temp_32.dw, data);
udc              1101 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_in_data(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
udc              1114 drivers/staging/emxx_udc/emxx_udc.c 		nret = _nbu2ss_in_dma(udc, ep, req, num, data_size);
udc              1117 drivers/staging/emxx_udc/emxx_udc.c 		nret = _nbu2ss_epn_in_pio(udc, ep, req, data_size);
udc              1124 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_epn_in_transfer(struct nbu2ss_udc *udc,
udc              1137 drivers/staging/emxx_udc/emxx_udc.c 	status = _nbu2ss_readl(&udc->p_regs->EP_REGS[num].EP_STATUS);
udc              1154 drivers/staging/emxx_udc/emxx_udc.c 		result = _nbu2ss_epn_in_data(udc, ep, req, i_buf_size);
udc              1156 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_zero_len_pkt(udc, ep->epnum);
udc              1162 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_start_transfer(struct nbu2ss_udc *udc,
udc              1183 drivers/staging/emxx_udc/emxx_udc.c 		switch (udc->ep0state) {
udc              1185 drivers/staging/emxx_udc/emxx_udc.c 			nret = _nbu2ss_ep0_in_transfer(udc, req);
udc              1189 drivers/staging/emxx_udc/emxx_udc.c 			nret = _nbu2ss_ep0_out_transfer(udc, req);
udc              1193 drivers/staging/emxx_udc/emxx_udc.c 			nret = EP0_send_NULL(udc, true);
udc              1205 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_epn_out_transfer(udc, ep, req);
udc              1208 drivers/staging/emxx_udc/emxx_udc.c 			nret = _nbu2ss_epn_in_transfer(udc, ep, req);
udc              1228 drivers/staging/emxx_udc/emxx_udc.c 			&ep->udc->p_regs->EP_REGS[ep->epnum - 1].EP_LEN_DCNT);
udc              1235 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_start_transfer(ep->udc, ep, req, bflag);
udc              1240 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_endpoint_toggle_reset(struct nbu2ss_udc *udc, u8 ep_adrs)
udc              1255 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EP_REGS[num].EP_CONTROL, data);
udc              1260 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_set_endpoint_stall(struct nbu2ss_udc *udc,
udc              1266 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              1279 drivers/staging/emxx_udc/emxx_udc.c 		ep = &udc->ep[epnum];
udc              1318 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_set_test_mode(struct nbu2ss_udc *udc, u32 mode)
udc              1325 drivers/staging/emxx_udc/emxx_udc.c 	dev_info(udc->dev, "SET FEATURE : test mode = %d\n", mode);
udc              1327 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->USB_CONTROL);
udc              1331 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->USB_CONTROL, data);
udc              1332 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->TEST_CONTROL, CS_TESTMODEEN);
udc              1336 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_set_feature_device(struct nbu2ss_udc *udc,
udc              1344 drivers/staging/emxx_udc/emxx_udc.c 			udc->remote_wakeup = U2F_ENABLE;
udc              1363 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_get_ep_stall(struct nbu2ss_udc *udc, u8 ep_adrs)
udc              1367 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              1391 drivers/staging/emxx_udc/emxx_udc.c static inline int _nbu2ss_req_feature(struct nbu2ss_udc *udc, bool bset)
udc              1393 drivers/staging/emxx_udc/emxx_udc.c 	u8	recipient = (u8)(udc->ctrl.bRequestType & USB_RECIP_MASK);
udc              1394 drivers/staging/emxx_udc/emxx_udc.c 	u8	direction = (u8)(udc->ctrl.bRequestType & USB_DIR_IN);
udc              1395 drivers/staging/emxx_udc/emxx_udc.c 	u16	selector  = le16_to_cpu(udc->ctrl.wValue);
udc              1396 drivers/staging/emxx_udc/emxx_udc.c 	u16	wIndex    = le16_to_cpu(udc->ctrl.wIndex);
udc              1400 drivers/staging/emxx_udc/emxx_udc.c 	if ((udc->ctrl.wLength != 0x0000) ||
udc              1409 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_set_feature_device(udc, selector, wIndex);
udc              1417 drivers/staging/emxx_udc/emxx_udc.c 					_nbu2ss_endpoint_toggle_reset(udc,
udc              1421 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_set_endpoint_stall(udc, ep_adrs, bset);
udc              1433 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_create_ep0_packet(udc, udc->ep0_buf, 0);
udc              1439 drivers/staging/emxx_udc/emxx_udc.c static inline enum usb_device_speed _nbu2ss_get_speed(struct nbu2ss_udc *udc)
udc              1444 drivers/staging/emxx_udc/emxx_udc.c 	data = _nbu2ss_readl(&udc->p_regs->USB_STATUS);
udc              1452 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_epn_set_stall(struct nbu2ss_udc *udc,
udc              1459 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              1476 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_set_endpoint_stall(udc, ep_adrs, 1);
udc              1480 drivers/staging/emxx_udc/emxx_udc.c static int std_req_get_status(struct nbu2ss_udc *udc)
udc              1484 drivers/staging/emxx_udc/emxx_udc.c 	u8	recipient = (u8)(udc->ctrl.bRequestType & USB_RECIP_MASK);
udc              1485 drivers/staging/emxx_udc/emxx_udc.c 	u8	direction = (u8)(udc->ctrl.bRequestType & USB_DIR_IN);
udc              1489 drivers/staging/emxx_udc/emxx_udc.c 	if ((udc->ctrl.wValue != 0x0000) || (direction != USB_DIR_IN))
udc              1493 drivers/staging/emxx_udc/emxx_udc.c 		min_t(u16, le16_to_cpu(udc->ctrl.wLength), sizeof(status_data));
udc              1496 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->ctrl.wIndex == 0x0000) {
udc              1497 drivers/staging/emxx_udc/emxx_udc.c 			if (udc->gadget.is_selfpowered)
udc              1500 drivers/staging/emxx_udc/emxx_udc.c 			if (udc->remote_wakeup)
udc              1508 drivers/staging/emxx_udc/emxx_udc.c 		if (0x0000 == (le16_to_cpu(udc->ctrl.wIndex) & 0xFF70)) {
udc              1509 drivers/staging/emxx_udc/emxx_udc.c 			ep_adrs = (u8)(le16_to_cpu(udc->ctrl.wIndex) & 0xFF);
udc              1510 drivers/staging/emxx_udc/emxx_udc.c 			result = _nbu2ss_get_ep_stall(udc, ep_adrs);
udc              1522 drivers/staging/emxx_udc/emxx_udc.c 		memcpy(udc->ep0_buf, &status_data, length);
udc              1523 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_create_ep0_packet(udc, udc->ep0_buf, length);
udc              1524 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_ep0_in_transfer(udc, &udc->ep0_req);
udc              1527 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, " Error GET_STATUS\n");
udc              1534 drivers/staging/emxx_udc/emxx_udc.c static int std_req_clear_feature(struct nbu2ss_udc *udc)
udc              1536 drivers/staging/emxx_udc/emxx_udc.c 	return _nbu2ss_req_feature(udc, false);
udc              1540 drivers/staging/emxx_udc/emxx_udc.c static int std_req_set_feature(struct nbu2ss_udc *udc)
udc              1542 drivers/staging/emxx_udc/emxx_udc.c 	return _nbu2ss_req_feature(udc, true);
udc              1546 drivers/staging/emxx_udc/emxx_udc.c static int std_req_set_address(struct nbu2ss_udc *udc)
udc              1549 drivers/staging/emxx_udc/emxx_udc.c 	u32		wValue = le16_to_cpu(udc->ctrl.wValue);
udc              1551 drivers/staging/emxx_udc/emxx_udc.c 	if ((udc->ctrl.bRequestType != 0x00)	||
udc              1552 drivers/staging/emxx_udc/emxx_udc.c 	    (udc->ctrl.wIndex != 0x0000)	||
udc              1553 drivers/staging/emxx_udc/emxx_udc.c 		(udc->ctrl.wLength != 0x0000)) {
udc              1562 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->USB_ADDRESS, wValue);
udc              1563 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_create_ep0_packet(udc, udc->ep0_buf, 0);
udc              1569 drivers/staging/emxx_udc/emxx_udc.c static int std_req_set_configuration(struct nbu2ss_udc *udc)
udc              1571 drivers/staging/emxx_udc/emxx_udc.c 	u32 config_value = (u32)(le16_to_cpu(udc->ctrl.wValue) & 0x00ff);
udc              1573 drivers/staging/emxx_udc/emxx_udc.c 	if ((udc->ctrl.wIndex != 0x0000)	||
udc              1574 drivers/staging/emxx_udc/emxx_udc.c 	    (udc->ctrl.wLength != 0x0000)	||
udc              1575 drivers/staging/emxx_udc/emxx_udc.c 		(udc->ctrl.bRequestType != 0x00)) {
udc              1579 drivers/staging/emxx_udc/emxx_udc.c 	udc->curr_config = config_value;
udc              1582 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->USB_CONTROL, CONF);
udc              1583 drivers/staging/emxx_udc/emxx_udc.c 		udc->devstate = USB_STATE_CONFIGURED;
udc              1586 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitclr(&udc->p_regs->USB_CONTROL, CONF);
udc              1587 drivers/staging/emxx_udc/emxx_udc.c 		udc->devstate = USB_STATE_ADDRESS;
udc              1594 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_read_request_data(struct nbu2ss_udc *udc, u32 *pdata)
udc              1596 drivers/staging/emxx_udc/emxx_udc.c 	*pdata = _nbu2ss_readl(&udc->p_regs->SETUP_DATA0);
udc              1598 drivers/staging/emxx_udc/emxx_udc.c 	*pdata = _nbu2ss_readl(&udc->p_regs->SETUP_DATA1);
udc              1602 drivers/staging/emxx_udc/emxx_udc.c static inline int _nbu2ss_decode_request(struct nbu2ss_udc *udc)
udc              1608 drivers/staging/emxx_udc/emxx_udc.c 	p_ctrl = &udc->ctrl;
udc              1609 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_read_request_data(udc, (u32 *)p_ctrl);
udc              1613 drivers/staging/emxx_udc/emxx_udc.c 		udc->ep0state = EP0_IN_STATUS_PHASE;
udc              1617 drivers/staging/emxx_udc/emxx_udc.c 			udc->ep0state = EP0_IN_DATA_PHASE;
udc              1619 drivers/staging/emxx_udc/emxx_udc.c 			udc->ep0state = EP0_OUT_DATA_PHASE;
udc              1625 drivers/staging/emxx_udc/emxx_udc.c 			nret = std_req_get_status(udc);
udc              1630 drivers/staging/emxx_udc/emxx_udc.c 			nret = std_req_clear_feature(udc);
udc              1635 drivers/staging/emxx_udc/emxx_udc.c 			nret = std_req_set_feature(udc);
udc              1640 drivers/staging/emxx_udc/emxx_udc.c 			nret = std_req_set_address(udc);
udc              1645 drivers/staging/emxx_udc/emxx_udc.c 			nret = std_req_set_configuration(udc);
udc              1654 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->ep0state == EP0_IN_STATUS_PHASE) {
udc              1658 drivers/staging/emxx_udc/emxx_udc.c 				nret = EP0_send_NULL(udc, true);
udc              1663 drivers/staging/emxx_udc/emxx_udc.c 		spin_unlock(&udc->lock);
udc              1664 drivers/staging/emxx_udc/emxx_udc.c 		nret = udc->driver->setup(&udc->gadget, &udc->ctrl);
udc              1665 drivers/staging/emxx_udc/emxx_udc.c 		spin_lock(&udc->lock);
udc              1669 drivers/staging/emxx_udc/emxx_udc.c 		udc->ep0state = EP0_IDLE;
udc              1675 drivers/staging/emxx_udc/emxx_udc.c static inline int _nbu2ss_ep0_in_data_stage(struct nbu2ss_udc *udc)
udc              1679 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_ep	*ep = &udc->ep[0];
udc              1683 drivers/staging/emxx_udc/emxx_udc.c 		req = &udc->ep0_req;
udc              1688 drivers/staging/emxx_udc/emxx_udc.c 	nret = _nbu2ss_ep0_in_transfer(udc, req);
udc              1690 drivers/staging/emxx_udc/emxx_udc.c 		udc->ep0state = EP0_OUT_STATUS_PAHSE;
udc              1691 drivers/staging/emxx_udc/emxx_udc.c 		EP0_receive_NULL(udc, true);
udc              1698 drivers/staging/emxx_udc/emxx_udc.c static inline int _nbu2ss_ep0_out_data_stage(struct nbu2ss_udc *udc)
udc              1702 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_ep	*ep = &udc->ep[0];
udc              1706 drivers/staging/emxx_udc/emxx_udc.c 		req = &udc->ep0_req;
udc              1708 drivers/staging/emxx_udc/emxx_udc.c 	nret = _nbu2ss_ep0_out_transfer(udc, req);
udc              1710 drivers/staging/emxx_udc/emxx_udc.c 		udc->ep0state = EP0_IN_STATUS_PHASE;
udc              1711 drivers/staging/emxx_udc/emxx_udc.c 		EP0_send_NULL(udc, true);
udc              1714 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EP0_CONTROL, EP0_BCLR);
udc              1722 drivers/staging/emxx_udc/emxx_udc.c static inline int _nbu2ss_ep0_status_stage(struct nbu2ss_udc *udc)
udc              1725 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_ep	*ep = &udc->ep[0];
udc              1729 drivers/staging/emxx_udc/emxx_udc.c 		req = &udc->ep0_req;
udc              1738 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0state = EP0_IDLE;
udc              1744 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_ep0_int(struct nbu2ss_udc *udc)
udc              1751 drivers/staging/emxx_udc/emxx_udc.c 	status = _nbu2ss_readl(&udc->p_regs->EP0_STATUS);
udc              1753 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP0_STATUS, ~intr);
udc              1759 drivers/staging/emxx_udc/emxx_udc.c 		dev_info(udc->dev, "%s Not Decode Interrupt\n", __func__);
udc              1760 drivers/staging/emxx_udc/emxx_udc.c 		dev_info(udc->dev, "EP0_STATUS = 0x%08x\n", intr);
udc              1764 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->gadget.speed == USB_SPEED_UNKNOWN)
udc              1765 drivers/staging/emxx_udc/emxx_udc.c 		udc->gadget.speed = _nbu2ss_get_speed(udc);
udc              1768 drivers/staging/emxx_udc/emxx_udc.c 		switch (udc->ep0state) {
udc              1772 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_decode_request(udc);
udc              1779 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_ep0_in_data_stage(udc);
udc              1786 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_ep0_out_data_stage(udc);
udc              1793 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_ep0_status_stage(udc);
udc              1804 drivers/staging/emxx_udc/emxx_udc.c 				nret = _nbu2ss_ep0_status_stage(udc);
udc              1820 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_set_endpoint_stall(udc, 0, true);
udc              1829 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc *udc = ep->udc;
udc              1834 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_fifo_flush(udc, ep);
udc              1840 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_set_stall(udc, ep);
udc              1849 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_dma_unmap_single(udc, ep, req, USB_DIR_OUT);
udc              1852 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock(&udc->lock);
udc              1854 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock(&udc->lock);
udc              1858 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_epn_in_int(struct nbu2ss_udc *udc,
udc              1865 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              1876 drivers/staging/emxx_udc/emxx_udc.c 		result = _nbu2ss_epn_in_transfer(udc, ep, req);
udc              1887 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_zero_len_pkt(udc, ep->epnum);
udc              1901 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_epn_out_int(struct nbu2ss_udc *udc,
udc              1907 drivers/staging/emxx_udc/emxx_udc.c 	result = _nbu2ss_epn_out_transfer(udc, ep, req);
udc              1913 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_epn_in_dma_int(struct nbu2ss_udc *udc,
udc              1931 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_dma_unmap_single(udc, ep, req, USB_DIR_IN);
udc              1935 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_in_transfer(udc, ep, req);
udc              1941 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_ep_in_end(udc, ep->epnum, 0, 0);
udc              1943 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_epn_in_int(udc, ep, req);
udc              1949 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_epn_out_dma_int(struct nbu2ss_udc *udc,
udc              1957 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              2003 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_epn_out_int(udc, ep, req);
udc              2007 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_epn_int(struct nbu2ss_udc *udc, u32 epnum)
udc              2013 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_ep	*ep = &udc->ep[epnum];
udc              2018 drivers/staging/emxx_udc/emxx_udc.c 	status = _nbu2ss_readl(&udc->p_regs->EP_REGS[num].EP_STATUS);
udc              2021 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP_REGS[num].EP_STATUS, ~status);
udc              2031 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_out_dma_int(udc, ep, req);
udc              2035 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_out_int(udc, ep, req);
udc              2039 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_in_dma_int(udc, ep, req);
udc              2043 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_in_int(udc, ep, req);
udc              2047 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_ep_int(struct nbu2ss_udc *udc, u32 epnum)
udc              2050 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_ep0_int(udc);
udc              2052 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_epn_int(udc, epnum);
udc              2056 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_ep0_enable(struct nbu2ss_udc *udc)
udc              2058 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EP0_CONTROL, (EP0_AUTO | EP0_BCLR));
udc              2059 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->EP0_INT_ENA, EP0_INT_EN_BIT);
udc              2063 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_nuke(struct nbu2ss_udc *udc,
udc              2070 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_epn_exit(udc, ep);
udc              2073 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep_dma_exit(udc, ep);
udc              2087 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_quiesce(struct nbu2ss_udc *udc)
udc              2091 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2093 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_nuke(udc, &udc->ep[0], -ESHUTDOWN);
udc              2096 drivers/staging/emxx_udc/emxx_udc.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
udc              2097 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_nuke(udc, ep, -ESHUTDOWN);
udc              2102 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_pullup(struct nbu2ss_udc *udc, int is_on)
udc              2106 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc              2111 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->driver) {
udc              2112 drivers/staging/emxx_udc/emxx_udc.c 			reg_dt = (_nbu2ss_readl(&udc->p_regs->USB_CONTROL)
udc              2115 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_writel(&udc->p_regs->USB_CONTROL, reg_dt);
udc              2120 drivers/staging/emxx_udc/emxx_udc.c 		reg_dt = (_nbu2ss_readl(&udc->p_regs->USB_CONTROL) | CONNECTB)
udc              2123 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->USB_CONTROL, reg_dt);
udc              2124 drivers/staging/emxx_udc/emxx_udc.c 		udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2131 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_fifo_flush(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
udc              2133 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *p = udc->p_regs;
udc              2135 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc              2144 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_ep_dma_abort(udc, ep);
udc              2150 drivers/staging/emxx_udc/emxx_udc.c static int _nbu2ss_enable_controller(struct nbu2ss_udc *udc)
udc              2154 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->udc_enabled)
udc              2158 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EPCTR, (DIRPD | EPC_RST));
udc              2161 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitclr(&udc->p_regs->EPCTR, DIRPD);
udc              2164 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitclr(&udc->p_regs->EPCTR, EPC_RST);
udc              2166 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_writel(&udc->p_regs->AHBSCTR, WAIT_MODE);
udc              2168 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_writel(&udc->p_regs->AHBMCTR,
udc              2171 drivers/staging/emxx_udc/emxx_udc.c 	while (!(_nbu2ss_readl(&udc->p_regs->EPCTR) & PLL_LOCK)) {
udc              2175 drivers/staging/emxx_udc/emxx_udc.c 			dev_err(udc->dev, "*** Reset Cancel failed\n");
udc              2180 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->UTMI_CHARACTER_1, USB_SQUSET);
udc              2182 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->USB_CONTROL, (INT_SEL | SOF_RCV));
udc              2185 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep0_enable(udc);
udc              2188 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->USB_INT_ENA, USB_INT_EN_BIT);
udc              2190 drivers/staging/emxx_udc/emxx_udc.c 	udc->udc_enabled = true;
udc              2196 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_reset_controller(struct nbu2ss_udc *udc)
udc              2198 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EPCTR, EPC_RST);
udc              2199 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitclr(&udc->p_regs->EPCTR, EPC_RST);
udc              2203 drivers/staging/emxx_udc/emxx_udc.c static void _nbu2ss_disable_controller(struct nbu2ss_udc *udc)
udc              2205 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->udc_enabled) {
udc              2206 drivers/staging/emxx_udc/emxx_udc.c 		udc->udc_enabled = false;
udc              2207 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_reset_controller(udc);
udc              2208 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->EPCTR, (DIRPD | EPC_RST));
udc              2213 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_check_vbus(struct nbu2ss_udc *udc)
udc              2224 drivers/staging/emxx_udc/emxx_udc.c 		udc->linux_suspended = 0;
udc              2226 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_reset_controller(udc);
udc              2227 drivers/staging/emxx_udc/emxx_udc.c 		dev_info(udc->dev, " ----- VBUS OFF\n");
udc              2229 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->vbus_active == 1) {
udc              2231 drivers/staging/emxx_udc/emxx_udc.c 			udc->vbus_active = 0;
udc              2232 drivers/staging/emxx_udc/emxx_udc.c 			if (udc->usb_suspended) {
udc              2233 drivers/staging/emxx_udc/emxx_udc.c 				udc->usb_suspended = 0;
udc              2236 drivers/staging/emxx_udc/emxx_udc.c 			udc->devstate = USB_STATE_NOTATTACHED;
udc              2238 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_quiesce(udc);
udc              2239 drivers/staging/emxx_udc/emxx_udc.c 			if (udc->driver) {
udc              2240 drivers/staging/emxx_udc/emxx_udc.c 				spin_unlock(&udc->lock);
udc              2241 drivers/staging/emxx_udc/emxx_udc.c 				udc->driver->disconnect(&udc->gadget);
udc              2242 drivers/staging/emxx_udc/emxx_udc.c 				spin_lock(&udc->lock);
udc              2245 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_disable_controller(udc);
udc              2253 drivers/staging/emxx_udc/emxx_udc.c 		dev_info(udc->dev, " ----- VBUS ON\n");
udc              2255 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->linux_suspended)
udc              2258 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->vbus_active == 0) {
udc              2260 drivers/staging/emxx_udc/emxx_udc.c 			udc->vbus_active = 1;
udc              2261 drivers/staging/emxx_udc/emxx_udc.c 			udc->devstate = USB_STATE_POWERED;
udc              2263 drivers/staging/emxx_udc/emxx_udc.c 			nret = _nbu2ss_enable_controller(udc);
udc              2265 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_disable_controller(udc);
udc              2266 drivers/staging/emxx_udc/emxx_udc.c 				udc->vbus_active = 0;
udc              2270 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_pullup(udc, 1);
udc              2273 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_dump_register(udc);
udc              2277 drivers/staging/emxx_udc/emxx_udc.c 			if (udc->devstate == USB_STATE_POWERED)
udc              2278 drivers/staging/emxx_udc/emxx_udc.c 				_nbu2ss_pullup(udc, 1);
udc              2284 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_int_bus_reset(struct nbu2ss_udc *udc)
udc              2286 drivers/staging/emxx_udc/emxx_udc.c 	udc->devstate		= USB_STATE_DEFAULT;
udc              2287 drivers/staging/emxx_udc/emxx_udc.c 	udc->remote_wakeup	= 0;
udc              2289 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_quiesce(udc);
udc              2291 drivers/staging/emxx_udc/emxx_udc.c 	udc->ep0state = EP0_IDLE;
udc              2295 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_int_usb_resume(struct nbu2ss_udc *udc)
udc              2297 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->usb_suspended == 1) {
udc              2298 drivers/staging/emxx_udc/emxx_udc.c 		udc->usb_suspended = 0;
udc              2299 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->driver && udc->driver->resume) {
udc              2300 drivers/staging/emxx_udc/emxx_udc.c 			spin_unlock(&udc->lock);
udc              2301 drivers/staging/emxx_udc/emxx_udc.c 			udc->driver->resume(&udc->gadget);
udc              2302 drivers/staging/emxx_udc/emxx_udc.c 			spin_lock(&udc->lock);
udc              2308 drivers/staging/emxx_udc/emxx_udc.c static inline void _nbu2ss_int_usb_suspend(struct nbu2ss_udc *udc)
udc              2312 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->usb_suspended == 0) {
udc              2318 drivers/staging/emxx_udc/emxx_udc.c 		udc->usb_suspended = 1;
udc              2319 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->driver && udc->driver->suspend) {
udc              2320 drivers/staging/emxx_udc/emxx_udc.c 			spin_unlock(&udc->lock);
udc              2321 drivers/staging/emxx_udc/emxx_udc.c 			udc->driver->suspend(&udc->gadget);
udc              2322 drivers/staging/emxx_udc/emxx_udc.c 			spin_lock(&udc->lock);
udc              2325 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_bitset(&udc->p_regs->USB_CONTROL, SUSPEND);
udc              2333 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc = (struct nbu2ss_udc *)_udc;
udc              2335 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock(&udc->lock);
udc              2336 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_check_vbus(udc);
udc              2337 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock(&udc->lock);
udc              2350 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc = (struct nbu2ss_udc *)_udc;
udc              2351 drivers/staging/emxx_udc/emxx_udc.c 	struct fc_regs __iomem *preg = udc->p_regs;
udc              2359 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock(&udc->lock);
udc              2377 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_int_bus_reset(udc);
udc              2382 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_int_usb_resume(udc);
udc              2396 drivers/staging/emxx_udc/emxx_udc.c 					_nbu2ss_ep_int(udc, epnum);
udc              2407 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_int_usb_suspend(udc);
udc              2409 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock(&udc->lock);
udc              2423 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2431 drivers/staging/emxx_udc/emxx_udc.c 	if (!ep->udc) {
udc              2443 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2444 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc              2447 drivers/staging/emxx_udc/emxx_udc.c 	if ((!udc->driver) || (udc->gadget.speed == USB_SPEED_UNKNOWN)) {
udc              2448 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(ep->udc->dev, " *** %s, udc !!\n", __func__);
udc              2452 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2465 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep_dma_init(udc, ep);
udc              2468 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_ep_init(udc, ep);
udc              2470 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2479 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2488 drivers/staging/emxx_udc/emxx_udc.c 	if (!ep->udc) {
udc              2493 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2494 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc              2497 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2498 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_nuke(udc, ep, -EINPROGRESS);		/* dequeue request */
udc              2499 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2541 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2574 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2576 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0) {
udc              2577 drivers/staging/emxx_udc/emxx_udc.c 		dev_info(udc->dev, "Can't ep_queue (VBUS OFF)\n");
udc              2581 drivers/staging/emxx_udc/emxx_udc.c 	if (unlikely(!udc->driver)) {
udc              2582 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, "%s, bogus device state %p\n", __func__,
udc              2583 drivers/staging/emxx_udc/emxx_udc.c 			udc->driver);
udc              2587 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2609 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_dma_map_single(udc, ep, req, USB_DIR_OUT);
udc              2619 drivers/staging/emxx_udc/emxx_udc.c 		result = _nbu2ss_start_transfer(udc, ep, req, false);
udc              2621 drivers/staging/emxx_udc/emxx_udc.c 			dev_err(udc->dev, " *** %s, result = %d\n", __func__,
udc              2635 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2645 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2656 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2657 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc)
udc              2660 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2668 drivers/staging/emxx_udc/emxx_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              2675 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2687 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2696 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2697 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc) {
udc              2698 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(ep->udc->dev, " *** %s, bad udc\n", __func__);
udc              2702 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2706 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_set_endpoint_stall(udc, ep_adrs, value);
udc              2710 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_epn_set_stall(udc, ep);
udc              2718 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2733 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2744 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2745 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc) {
udc              2746 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(ep->udc->dev, "%s, bad udc\n", __func__);
udc              2750 drivers/staging/emxx_udc/emxx_udc.c 	preg = udc->p_regs;
udc              2756 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2766 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2776 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2786 drivers/staging/emxx_udc/emxx_udc.c 	udc = ep->udc;
udc              2787 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc) {
udc              2788 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(ep->udc->dev, "%s, bad udc\n", __func__);
udc              2796 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2797 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_fifo_flush(udc, ep);
udc              2798 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2826 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2833 drivers/staging/emxx_udc/emxx_udc.c 	udc = container_of(pgadget, struct nbu2ss_udc, gadget);
udc              2838 drivers/staging/emxx_udc/emxx_udc.c 	return _nbu2ss_readl(&udc->p_regs->USB_ADDRESS) & FRAME;
udc              2847 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2854 drivers/staging/emxx_udc/emxx_udc.c 	udc = container_of(pgadget, struct nbu2ss_udc, gadget);
udc              2862 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitset(&udc->p_regs->EPCTR, PLL_RESUME);
udc              2865 drivers/staging/emxx_udc/emxx_udc.c 		data = _nbu2ss_readl(&udc->p_regs->EPCTR);
udc              2871 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_bitclr(&udc->p_regs->EPCTR, PLL_RESUME);
udc              2880 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc       *udc;
udc              2888 drivers/staging/emxx_udc/emxx_udc.c 	udc = container_of(pgadget, struct nbu2ss_udc, gadget);
udc              2890 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2892 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2906 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2914 drivers/staging/emxx_udc/emxx_udc.c 	udc = container_of(pgadget, struct nbu2ss_udc, gadget);
udc              2916 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2917 drivers/staging/emxx_udc/emxx_udc.c 	udc->mA = mA;
udc              2918 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2926 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              2934 drivers/staging/emxx_udc/emxx_udc.c 	udc = container_of(pgadget, struct nbu2ss_udc, gadget);
udc              2936 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc->driver) {
udc              2941 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active == 0)
udc              2944 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2945 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_pullup(udc, is_on);
udc              2946 drivers/staging/emxx_udc/emxx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              3011 drivers/staging/emxx_udc/emxx_udc.c static void nbu2ss_drv_ep_init(struct nbu2ss_udc *udc)
udc              3015 drivers/staging/emxx_udc/emxx_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              3016 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.ep0 = &udc->ep[0].ep;
udc              3019 drivers/staging/emxx_udc/emxx_udc.c 		struct nbu2ss_ep *ep = &udc->ep[i];
udc              3021 drivers/staging/emxx_udc/emxx_udc.c 		ep->udc = udc;
udc              3033 drivers/staging/emxx_udc/emxx_udc.c 		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              3037 drivers/staging/emxx_udc/emxx_udc.c 	list_del_init(&udc->ep[0].ep.ep_list);
udc              3043 drivers/staging/emxx_udc/emxx_udc.c 				   struct nbu2ss_udc *udc)
udc              3045 drivers/staging/emxx_udc/emxx_udc.c 	spin_lock_init(&udc->lock);
udc              3046 drivers/staging/emxx_udc/emxx_udc.c 	udc->dev = &pdev->dev;
udc              3048 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.is_selfpowered = 1;
udc              3049 drivers/staging/emxx_udc/emxx_udc.c 	udc->devstate = USB_STATE_NOTATTACHED;
udc              3050 drivers/staging/emxx_udc/emxx_udc.c 	udc->pdev = pdev;
udc              3051 drivers/staging/emxx_udc/emxx_udc.c 	udc->mA = 0;
udc              3053 drivers/staging/emxx_udc/emxx_udc.c 	udc->pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
udc              3056 drivers/staging/emxx_udc/emxx_udc.c 	nbu2ss_drv_ep_init(udc);
udc              3059 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.ops = &nbu2ss_gadget_ops;
udc              3060 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.ep0 = &udc->ep[0].ep;
udc              3061 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              3062 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.name = driver_name;
udc              3065 drivers/staging/emxx_udc/emxx_udc.c 	device_initialize(&udc->gadget.dev);
udc              3067 drivers/staging/emxx_udc/emxx_udc.c 	dev_set_name(&udc->gadget.dev, "gadget");
udc              3068 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.dev.parent = &pdev->dev;
udc              3069 drivers/staging/emxx_udc/emxx_udc.c 	udc->gadget.dev.dma_mask = pdev->dev.dma_mask;
udc              3080 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              3085 drivers/staging/emxx_udc/emxx_udc.c 	udc = &udc_controller;
udc              3086 drivers/staging/emxx_udc/emxx_udc.c 	memset(udc, 0, sizeof(struct nbu2ss_udc));
udc              3088 drivers/staging/emxx_udc/emxx_udc.c 	platform_set_drvdata(pdev, udc);
udc              3100 drivers/staging/emxx_udc/emxx_udc.c 				  0, driver_name, udc);
udc              3103 drivers/staging/emxx_udc/emxx_udc.c 	udc->p_regs = (struct fc_regs __iomem *)mmio_base;
udc              3107 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, "request_irq(USB_UDC_IRQ_1) failed\n");
udc              3112 drivers/staging/emxx_udc/emxx_udc.c 	status = nbu2ss_drv_contest_init(pdev, udc);
udc              3122 drivers/staging/emxx_udc/emxx_udc.c 			     _nbu2ss_vbus_irq, IRQF_SHARED, driver_name, udc);
udc              3125 drivers/staging/emxx_udc/emxx_udc.c 		dev_err(udc->dev, "request_irq(vbus_irq) failed\n");
udc              3135 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              3137 drivers/staging/emxx_udc/emxx_udc.c 	udc = platform_get_drvdata(pdev);
udc              3138 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc)
udc              3141 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_disable_controller(udc);
udc              3147 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              3151 drivers/staging/emxx_udc/emxx_udc.c 	udc = &udc_controller;
udc              3154 drivers/staging/emxx_udc/emxx_udc.c 		ep = &udc->ep[i];
udc              3161 drivers/staging/emxx_udc/emxx_udc.c 	free_irq(vbus_irq, udc);
udc              3169 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              3171 drivers/staging/emxx_udc/emxx_udc.c 	udc = platform_get_drvdata(pdev);
udc              3172 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc)
udc              3175 drivers/staging/emxx_udc/emxx_udc.c 	if (udc->vbus_active) {
udc              3176 drivers/staging/emxx_udc/emxx_udc.c 		udc->vbus_active = 0;
udc              3177 drivers/staging/emxx_udc/emxx_udc.c 		udc->devstate = USB_STATE_NOTATTACHED;
udc              3178 drivers/staging/emxx_udc/emxx_udc.c 		udc->linux_suspended = 1;
udc              3180 drivers/staging/emxx_udc/emxx_udc.c 		if (udc->usb_suspended) {
udc              3181 drivers/staging/emxx_udc/emxx_udc.c 			udc->usb_suspended = 0;
udc              3182 drivers/staging/emxx_udc/emxx_udc.c 			_nbu2ss_reset_controller(udc);
udc              3185 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_quiesce(udc);
udc              3187 drivers/staging/emxx_udc/emxx_udc.c 	_nbu2ss_disable_controller(udc);
udc              3196 drivers/staging/emxx_udc/emxx_udc.c 	struct nbu2ss_udc	*udc;
udc              3198 drivers/staging/emxx_udc/emxx_udc.c 	udc = platform_get_drvdata(pdev);
udc              3199 drivers/staging/emxx_udc/emxx_udc.c 	if (!udc)
udc              3204 drivers/staging/emxx_udc/emxx_udc.c 		udc->vbus_active = 1;
udc              3205 drivers/staging/emxx_udc/emxx_udc.c 		udc->devstate = USB_STATE_POWERED;
udc              3206 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_enable_controller(udc);
udc              3207 drivers/staging/emxx_udc/emxx_udc.c 		_nbu2ss_pullup(udc, 1);
udc              3210 drivers/staging/emxx_udc/emxx_udc.c 	udc->linux_suspended = 0;
udc               538 drivers/staging/emxx_udc/emxx_udc.h 	struct nbu2ss_udc		*udc;
udc                65 drivers/usb/chipidea/ci_hdrc_tegra.c 	struct tegra_udc *udc;
udc                68 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL);
udc                69 drivers/usb/chipidea/ci_hdrc_tegra.c 	if (!udc)
udc                78 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "nvidia,phy", 0);
udc                79 drivers/usb/chipidea/ci_hdrc_tegra.c 	if (IS_ERR(udc->phy)) {
udc                80 drivers/usb/chipidea/ci_hdrc_tegra.c 		err = PTR_ERR(udc->phy);
udc                85 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->clk = devm_clk_get(&pdev->dev, NULL);
udc                86 drivers/usb/chipidea/ci_hdrc_tegra.c 	if (IS_ERR(udc->clk)) {
udc                87 drivers/usb/chipidea/ci_hdrc_tegra.c 		err = PTR_ERR(udc->clk);
udc                92 drivers/usb/chipidea/ci_hdrc_tegra.c 	err = clk_prepare_enable(udc->clk);
udc               103 drivers/usb/chipidea/ci_hdrc_tegra.c 	usb_phy_set_suspend(udc->phy, 0);
udc               106 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->data.name = "tegra-udc";
udc               107 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->data.flags = soc->flags;
udc               108 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->data.usb_phy = udc->phy;
udc               109 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->data.capoffset = DEF_CAPOFFSET;
udc               111 drivers/usb/chipidea/ci_hdrc_tegra.c 	udc->dev = ci_hdrc_add_device(&pdev->dev, pdev->resource,
udc               112 drivers/usb/chipidea/ci_hdrc_tegra.c 				      pdev->num_resources, &udc->data);
udc               113 drivers/usb/chipidea/ci_hdrc_tegra.c 	if (IS_ERR(udc->dev)) {
udc               114 drivers/usb/chipidea/ci_hdrc_tegra.c 		err = PTR_ERR(udc->dev);
udc               119 drivers/usb/chipidea/ci_hdrc_tegra.c 	platform_set_drvdata(pdev, udc);
udc               124 drivers/usb/chipidea/ci_hdrc_tegra.c 	usb_phy_set_suspend(udc->phy, 1);
udc               125 drivers/usb/chipidea/ci_hdrc_tegra.c 	clk_disable_unprepare(udc->clk);
udc               131 drivers/usb/chipidea/ci_hdrc_tegra.c 	struct tegra_udc *udc = platform_get_drvdata(pdev);
udc               133 drivers/usb/chipidea/ci_hdrc_tegra.c 	ci_hdrc_remove_device(udc->dev);
udc               134 drivers/usb/chipidea/ci_hdrc_tegra.c 	usb_phy_set_suspend(udc->phy, 1);
udc               135 drivers/usb/chipidea/ci_hdrc_tegra.c 	clk_disable_unprepare(udc->clk);
udc               498 drivers/usb/dwc3/dwc3-meson-g12a.c 	priv->switch_desc.udc = dwc3_meson_g12_find_child(dev, "snps,dwc2");
udc               517 drivers/usb/gadget/udc/amd5536udc.h 	struct udc			*dev;
udc               579 drivers/usb/gadget/udc/amd5536udc.h #define to_amd5536_udc(g)	(container_of((g), struct udc, gadget))
udc               588 drivers/usb/gadget/udc/amd5536udc.h int udc_enable_dev_setup_interrupts(struct udc *dev);
udc               589 drivers/usb/gadget/udc/amd5536udc.h int udc_mask_unused_interrupts(struct udc *dev);
udc               593 drivers/usb/gadget/udc/amd5536udc.h void udc_basic_init(struct udc *dev);
udc               594 drivers/usb/gadget/udc/amd5536udc.h void free_dma_pools(struct udc *dev);
udc               595 drivers/usb/gadget/udc/amd5536udc.h int init_dma_pools(struct udc *dev);
udc               596 drivers/usb/gadget/udc/amd5536udc.h void udc_remove(struct udc *dev);
udc               597 drivers/usb/gadget/udc/amd5536udc.h int udc_probe(struct udc *dev);
udc               654 drivers/usb/gadget/udc/amd5536udc.h #define DBG(udc , args...)	dev_dbg(udc->dev, args)
udc               659 drivers/usb/gadget/udc/amd5536udc.h #define VDBG(udc , args...)	do {} while (0)
udc                49 drivers/usb/gadget/udc/amd5536udc_pci.c static struct udc *udc;
udc                58 drivers/usb/gadget/udc/amd5536udc_pci.c 	struct udc		*dev;
udc                62 drivers/usb/gadget/udc/amd5536udc_pci.c 	usb_del_gadget_udc(&udc->gadget);
udc                87 drivers/usb/gadget/udc/amd5536udc_pci.c 	struct udc		*dev;
udc                93 drivers/usb/gadget/udc/amd5536udc_pci.c 	if (udc) {
udc                99 drivers/usb/gadget/udc/amd5536udc_pci.c 	dev = kzalloc(sizeof(struct udc), GFP_KERNEL);
udc               515 drivers/usb/gadget/udc/aspeed-vhub/vhub.h #define ast_vhub_simple_reply(udc, ...)					       \
udc               516 drivers/usb/gadget/udc/aspeed-vhub/vhub.h 	__ast_vhub_simple_reply((udc),					       \
udc                89 drivers/usb/gadget/udc/at91_udc.c #define at91_udp_read(udc, reg) \
udc                90 drivers/usb/gadget/udc/at91_udc.c 	__raw_readl((udc)->udp_baseaddr + (reg))
udc                91 drivers/usb/gadget/udc/at91_udc.c #define at91_udp_write(udc, reg, val) \
udc                92 drivers/usb/gadget/udc/at91_udc.c 	__raw_writel((val), (udc)->udp_baseaddr + (reg))
udc               114 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = ep->udc;
udc               116 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               160 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               184 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = s->private;
udc               191 drivers/usb/gadget/udc/at91_udc.c 		udc->vbus ? "present" : "off",
udc               192 drivers/usb/gadget/udc/at91_udc.c 		udc->enabled
udc               193 drivers/usb/gadget/udc/at91_udc.c 			? (udc->vbus ? "active" : "enabled")
udc               195 drivers/usb/gadget/udc/at91_udc.c 		udc->gadget.is_selfpowered ? "self" : "VBUS",
udc               196 drivers/usb/gadget/udc/at91_udc.c 		udc->suspended ? ", suspended" : "",
udc               197 drivers/usb/gadget/udc/at91_udc.c 		udc->driver ? udc->driver->driver.name : "(none)");
udc               200 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->clocked) {
udc               205 drivers/usb/gadget/udc/at91_udc.c 	tmp = at91_udp_read(udc, AT91_UDP_FRM_NUM);
udc               211 drivers/usb/gadget/udc/at91_udc.c 	tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc               219 drivers/usb/gadget/udc/at91_udc.c 	tmp = at91_udp_read(udc, AT91_UDP_FADDR);
udc               224 drivers/usb/gadget/udc/at91_udc.c 	proc_irq_show(s, "imr   ", at91_udp_read(udc, AT91_UDP_IMR));
udc               225 drivers/usb/gadget/udc/at91_udc.c 	proc_irq_show(s, "isr   ", at91_udp_read(udc, AT91_UDP_ISR));
udc               227 drivers/usb/gadget/udc/at91_udc.c 	if (udc->enabled && udc->vbus) {
udc               228 drivers/usb/gadget/udc/at91_udc.c 		proc_ep_show(s, &udc->ep[0]);
udc               229 drivers/usb/gadget/udc/at91_udc.c 		list_for_each_entry (ep, &udc->gadget.ep_list, ep.ep_list) {
udc               237 drivers/usb/gadget/udc/at91_udc.c static void create_debug_file(struct at91_udc *udc)
udc               239 drivers/usb/gadget/udc/at91_udc.c 	udc->pde = proc_create_single_data(debug_filename, 0, NULL,
udc               240 drivers/usb/gadget/udc/at91_udc.c 			proc_udc_show, udc);
udc               243 drivers/usb/gadget/udc/at91_udc.c static void remove_debug_file(struct at91_udc *udc)
udc               245 drivers/usb/gadget/udc/at91_udc.c 	if (udc->pde)
udc               251 drivers/usb/gadget/udc/at91_udc.c static inline void create_debug_file(struct at91_udc *udc) {}
udc               252 drivers/usb/gadget/udc/at91_udc.c static inline void remove_debug_file(struct at91_udc *udc) {}
udc               262 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = ep->udc;
udc               273 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock(&udc->lock);
udc               275 drivers/usb/gadget/udc/at91_udc.c 	spin_lock(&udc->lock);
udc               280 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_IDR, ep->int_mask);
udc               475 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc;
udc               489 drivers/usb/gadget/udc/at91_udc.c 	udc = ep->udc;
udc               490 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc               524 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               542 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
udc               543 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_RST_EP, 0);
udc               545 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               552 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = ep->udc;
udc               555 drivers/usb/gadget/udc/at91_udc.c 	if (ep == &ep->udc->ep[0])
udc               558 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               567 drivers/usb/gadget/udc/at91_udc.c 	if (ep->udc->clocked) {
udc               568 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
udc               569 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_RST_EP, 0);
udc               573 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               609 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc		*udc;
udc               627 drivers/usb/gadget/udc/at91_udc.c 	udc = ep->udc;
udc               629 drivers/usb/gadget/udc/at91_udc.c 	if (!udc || !udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc               637 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               655 drivers/usb/gadget/udc/at91_udc.c 			if (!udc->req_pending) {
udc               664 drivers/usb/gadget/udc/at91_udc.c 			if (udc->wait_for_config_ack) {
udc               665 drivers/usb/gadget/udc/at91_udc.c 				tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc               668 drivers/usb/gadget/udc/at91_udc.c 				at91_udp_write(udc, AT91_UDP_GLB_STAT, tmp);
udc               678 drivers/usb/gadget/udc/at91_udc.c 				udc->req_pending = 0;
udc               697 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_IER, ep->int_mask);
udc               700 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               709 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc		*udc;
udc               715 drivers/usb/gadget/udc/at91_udc.c 	udc = ep->udc;
udc               717 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               725 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               730 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               737 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = ep->udc;
udc               743 drivers/usb/gadget/udc/at91_udc.c 	if (!_ep || ep->is_iso || !ep->udc->clocked)
udc               747 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               765 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
udc               766 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_RST_EP, 0);
udc               772 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               791 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = to_udc(gadget);
udc               795 drivers/usb/gadget/udc/at91_udc.c 	return at91_udp_read(udc, AT91_UDP_FRM_NUM) & AT91_UDP_NUM;
udc               800 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = to_udc(gadget);
udc               805 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               807 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->clocked || !udc->suspended)
udc               812 drivers/usb/gadget/udc/at91_udc.c 	glbstate = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc               816 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_GLB_STAT, glbstate);
udc               819 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               824 drivers/usb/gadget/udc/at91_udc.c static void udc_reinit(struct at91_udc *udc)
udc               828 drivers/usb/gadget/udc/at91_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc               829 drivers/usb/gadget/udc/at91_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep0->ep_list);
udc               830 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.quirk_stall_not_supp = 1;
udc               833 drivers/usb/gadget/udc/at91_udc.c 		struct at91_ep *ep = &udc->ep[i];
udc               836 drivers/usb/gadget/udc/at91_udc.c 			list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc               841 drivers/usb/gadget/udc/at91_udc.c 		ep->creg = (void __iomem *) udc->udp_baseaddr + AT91_UDP_CSR(i);
udc               847 drivers/usb/gadget/udc/at91_udc.c static void reset_gadget(struct at91_udc *udc)
udc               849 drivers/usb/gadget/udc/at91_udc.c 	struct usb_gadget_driver *driver = udc->driver;
udc               852 drivers/usb/gadget/udc/at91_udc.c 	if (udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               854 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc               855 drivers/usb/gadget/udc/at91_udc.c 	udc->suspended = 0;
udc               858 drivers/usb/gadget/udc/at91_udc.c 		struct at91_ep *ep = &udc->ep[i];
udc               864 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock(&udc->lock);
udc               865 drivers/usb/gadget/udc/at91_udc.c 		usb_gadget_udc_reset(&udc->gadget, driver);
udc               866 drivers/usb/gadget/udc/at91_udc.c 		spin_lock(&udc->lock);
udc               869 drivers/usb/gadget/udc/at91_udc.c 	udc_reinit(udc);
udc               872 drivers/usb/gadget/udc/at91_udc.c static void stop_activity(struct at91_udc *udc)
udc               874 drivers/usb/gadget/udc/at91_udc.c 	struct usb_gadget_driver *driver = udc->driver;
udc               877 drivers/usb/gadget/udc/at91_udc.c 	if (udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               879 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc               880 drivers/usb/gadget/udc/at91_udc.c 	udc->suspended = 0;
udc               883 drivers/usb/gadget/udc/at91_udc.c 		struct at91_ep *ep = &udc->ep[i];
udc               888 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock(&udc->lock);
udc               889 drivers/usb/gadget/udc/at91_udc.c 		driver->disconnect(&udc->gadget);
udc               890 drivers/usb/gadget/udc/at91_udc.c 		spin_lock(&udc->lock);
udc               893 drivers/usb/gadget/udc/at91_udc.c 	udc_reinit(udc);
udc               896 drivers/usb/gadget/udc/at91_udc.c static void clk_on(struct at91_udc *udc)
udc               898 drivers/usb/gadget/udc/at91_udc.c 	if (udc->clocked)
udc               900 drivers/usb/gadget/udc/at91_udc.c 	udc->clocked = 1;
udc               902 drivers/usb/gadget/udc/at91_udc.c 	clk_enable(udc->iclk);
udc               903 drivers/usb/gadget/udc/at91_udc.c 	clk_enable(udc->fclk);
udc               906 drivers/usb/gadget/udc/at91_udc.c static void clk_off(struct at91_udc *udc)
udc               908 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->clocked)
udc               910 drivers/usb/gadget/udc/at91_udc.c 	udc->clocked = 0;
udc               911 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc               912 drivers/usb/gadget/udc/at91_udc.c 	clk_disable(udc->fclk);
udc               913 drivers/usb/gadget/udc/at91_udc.c 	clk_disable(udc->iclk);
udc               920 drivers/usb/gadget/udc/at91_udc.c static void pullup(struct at91_udc *udc, int is_on)
udc               922 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->enabled || !udc->vbus)
udc               927 drivers/usb/gadget/udc/at91_udc.c 		clk_on(udc);
udc               928 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_ICR, AT91_UDP_RXRSM);
udc               929 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_TXVC, 0);
udc               931 drivers/usb/gadget/udc/at91_udc.c 		stop_activity(udc);
udc               932 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_IDR, AT91_UDP_RXRSM);
udc               933 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_TXVC, AT91_UDP_TXVC_TXVDIS);
udc               934 drivers/usb/gadget/udc/at91_udc.c 		clk_off(udc);
udc               937 drivers/usb/gadget/udc/at91_udc.c 	if (udc->caps && udc->caps->pullup)
udc               938 drivers/usb/gadget/udc/at91_udc.c 		udc->caps->pullup(udc, is_on);
udc               944 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = to_udc(gadget);
udc               948 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               949 drivers/usb/gadget/udc/at91_udc.c 	udc->vbus = (is_active != 0);
udc               950 drivers/usb/gadget/udc/at91_udc.c 	if (udc->driver)
udc               951 drivers/usb/gadget/udc/at91_udc.c 		pullup(udc, is_active);
udc               953 drivers/usb/gadget/udc/at91_udc.c 		pullup(udc, 0);
udc               954 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               960 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = to_udc(gadget);
udc               963 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               964 drivers/usb/gadget/udc/at91_udc.c 	udc->enabled = is_on = !!is_on;
udc               965 drivers/usb/gadget/udc/at91_udc.c 	pullup(udc, is_on);
udc               966 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               972 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = to_udc(gadget);
udc               975 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               977 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1045 drivers/usb/gadget/udc/at91_udc.c static void handle_setup(struct at91_udc *udc, struct at91_ep *ep, u32 csr)
udc              1074 drivers/usb/gadget/udc/at91_udc.c 	udc->wait_for_addr_ack = 0;
udc              1075 drivers/usb/gadget/udc/at91_udc.c 	udc->wait_for_config_ack = 0;
udc              1092 drivers/usb/gadget/udc/at91_udc.c 	udc->req_pending = 1;
udc              1101 drivers/usb/gadget/udc/at91_udc.c 		udc->addr = w_value;
udc              1102 drivers/usb/gadget/udc/at91_udc.c 		udc->wait_for_addr_ack = 1;
udc              1103 drivers/usb/gadget/udc/at91_udc.c 		udc->req_pending = 0;
udc              1109 drivers/usb/gadget/udc/at91_udc.c 		tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT) & AT91_UDP_CONFG;
udc              1111 drivers/usb/gadget/udc/at91_udc.c 			udc->wait_for_config_ack = (tmp == 0);
udc              1113 drivers/usb/gadget/udc/at91_udc.c 			udc->wait_for_config_ack = (tmp != 0);
udc              1114 drivers/usb/gadget/udc/at91_udc.c 		if (udc->wait_for_config_ack)
udc              1125 drivers/usb/gadget/udc/at91_udc.c 		tmp = (udc->gadget.is_selfpowered << USB_DEVICE_SELF_POWERED);
udc              1126 drivers/usb/gadget/udc/at91_udc.c 		if (at91_udp_read(udc, AT91_UDP_GLB_STAT) & AT91_UDP_ESR)
udc              1137 drivers/usb/gadget/udc/at91_udc.c 		tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc              1139 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_GLB_STAT, tmp);
udc              1145 drivers/usb/gadget/udc/at91_udc.c 		tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc              1147 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_GLB_STAT, tmp);
udc              1174 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[tmp];
udc              1197 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[tmp];
udc              1216 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[tmp];
udc              1229 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
udc              1230 drivers/usb/gadget/udc/at91_udc.c 		at91_udp_write(udc, AT91_UDP_RST_EP, 0);
udc              1245 drivers/usb/gadget/udc/at91_udc.c 	if (udc->driver) {
udc              1246 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock(&udc->lock);
udc              1247 drivers/usb/gadget/udc/at91_udc.c 		status = udc->driver->setup(&udc->gadget, &pkt.r);
udc              1248 drivers/usb/gadget/udc/at91_udc.c 		spin_lock(&udc->lock);
udc              1258 drivers/usb/gadget/udc/at91_udc.c 		udc->req_pending = 0;
udc              1268 drivers/usb/gadget/udc/at91_udc.c 	udc->req_pending = 0;
udc              1271 drivers/usb/gadget/udc/at91_udc.c static void handle_ep0(struct at91_udc *udc)
udc              1273 drivers/usb/gadget/udc/at91_udc.c 	struct at91_ep		*ep0 = &udc->ep[0];
udc              1280 drivers/usb/gadget/udc/at91_udc.c 		udc->req_pending = 0;
udc              1289 drivers/usb/gadget/udc/at91_udc.c 		udc->req_pending = 0;
udc              1290 drivers/usb/gadget/udc/at91_udc.c 		handle_setup(udc, ep0, csr);
udc              1307 drivers/usb/gadget/udc/at91_udc.c 				udc->req_pending = 0;
udc              1318 drivers/usb/gadget/udc/at91_udc.c 			udc->req_pending = 0;
udc              1325 drivers/usb/gadget/udc/at91_udc.c 			if (udc->wait_for_addr_ack) {
udc              1328 drivers/usb/gadget/udc/at91_udc.c 				at91_udp_write(udc, AT91_UDP_FADDR,
udc              1329 drivers/usb/gadget/udc/at91_udc.c 						AT91_UDP_FEN | udc->addr);
udc              1330 drivers/usb/gadget/udc/at91_udc.c 				tmp = at91_udp_read(udc, AT91_UDP_GLB_STAT);
udc              1332 drivers/usb/gadget/udc/at91_udc.c 				if (udc->addr)
udc              1334 drivers/usb/gadget/udc/at91_udc.c 				at91_udp_write(udc, AT91_UDP_GLB_STAT, tmp);
udc              1336 drivers/usb/gadget/udc/at91_udc.c 				udc->wait_for_addr_ack = 0;
udc              1337 drivers/usb/gadget/udc/at91_udc.c 				VDBG("address %d\n", udc->addr);
udc              1357 drivers/usb/gadget/udc/at91_udc.c 					udc->req_pending = 0;
udc              1359 drivers/usb/gadget/udc/at91_udc.c 			} else if (udc->req_pending) {
udc              1379 drivers/usb/gadget/udc/at91_udc.c 				udc->req_pending = 0;
udc              1396 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc		*udc = _udc;
udc              1401 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1403 drivers/usb/gadget/udc/at91_udc.c 	if (!udc->clocked) {
udc              1404 drivers/usb/gadget/udc/at91_udc.c 		clk_on(udc);
udc              1411 drivers/usb/gadget/udc/at91_udc.c 		status = at91_udp_read(udc, AT91_UDP_ISR)
udc              1412 drivers/usb/gadget/udc/at91_udc.c 			& at91_udp_read(udc, AT91_UDP_IMR);
udc              1418 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IDR, ~MINIMUS_INTERRUPTUS);
udc              1419 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IER, MINIMUS_INTERRUPTUS);
udc              1421 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_ICR, AT91_UDP_ENDBUSRES);
udc              1422 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_ICR, AT91_UDP_ENDBUSRES);
udc              1424 drivers/usb/gadget/udc/at91_udc.c 			udc->addr = 0;
udc              1425 drivers/usb/gadget/udc/at91_udc.c 			reset_gadget(udc);
udc              1428 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_CSR(0),
udc              1430 drivers/usb/gadget/udc/at91_udc.c 			udc->gadget.speed = USB_SPEED_FULL;
udc              1431 drivers/usb/gadget/udc/at91_udc.c 			udc->suspended = 0;
udc              1432 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IER, AT91_UDP_EP(0));
udc              1443 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IDR, AT91_UDP_RXSUSP);
udc              1444 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IER, AT91_UDP_RXRSM);
udc              1445 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_ICR, AT91_UDP_RXSUSP);
udc              1447 drivers/usb/gadget/udc/at91_udc.c 			if (udc->suspended)
udc              1449 drivers/usb/gadget/udc/at91_udc.c 			udc->suspended = 1;
udc              1457 drivers/usb/gadget/udc/at91_udc.c 			if (udc->driver && udc->driver->suspend) {
udc              1458 drivers/usb/gadget/udc/at91_udc.c 				spin_unlock(&udc->lock);
udc              1459 drivers/usb/gadget/udc/at91_udc.c 				udc->driver->suspend(&udc->gadget);
udc              1460 drivers/usb/gadget/udc/at91_udc.c 				spin_lock(&udc->lock);
udc              1465 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IDR, AT91_UDP_RXRSM);
udc              1466 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_IER, AT91_UDP_RXSUSP);
udc              1467 drivers/usb/gadget/udc/at91_udc.c 			at91_udp_write(udc, AT91_UDP_ICR, AT91_UDP_RXRSM);
udc              1469 drivers/usb/gadget/udc/at91_udc.c 			if (!udc->suspended)
udc              1471 drivers/usb/gadget/udc/at91_udc.c 			udc->suspended = 0;
udc              1478 drivers/usb/gadget/udc/at91_udc.c 			if (udc->driver && udc->driver->resume) {
udc              1479 drivers/usb/gadget/udc/at91_udc.c 				spin_unlock(&udc->lock);
udc              1480 drivers/usb/gadget/udc/at91_udc.c 				udc->driver->resume(&udc->gadget);
udc              1481 drivers/usb/gadget/udc/at91_udc.c 				spin_lock(&udc->lock);
udc              1488 drivers/usb/gadget/udc/at91_udc.c 			struct at91_ep	*ep = &udc->ep[1];
udc              1491 drivers/usb/gadget/udc/at91_udc.c 				handle_ep0(udc);
udc              1502 drivers/usb/gadget/udc/at91_udc.c 		clk_off(udc);
udc              1504 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1511 drivers/usb/gadget/udc/at91_udc.c static void at91_vbus_update(struct at91_udc *udc, unsigned value)
udc              1513 drivers/usb/gadget/udc/at91_udc.c 	value ^= udc->board.vbus_active_low;
udc              1514 drivers/usb/gadget/udc/at91_udc.c 	if (value != udc->vbus)
udc              1515 drivers/usb/gadget/udc/at91_udc.c 		at91_vbus_session(&udc->gadget, value);
udc              1520 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc = _udc;
udc              1524 drivers/usb/gadget/udc/at91_udc.c 	at91_vbus_update(udc, gpio_get_value(udc->board.vbus_pin));
udc              1531 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = container_of(work, struct at91_udc,
udc              1534 drivers/usb/gadget/udc/at91_udc.c 	at91_vbus_update(udc, gpio_get_value_cansleep(udc->board.vbus_pin));
udc              1536 drivers/usb/gadget/udc/at91_udc.c 	if (!timer_pending(&udc->vbus_timer))
udc              1537 drivers/usb/gadget/udc/at91_udc.c 		mod_timer(&udc->vbus_timer, jiffies + VBUS_POLL_TIMEOUT);
udc              1542 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = from_timer(udc, t, vbus_timer);
udc              1549 drivers/usb/gadget/udc/at91_udc.c 	schedule_work(&udc->vbus_timer_work);
udc              1555 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc;
udc              1557 drivers/usb/gadget/udc/at91_udc.c 	udc = container_of(gadget, struct at91_udc, gadget);
udc              1558 drivers/usb/gadget/udc/at91_udc.c 	udc->driver = driver;
udc              1559 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.dev.of_node = udc->pdev->dev.of_node;
udc              1560 drivers/usb/gadget/udc/at91_udc.c 	udc->enabled = 1;
udc              1561 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.is_selfpowered = 1;
udc              1568 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc;
udc              1571 drivers/usb/gadget/udc/at91_udc.c 	udc = container_of(gadget, struct at91_udc, gadget);
udc              1572 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1573 drivers/usb/gadget/udc/at91_udc.c 	udc->enabled = 0;
udc              1574 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_IDR, ~0);
udc              1575 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1577 drivers/usb/gadget/udc/at91_udc.c 	udc->driver = NULL;
udc              1586 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = platform_get_drvdata(dev);
udc              1590 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1592 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1595 drivers/usb/gadget/udc/at91_udc.c static int at91rm9200_udc_init(struct at91_udc *udc)
udc              1602 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[i];
udc              1618 drivers/usb/gadget/udc/at91_udc.c 	if (!gpio_is_valid(udc->board.pullup_pin)) {
udc              1623 drivers/usb/gadget/udc/at91_udc.c 	ret = devm_gpio_request(&udc->pdev->dev, udc->board.pullup_pin,
udc              1630 drivers/usb/gadget/udc/at91_udc.c 	gpio_direction_output(udc->board.pullup_pin,
udc              1631 drivers/usb/gadget/udc/at91_udc.c 			      udc->board.pullup_active_low);
udc              1636 drivers/usb/gadget/udc/at91_udc.c static void at91rm9200_udc_pullup(struct at91_udc *udc, int is_on)
udc              1638 drivers/usb/gadget/udc/at91_udc.c 	int active = !udc->board.pullup_active_low;
udc              1641 drivers/usb/gadget/udc/at91_udc.c 		gpio_set_value(udc->board.pullup_pin, active);
udc              1643 drivers/usb/gadget/udc/at91_udc.c 		gpio_set_value(udc->board.pullup_pin, !active);
udc              1651 drivers/usb/gadget/udc/at91_udc.c static int at91sam9260_udc_init(struct at91_udc *udc)
udc              1657 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[i];
udc              1672 drivers/usb/gadget/udc/at91_udc.c static void at91sam9260_udc_pullup(struct at91_udc *udc, int is_on)
udc              1674 drivers/usb/gadget/udc/at91_udc.c 	u32 txvc = at91_udp_read(udc, AT91_UDP_TXVC);
udc              1681 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_TXVC, txvc);
udc              1689 drivers/usb/gadget/udc/at91_udc.c static int at91sam9261_udc_init(struct at91_udc *udc)
udc              1695 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[i];
udc              1710 drivers/usb/gadget/udc/at91_udc.c 	udc->matrix = syscon_regmap_lookup_by_phandle(udc->pdev->dev.of_node,
udc              1712 drivers/usb/gadget/udc/at91_udc.c 	return PTR_ERR_OR_ZERO(udc->matrix);
udc              1715 drivers/usb/gadget/udc/at91_udc.c static void at91sam9261_udc_pullup(struct at91_udc *udc, int is_on)
udc              1722 drivers/usb/gadget/udc/at91_udc.c 	regmap_update_bits(udc->matrix, AT91SAM9261_MATRIX_USBPUCR,
udc              1731 drivers/usb/gadget/udc/at91_udc.c static int at91sam9263_udc_init(struct at91_udc *udc)
udc              1737 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[i];
udc              1782 drivers/usb/gadget/udc/at91_udc.c static void at91udc_of_init(struct at91_udc *udc, struct device_node *np)
udc              1784 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc_data *board = &udc->board;
udc              1803 drivers/usb/gadget/udc/at91_udc.c 		udc->caps = match->data;
udc              1809 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc	*udc;
udc              1815 drivers/usb/gadget/udc/at91_udc.c 	udc = devm_kzalloc(dev, sizeof(*udc), GFP_KERNEL);
udc              1816 drivers/usb/gadget/udc/at91_udc.c 	if (!udc)
udc              1820 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.dev.parent = dev;
udc              1821 drivers/usb/gadget/udc/at91_udc.c 	at91udc_of_init(udc, pdev->dev.of_node);
udc              1822 drivers/usb/gadget/udc/at91_udc.c 	udc->pdev = pdev;
udc              1823 drivers/usb/gadget/udc/at91_udc.c 	udc->enabled = 0;
udc              1824 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_init(&udc->lock);
udc              1826 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.ops = &at91_udc_ops;
udc              1827 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.ep0 = &udc->ep[0].ep;
udc              1828 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.name = driver_name;
udc              1829 drivers/usb/gadget/udc/at91_udc.c 	udc->gadget.dev.init_name = "gadget";
udc              1832 drivers/usb/gadget/udc/at91_udc.c 		ep = &udc->ep[i];
udc              1836 drivers/usb/gadget/udc/at91_udc.c 		ep->udc = udc;
udc              1843 drivers/usb/gadget/udc/at91_udc.c 	udc->udp_baseaddr = devm_ioremap_resource(dev, res);
udc              1844 drivers/usb/gadget/udc/at91_udc.c 	if (IS_ERR(udc->udp_baseaddr))
udc              1845 drivers/usb/gadget/udc/at91_udc.c 		return PTR_ERR(udc->udp_baseaddr);
udc              1847 drivers/usb/gadget/udc/at91_udc.c 	if (udc->caps && udc->caps->init) {
udc              1848 drivers/usb/gadget/udc/at91_udc.c 		retval = udc->caps->init(udc);
udc              1853 drivers/usb/gadget/udc/at91_udc.c 	udc_reinit(udc);
udc              1856 drivers/usb/gadget/udc/at91_udc.c 	udc->iclk = devm_clk_get(dev, "pclk");
udc              1857 drivers/usb/gadget/udc/at91_udc.c 	if (IS_ERR(udc->iclk))
udc              1858 drivers/usb/gadget/udc/at91_udc.c 		return PTR_ERR(udc->iclk);
udc              1860 drivers/usb/gadget/udc/at91_udc.c 	udc->fclk = devm_clk_get(dev, "hclk");
udc              1861 drivers/usb/gadget/udc/at91_udc.c 	if (IS_ERR(udc->fclk))
udc              1862 drivers/usb/gadget/udc/at91_udc.c 		return PTR_ERR(udc->fclk);
udc              1865 drivers/usb/gadget/udc/at91_udc.c 	clk_set_rate(udc->fclk, 48000000);
udc              1866 drivers/usb/gadget/udc/at91_udc.c 	retval = clk_prepare(udc->fclk);
udc              1870 drivers/usb/gadget/udc/at91_udc.c 	retval = clk_prepare_enable(udc->iclk);
udc              1874 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_TXVC, AT91_UDP_TXVC_TXVDIS);
udc              1875 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_IDR, 0xffffffff);
udc              1877 drivers/usb/gadget/udc/at91_udc.c 	at91_udp_write(udc, AT91_UDP_ICR, 0xffffffff);
udc              1878 drivers/usb/gadget/udc/at91_udc.c 	clk_disable(udc->iclk);
udc              1881 drivers/usb/gadget/udc/at91_udc.c 	udc->udp_irq = platform_get_irq(pdev, 0);
udc              1882 drivers/usb/gadget/udc/at91_udc.c 	retval = devm_request_irq(dev, udc->udp_irq, at91_udc_irq, 0,
udc              1883 drivers/usb/gadget/udc/at91_udc.c 				  driver_name, udc);
udc              1885 drivers/usb/gadget/udc/at91_udc.c 		DBG("request irq %d failed\n", udc->udp_irq);
udc              1889 drivers/usb/gadget/udc/at91_udc.c 	if (gpio_is_valid(udc->board.vbus_pin)) {
udc              1890 drivers/usb/gadget/udc/at91_udc.c 		retval = devm_gpio_request(dev, udc->board.vbus_pin,
udc              1897 drivers/usb/gadget/udc/at91_udc.c 		gpio_direction_input(udc->board.vbus_pin);
udc              1903 drivers/usb/gadget/udc/at91_udc.c 		udc->vbus = gpio_get_value_cansleep(udc->board.vbus_pin) ^
udc              1904 drivers/usb/gadget/udc/at91_udc.c 			udc->board.vbus_active_low;
udc              1906 drivers/usb/gadget/udc/at91_udc.c 		if (udc->board.vbus_polled) {
udc              1907 drivers/usb/gadget/udc/at91_udc.c 			INIT_WORK(&udc->vbus_timer_work, at91_vbus_timer_work);
udc              1908 drivers/usb/gadget/udc/at91_udc.c 			timer_setup(&udc->vbus_timer, at91_vbus_timer, 0);
udc              1909 drivers/usb/gadget/udc/at91_udc.c 			mod_timer(&udc->vbus_timer,
udc              1913 drivers/usb/gadget/udc/at91_udc.c 					gpio_to_irq(udc->board.vbus_pin),
udc              1914 drivers/usb/gadget/udc/at91_udc.c 					at91_vbus_irq, 0, driver_name, udc);
udc              1917 drivers/usb/gadget/udc/at91_udc.c 				    udc->board.vbus_pin);
udc              1923 drivers/usb/gadget/udc/at91_udc.c 		udc->vbus = 1;
udc              1925 drivers/usb/gadget/udc/at91_udc.c 	retval = usb_add_gadget_udc(dev, &udc->gadget);
udc              1928 drivers/usb/gadget/udc/at91_udc.c 	dev_set_drvdata(dev, udc);
udc              1930 drivers/usb/gadget/udc/at91_udc.c 	create_debug_file(udc);
udc              1936 drivers/usb/gadget/udc/at91_udc.c 	clk_unprepare(udc->iclk);
udc              1938 drivers/usb/gadget/udc/at91_udc.c 	clk_unprepare(udc->fclk);
udc              1947 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = platform_get_drvdata(pdev);
udc              1952 drivers/usb/gadget/udc/at91_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              1953 drivers/usb/gadget/udc/at91_udc.c 	if (udc->driver)
udc              1956 drivers/usb/gadget/udc/at91_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1957 drivers/usb/gadget/udc/at91_udc.c 	pullup(udc, 0);
udc              1958 drivers/usb/gadget/udc/at91_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1961 drivers/usb/gadget/udc/at91_udc.c 	remove_debug_file(udc);
udc              1962 drivers/usb/gadget/udc/at91_udc.c 	clk_unprepare(udc->fclk);
udc              1963 drivers/usb/gadget/udc/at91_udc.c 	clk_unprepare(udc->iclk);
udc              1971 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = platform_get_drvdata(pdev);
udc              1972 drivers/usb/gadget/udc/at91_udc.c 	int		wake = udc->driver && device_may_wakeup(&pdev->dev);
udc              1980 drivers/usb/gadget/udc/at91_udc.c 	if ((!udc->suspended && udc->addr)
udc              1983 drivers/usb/gadget/udc/at91_udc.c 		spin_lock_irqsave(&udc->lock, flags);
udc              1984 drivers/usb/gadget/udc/at91_udc.c 		pullup(udc, 0);
udc              1986 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1988 drivers/usb/gadget/udc/at91_udc.c 		enable_irq_wake(udc->udp_irq);
udc              1990 drivers/usb/gadget/udc/at91_udc.c 	udc->active_suspend = wake;
udc              1991 drivers/usb/gadget/udc/at91_udc.c 	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled && wake)
udc              1992 drivers/usb/gadget/udc/at91_udc.c 		enable_irq_wake(udc->board.vbus_pin);
udc              1998 drivers/usb/gadget/udc/at91_udc.c 	struct at91_udc *udc = platform_get_drvdata(pdev);
udc              2001 drivers/usb/gadget/udc/at91_udc.c 	if (gpio_is_valid(udc->board.vbus_pin) && !udc->board.vbus_polled &&
udc              2002 drivers/usb/gadget/udc/at91_udc.c 	    udc->active_suspend)
udc              2003 drivers/usb/gadget/udc/at91_udc.c 		disable_irq_wake(udc->board.vbus_pin);
udc              2006 drivers/usb/gadget/udc/at91_udc.c 	if (udc->active_suspend)
udc              2007 drivers/usb/gadget/udc/at91_udc.c 		disable_irq_wake(udc->udp_irq);
udc              2009 drivers/usb/gadget/udc/at91_udc.c 		spin_lock_irqsave(&udc->lock, flags);
udc              2010 drivers/usb/gadget/udc/at91_udc.c 		pullup(udc, 1);
udc              2011 drivers/usb/gadget/udc/at91_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc                93 drivers/usb/gadget/udc/at91_udc.h 	struct at91_udc			*udc;
udc               107 drivers/usb/gadget/udc/at91_udc.h 	int (*init)(struct at91_udc *udc);
udc               108 drivers/usb/gadget/udc/at91_udc.h 	void (*pullup)(struct at91_udc *udc, int is_on);
udc                47 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irq(&ep->udc->lock);
udc                54 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irq(&ep->udc->lock);
udc                60 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irq(&ep->udc->lock);
udc               141 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc;
udc               147 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc = inode->i_private;
udc               152 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irq(&udc->lock);
udc               154 drivers/usb/gadget/udc/atmel_usba_udc.c 		data[i] = readl_relaxed(udc->regs + i * 4);
udc               155 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irq(&udc->lock);
udc               203 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_ep_init_debugfs(struct usba_udc *udc,
udc               208 drivers/usb/gadget/udc/atmel_usba_udc.c 	ep_root = debugfs_create_dir(ep->ep.name, udc->debugfs_root);
udc               224 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_init_debugfs(struct usba_udc *udc)
udc               229 drivers/usb/gadget/udc/atmel_usba_udc.c 	root = debugfs_create_dir(udc->gadget.name, NULL);
udc               230 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->debugfs_root = root;
udc               232 drivers/usb/gadget/udc/atmel_usba_udc.c 	regs_resource = platform_get_resource(udc->pdev, IORESOURCE_MEM,
udc               236 drivers/usb/gadget/udc/atmel_usba_udc.c 		debugfs_create_file_size("regs", 0400, root, udc,
udc               241 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_ep_init_debugfs(udc, to_usba_ep(udc->gadget.ep0));
udc               244 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_cleanup_debugfs(struct usba_udc *udc)
udc               246 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_ep_cleanup_debugfs(to_usba_ep(udc->gadget.ep0));
udc               247 drivers/usb/gadget/udc/atmel_usba_udc.c 	debugfs_remove_recursive(udc->debugfs_root);
udc               250 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void usba_ep_init_debugfs(struct usba_udc *udc,
udc               261 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void usba_init_debugfs(struct usba_udc *udc)
udc               266 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void usba_cleanup_debugfs(struct usba_udc *udc)
udc               323 drivers/usb/gadget/udc/atmel_usba_udc.c static int usba_config_fifo_table(struct usba_udc *udc)
udc               332 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->fifo_cfg = NULL;
udc               336 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->fifo_cfg = mode_1_cfg;
udc               340 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->fifo_cfg = mode_2_cfg;
udc               344 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->fifo_cfg = mode_3_cfg;
udc               348 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->fifo_cfg = mode_4_cfg;
udc               357 drivers/usb/gadget/udc/atmel_usba_udc.c static inline u32 usba_int_enb_get(struct usba_udc *udc)
udc               359 drivers/usb/gadget/udc/atmel_usba_udc.c 	return udc->int_enb_cache;
udc               362 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void usba_int_enb_set(struct usba_udc *udc, u32 mask)
udc               366 drivers/usb/gadget/udc/atmel_usba_udc.c 	val = udc->int_enb_cache | mask;
udc               367 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, INT_ENB, val);
udc               368 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->int_enb_cache = val;
udc               371 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void usba_int_enb_clear(struct usba_udc *udc, u32 mask)
udc               375 drivers/usb/gadget/udc/atmel_usba_udc.c 	val = udc->int_enb_cache & ~mask;
udc               376 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, INT_ENB, val);
udc               377 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->int_enb_cache = val;
udc               380 drivers/usb/gadget/udc/atmel_usba_udc.c static int vbus_is_present(struct usba_udc *udc)
udc               382 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin)
udc               383 drivers/usb/gadget/udc/atmel_usba_udc.c 		return gpiod_get_value(udc->vbus_pin);
udc               389 drivers/usb/gadget/udc/atmel_usba_udc.c static void toggle_bias(struct usba_udc *udc, int is_on)
udc               391 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->errata && udc->errata->toggle_bias)
udc               392 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->errata->toggle_bias(udc, is_on);
udc               395 drivers/usb/gadget/udc/atmel_usba_udc.c static void generate_bias_pulse(struct usba_udc *udc)
udc               397 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc->bias_pulse_needed)
udc               400 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->errata && udc->errata->pulse_bias)
udc               401 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->errata->pulse_bias(udc);
udc               403 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->bias_pulse_needed = false;
udc               476 drivers/usb/gadget/udc/atmel_usba_udc.c static void send_status(struct usba_udc *udc, struct usba_ep *ep)
udc               485 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               524 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_unlock(&udc->lock);
udc               526 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_lock(&udc->lock);
udc               533 drivers/usb/gadget/udc/atmel_usba_udc.c 			send_status(udc, ep);
udc               542 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               550 drivers/usb/gadget/udc/atmel_usba_udc.c 		usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in);
udc               556 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock(&udc->lock);
udc               558 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock(&udc->lock);
udc               576 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               636 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc               647 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_BF(EPT_INT, 1 << ep->index) |
udc               652 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_BF(EPT_INT, 1 << ep->index));
udc               655 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               660 drivers/usb/gadget/udc/atmel_usba_udc.c 			(unsigned long)usba_int_enb_get(udc));
udc               668 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               674 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               677 drivers/usb/gadget/udc/atmel_usba_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               682 drivers/usb/gadget/udc/atmel_usba_udc.c 		if (udc->gadget.speed != USB_SPEED_UNKNOWN)
udc               696 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_int_enb_clear(udc, USBA_BF(EPT_INT, 1 << ep->index));
udc               700 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               731 drivers/usb/gadget/udc/atmel_usba_udc.c static int queue_dma(struct usba_udc *udc, struct usba_ep *ep,
udc               749 drivers/usb/gadget/udc/atmel_usba_udc.c 	ret = usb_gadget_map_request(&udc->gadget, &req->req, ep->is_in);
udc               767 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               775 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               785 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               792 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN ||
udc               804 drivers/usb/gadget/udc/atmel_usba_udc.c 		return queue_dma(udc, ep, req, gfp_flags);
udc               808 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               821 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               855 drivers/usb/gadget/udc/atmel_usba_udc.c 		dev_err(&ep->udc->pdev->dev,
udc               867 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               875 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               883 drivers/usb/gadget/udc/atmel_usba_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               901 drivers/usb/gadget/udc/atmel_usba_udc.c 			usba_writel(udc, EPT_RST, 1 << ep->index);
udc               917 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               925 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               943 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               962 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               977 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = ep->udc;
udc               979 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, EPT_RST, 1 << ep->index);
udc               996 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = to_usba_udc(gadget);
udc               998 drivers/usb/gadget/udc/atmel_usba_udc.c 	return USBA_BFEXT(FRAME_NUMBER, usba_readl(udc, FNUM));
udc              1003 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = to_usba_udc(gadget);
udc              1008 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1009 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->devstatus & (1 << USB_DEVICE_REMOTE_WAKEUP)) {
udc              1010 drivers/usb/gadget/udc/atmel_usba_udc.c 		ctrl = usba_readl(udc, CTRL);
udc              1011 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, CTRL, ctrl | USBA_REMOTE_WAKE_UP);
udc              1014 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1022 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = to_usba_udc(gadget);
udc              1026 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1028 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->devstatus |= 1 << USB_DEVICE_SELF_POWERED;
udc              1030 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
udc              1031 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1099 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->udc->configured_ep++;
udc              1133 drivers/usb/gadget/udc/atmel_usba_udc.c static void reset_all_endpoints(struct usba_udc *udc)
udc              1138 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, EPT_RST, ~0UL);
udc              1140 drivers/usb/gadget/udc/atmel_usba_udc.c 	ep = to_usba_ep(udc->gadget.ep0);
udc              1147 drivers/usb/gadget/udc/atmel_usba_udc.c static struct usba_ep *get_ep_by_addr(struct usba_udc *udc, u16 wIndex)
udc              1152 drivers/usb/gadget/udc/atmel_usba_udc.c 		return to_usba_ep(udc->gadget.ep0);
udc              1154 drivers/usb/gadget/udc/atmel_usba_udc.c 	list_for_each_entry (ep, &udc->gadget.ep_list, ep.ep_list) {
udc              1171 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void set_protocol_stall(struct usba_udc *udc, struct usba_ep *ep)
udc              1177 drivers/usb/gadget/udc/atmel_usba_udc.c static inline int is_stalled(struct usba_udc *udc, struct usba_ep *ep)
udc              1184 drivers/usb/gadget/udc/atmel_usba_udc.c static inline void set_address(struct usba_udc *udc, unsigned int addr)
udc              1189 drivers/usb/gadget/udc/atmel_usba_udc.c 	regval = usba_readl(udc, CTRL);
udc              1191 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, CTRL, regval);
udc              1194 drivers/usb/gadget/udc/atmel_usba_udc.c static int do_test_mode(struct usba_udc *udc)
udc              1212 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct device *dev = &udc->pdev->dev;
udc              1215 drivers/usb/gadget/udc/atmel_usba_udc.c 	test_mode = udc->test_mode;
udc              1218 drivers/usb/gadget/udc/atmel_usba_udc.c 	reset_all_endpoints(udc);
udc              1223 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, TST, USBA_TST_J_MODE);
udc              1228 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, TST, USBA_TST_K_MODE);
udc              1236 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep = &udc->usba_ep[0];
udc              1237 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, TST,
udc              1245 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1254 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep = &udc->usba_ep[0];
udc              1261 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1265 drivers/usb/gadget/udc/atmel_usba_udc.c 			usba_writel(udc, TST, USBA_TST_PKT_MODE);
udc              1302 drivers/usb/gadget/udc/atmel_usba_udc.c static int handle_ep0_setup(struct usba_udc *udc, struct usba_ep *ep,
udc              1312 drivers/usb/gadget/udc/atmel_usba_udc.c 			status = cpu_to_le16(udc->devstatus);
udc              1320 drivers/usb/gadget/udc/atmel_usba_udc.c 			target = get_ep_by_addr(udc, le16_to_cpu(crq->wIndex));
udc              1325 drivers/usb/gadget/udc/atmel_usba_udc.c 			if (is_stalled(udc, target))
udc              1342 drivers/usb/gadget/udc/atmel_usba_udc.c 				udc->devstatus
udc              1353 drivers/usb/gadget/udc/atmel_usba_udc.c 			target = get_ep_by_addr(udc, le16_to_cpu(crq->wIndex));
udc              1365 drivers/usb/gadget/udc/atmel_usba_udc.c 		send_status(udc, ep);
udc              1372 drivers/usb/gadget/udc/atmel_usba_udc.c 				send_status(udc, ep);
udc              1374 drivers/usb/gadget/udc/atmel_usba_udc.c 				udc->test_mode = le16_to_cpu(crq->wIndex);
udc              1377 drivers/usb/gadget/udc/atmel_usba_udc.c 				udc->devstatus |= 1 << USB_DEVICE_REMOTE_WAKEUP;
udc              1388 drivers/usb/gadget/udc/atmel_usba_udc.c 			target = get_ep_by_addr(udc, le16_to_cpu(crq->wIndex));
udc              1396 drivers/usb/gadget/udc/atmel_usba_udc.c 		send_status(udc, ep);
udc              1404 drivers/usb/gadget/udc/atmel_usba_udc.c 		set_address(udc, le16_to_cpu(crq->wValue));
udc              1405 drivers/usb/gadget/udc/atmel_usba_udc.c 		send_status(udc, ep);
udc              1411 drivers/usb/gadget/udc/atmel_usba_udc.c 		spin_unlock(&udc->lock);
udc              1412 drivers/usb/gadget/udc/atmel_usba_udc.c 		retval = udc->driver->setup(&udc->gadget, crq);
udc              1413 drivers/usb/gadget/udc/atmel_usba_udc.c 		spin_lock(&udc->lock);
udc              1424 drivers/usb/gadget/udc/atmel_usba_udc.c 	set_protocol_stall(udc, ep);
udc              1428 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_control_irq(struct usba_udc *udc, struct usba_ep *ep)
udc              1469 drivers/usb/gadget/udc/atmel_usba_udc.c 			usba_writel(udc, CTRL, (usba_readl(udc, CTRL)
udc              1486 drivers/usb/gadget/udc/atmel_usba_udc.c 			if (do_test_mode(udc))
udc              1487 drivers/usb/gadget/udc/atmel_usba_udc.c 				set_protocol_stall(udc, ep);
udc              1493 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1522 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1566 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1598 drivers/usb/gadget/udc/atmel_usba_udc.c 			ret = handle_ep0_setup(udc, ep, &crq.crq);
udc              1600 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_unlock(&udc->lock);
udc              1601 drivers/usb/gadget/udc/atmel_usba_udc.c 			ret = udc->driver->setup(&udc->gadget, &crq.crq);
udc              1602 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_lock(&udc->lock);
udc              1611 drivers/usb/gadget/udc/atmel_usba_udc.c 			set_protocol_stall(udc, ep);
udc              1616 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_ep_irq(struct usba_udc *udc, struct usba_ep *ep)
udc              1631 drivers/usb/gadget/udc/atmel_usba_udc.c 			dev_warn(&udc->pdev->dev, "ep_irq: queue empty\n");
udc              1669 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_dma_irq(struct usba_udc *udc, struct usba_ep *ep)
udc              1683 drivers/usb/gadget/udc/atmel_usba_udc.c 		dev_err(&udc->pdev->dev,
udc              1685 drivers/usb/gadget/udc/atmel_usba_udc.c 		dev_err(&udc->pdev->dev,
udc              1709 drivers/usb/gadget/udc/atmel_usba_udc.c static int start_clock(struct usba_udc *udc);
udc              1710 drivers/usb/gadget/udc/atmel_usba_udc.c static void stop_clock(struct usba_udc *udc);
udc              1714 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = devid;
udc              1719 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock(&udc->lock);
udc              1721 drivers/usb/gadget/udc/atmel_usba_udc.c 	int_enb = usba_int_enb_get(udc);
udc              1722 drivers/usb/gadget/udc/atmel_usba_udc.c 	status = usba_readl(udc, INT_STA) & (int_enb | USBA_HIGH_SPEED);
udc              1726 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, INT_CLR, USBA_DET_SUSPEND|USBA_WAKE_UP);
udc              1727 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_WAKE_UP);
udc              1728 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_clear(udc, USBA_DET_SUSPEND);
udc              1729 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->suspended = true;
udc              1730 drivers/usb/gadget/udc/atmel_usba_udc.c 		toggle_bias(udc, 0);
udc              1731 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->bias_pulse_needed = true;
udc              1732 drivers/usb/gadget/udc/atmel_usba_udc.c 		stop_clock(udc);
udc              1734 drivers/usb/gadget/udc/atmel_usba_udc.c 		if (udc->gadget.speed != USB_SPEED_UNKNOWN
udc              1735 drivers/usb/gadget/udc/atmel_usba_udc.c 				&& udc->driver && udc->driver->suspend) {
udc              1736 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_unlock(&udc->lock);
udc              1737 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->driver->suspend(&udc->gadget);
udc              1738 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_lock(&udc->lock);
udc              1743 drivers/usb/gadget/udc/atmel_usba_udc.c 		start_clock(udc);
udc              1744 drivers/usb/gadget/udc/atmel_usba_udc.c 		toggle_bias(udc, 1);
udc              1745 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, INT_CLR, USBA_WAKE_UP);
udc              1750 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->suspended = false;
udc              1751 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, INT_CLR, USBA_END_OF_RESUME);
udc              1752 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_clear(udc, USBA_WAKE_UP);
udc              1753 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_DET_SUSPEND);
udc              1754 drivers/usb/gadget/udc/atmel_usba_udc.c 		generate_bias_pulse(udc);
udc              1756 drivers/usb/gadget/udc/atmel_usba_udc.c 		if (udc->gadget.speed != USB_SPEED_UNKNOWN
udc              1757 drivers/usb/gadget/udc/atmel_usba_udc.c 				&& udc->driver && udc->driver->resume) {
udc              1758 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_unlock(&udc->lock);
udc              1759 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->driver->resume(&udc->gadget);
udc              1760 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_lock(&udc->lock);
udc              1768 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_DET_SUSPEND);
udc              1772 drivers/usb/gadget/udc/atmel_usba_udc.c 				usba_dma_irq(udc, &udc->usba_ep[i]);
udc              1779 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_DET_SUSPEND);
udc              1781 drivers/usb/gadget/udc/atmel_usba_udc.c 		for (i = 0; i < udc->num_ep; i++)
udc              1783 drivers/usb/gadget/udc/atmel_usba_udc.c 				if (ep_is_control(&udc->usba_ep[i]))
udc              1784 drivers/usb/gadget/udc/atmel_usba_udc.c 					usba_control_irq(udc, &udc->usba_ep[i]);
udc              1786 drivers/usb/gadget/udc/atmel_usba_udc.c 					usba_ep_irq(udc, &udc->usba_ep[i]);
udc              1794 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_writel(udc, INT_CLR,
udc              1797 drivers/usb/gadget/udc/atmel_usba_udc.c 		generate_bias_pulse(udc);
udc              1798 drivers/usb/gadget/udc/atmel_usba_udc.c 		reset_all_endpoints(udc);
udc              1800 drivers/usb/gadget/udc/atmel_usba_udc.c 		if (udc->gadget.speed != USB_SPEED_UNKNOWN && udc->driver) {
udc              1801 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1802 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_unlock(&udc->lock);
udc              1803 drivers/usb/gadget/udc/atmel_usba_udc.c 			usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc              1804 drivers/usb/gadget/udc/atmel_usba_udc.c 			spin_lock(&udc->lock);
udc              1808 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->gadget.speed = USB_SPEED_HIGH;
udc              1810 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->gadget.speed = USB_SPEED_FULL;
udc              1812 drivers/usb/gadget/udc/atmel_usba_udc.c 		    usb_speed_string(udc->gadget.speed));
udc              1814 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep0 = &udc->usba_ep[0];
udc              1825 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->suspended = false;
udc              1826 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_clear(udc, USBA_WAKE_UP);
udc              1828 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_int_enb_set(udc, USBA_BF(EPT_INT, 1) |
udc              1836 drivers/usb/gadget/udc/atmel_usba_udc.c 			dev_err(&udc->pdev->dev,
udc              1840 drivers/usb/gadget/udc/atmel_usba_udc.c 		n = fifo_mode ? udc->num_ep : udc->configured_ep;
udc              1842 drivers/usb/gadget/udc/atmel_usba_udc.c 			ep = &udc->usba_ep[i];
udc              1845 drivers/usb/gadget/udc/atmel_usba_udc.c 				dev_err(&udc->pdev->dev,
udc              1850 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock(&udc->lock);
udc              1855 drivers/usb/gadget/udc/atmel_usba_udc.c static int start_clock(struct usba_udc *udc)
udc              1859 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->clocked)
udc              1862 drivers/usb/gadget/udc/atmel_usba_udc.c 	pm_stay_awake(&udc->pdev->dev);
udc              1864 drivers/usb/gadget/udc/atmel_usba_udc.c 	ret = clk_prepare_enable(udc->pclk);
udc              1867 drivers/usb/gadget/udc/atmel_usba_udc.c 	ret = clk_prepare_enable(udc->hclk);
udc              1869 drivers/usb/gadget/udc/atmel_usba_udc.c 		clk_disable_unprepare(udc->pclk);
udc              1873 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->clocked = true;
udc              1877 drivers/usb/gadget/udc/atmel_usba_udc.c static void stop_clock(struct usba_udc *udc)
udc              1879 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc->clocked)
udc              1882 drivers/usb/gadget/udc/atmel_usba_udc.c 	clk_disable_unprepare(udc->hclk);
udc              1883 drivers/usb/gadget/udc/atmel_usba_udc.c 	clk_disable_unprepare(udc->pclk);
udc              1885 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->clocked = false;
udc              1887 drivers/usb/gadget/udc/atmel_usba_udc.c 	pm_relax(&udc->pdev->dev);
udc              1890 drivers/usb/gadget/udc/atmel_usba_udc.c static int usba_start(struct usba_udc *udc)
udc              1895 drivers/usb/gadget/udc/atmel_usba_udc.c 	ret = start_clock(udc);
udc              1899 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->suspended)
udc              1902 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1903 drivers/usb/gadget/udc/atmel_usba_udc.c 	toggle_bias(udc, 1);
udc              1904 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, CTRL, USBA_ENABLE_MASK);
udc              1906 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, INT_ENB, 0);
udc              1907 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->int_enb_cache = 0;
udc              1908 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, INT_CLR,
udc              1912 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_int_enb_set(udc, USBA_END_OF_RESET);
udc              1913 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1918 drivers/usb/gadget/udc/atmel_usba_udc.c static void usba_stop(struct usba_udc *udc)
udc              1922 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->suspended)
udc              1925 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1926 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1927 drivers/usb/gadget/udc/atmel_usba_udc.c 	reset_all_endpoints(udc);
udc              1930 drivers/usb/gadget/udc/atmel_usba_udc.c 	toggle_bias(udc, 0);
udc              1931 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, CTRL, USBA_DISABLE_MASK);
udc              1932 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1934 drivers/usb/gadget/udc/atmel_usba_udc.c 	stop_clock(udc);
udc              1939 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = devid;
udc              1945 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_lock(&udc->vbus_mutex);
udc              1947 drivers/usb/gadget/udc/atmel_usba_udc.c 	vbus = vbus_is_present(udc);
udc              1948 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (vbus != udc->vbus_prev) {
udc              1950 drivers/usb/gadget/udc/atmel_usba_udc.c 			usba_start(udc);
udc              1952 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->suspended = false;
udc              1953 drivers/usb/gadget/udc/atmel_usba_udc.c 			if (udc->driver->disconnect)
udc              1954 drivers/usb/gadget/udc/atmel_usba_udc.c 				udc->driver->disconnect(&udc->gadget);
udc              1956 drivers/usb/gadget/udc/atmel_usba_udc.c 			usba_stop(udc);
udc              1958 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->vbus_prev = vbus;
udc              1961 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_unlock(&udc->vbus_mutex);
udc              1969 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = container_of(gadget, struct usba_udc, gadget);
udc              1972 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1973 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->devstatus = 1 << USB_DEVICE_SELF_POWERED;
udc              1974 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->driver = driver;
udc              1975 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1977 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_lock(&udc->vbus_mutex);
udc              1979 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin)
udc              1980 drivers/usb/gadget/udc/atmel_usba_udc.c 		enable_irq(gpiod_to_irq(udc->vbus_pin));
udc              1983 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->vbus_prev = vbus_is_present(udc);
udc              1984 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_prev) {
udc              1985 drivers/usb/gadget/udc/atmel_usba_udc.c 		ret = usba_start(udc);
udc              1990 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_unlock(&udc->vbus_mutex);
udc              1994 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin)
udc              1995 drivers/usb/gadget/udc/atmel_usba_udc.c 		disable_irq(gpiod_to_irq(udc->vbus_pin));
udc              1997 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_unlock(&udc->vbus_mutex);
udc              1999 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2000 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
udc              2001 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->driver = NULL;
udc              2002 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2008 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = container_of(gadget, struct usba_udc, gadget);
udc              2010 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin)
udc              2011 drivers/usb/gadget/udc/atmel_usba_udc.c 		disable_irq(gpiod_to_irq(udc->vbus_pin));
udc              2014 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->configured_ep = 1;
udc              2016 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->suspended = false;
udc              2017 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_stop(udc);
udc              2019 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->driver = NULL;
udc              2024 drivers/usb/gadget/udc/atmel_usba_udc.c static void at91sam9rl_toggle_bias(struct usba_udc *udc, int is_on)
udc              2026 drivers/usb/gadget/udc/atmel_usba_udc.c 	regmap_update_bits(udc->pmc, AT91_CKGR_UCKR, AT91_PMC_BIASEN,
udc              2030 drivers/usb/gadget/udc/atmel_usba_udc.c static void at91sam9g45_pulse_bias(struct usba_udc *udc)
udc              2032 drivers/usb/gadget/udc/atmel_usba_udc.c 	regmap_update_bits(udc->pmc, AT91_CKGR_UCKR, AT91_PMC_BIASEN, 0);
udc              2033 drivers/usb/gadget/udc/atmel_usba_udc.c 	regmap_update_bits(udc->pmc, AT91_CKGR_UCKR, AT91_PMC_BIASEN,
udc              2055 drivers/usb/gadget/udc/atmel_usba_udc.c 						    struct usba_udc *udc)
udc              2068 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->errata = match->data;
udc              2069 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->pmc = syscon_regmap_lookup_by_compatible("atmel,at91sam9g45-pmc");
udc              2070 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (IS_ERR(udc->pmc))
udc              2071 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->pmc = syscon_regmap_lookup_by_compatible("atmel,at91sam9rl-pmc");
udc              2072 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (IS_ERR(udc->pmc))
udc              2073 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->pmc = syscon_regmap_lookup_by_compatible("atmel,at91sam9x5-pmc");
udc              2074 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->errata && IS_ERR(udc->pmc))
udc              2075 drivers/usb/gadget/udc/atmel_usba_udc.c 		return ERR_CAST(udc->pmc);
udc              2077 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->num_ep = 0;
udc              2079 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->vbus_pin = devm_gpiod_get_optional(&pdev->dev, "atmel,vbus",
udc              2085 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->num_ep++;
udc              2086 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->configured_ep = 1;
udc              2088 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->num_ep = usba_config_fifo_table(udc);
udc              2091 drivers/usb/gadget/udc/atmel_usba_udc.c 	eps = devm_kcalloc(&pdev->dev, udc->num_ep, sizeof(struct usba_ep),
udc              2096 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->gadget.ep0 = &eps[0].ep;
udc              2102 drivers/usb/gadget/udc/atmel_usba_udc.c 	while ((pp = of_get_next_child(np, pp)) && i < udc->num_ep) {
udc              2110 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->index = fifo_mode ? udc->fifo_cfg[i].hw_ep_num : val;
udc              2118 drivers/usb/gadget/udc/atmel_usba_udc.c 			if (val < udc->fifo_cfg[i].fifo_size) {
udc              2123 drivers/usb/gadget/udc/atmel_usba_udc.c 				ep->fifo_size = udc->fifo_cfg[i].fifo_size;
udc              2135 drivers/usb/gadget/udc/atmel_usba_udc.c 			if (val < udc->fifo_cfg[i].nr_banks) {
udc              2140 drivers/usb/gadget/udc/atmel_usba_udc.c 				ep->nr_banks = udc->fifo_cfg[i].nr_banks;
udc              2152 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->ep_regs = udc->regs + USBA_EPT_BASE(i);
udc              2153 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->dma_regs = udc->regs + USBA_DMA_BASE(i);
udc              2154 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->fifo = udc->fifo + USBA_FIFO_BASE(i);
udc              2157 drivers/usb/gadget/udc/atmel_usba_udc.c 		ep->udc = udc;
udc              2187 drivers/usb/gadget/udc/atmel_usba_udc.c 			list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              2207 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc;
udc              2210 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL);
udc              2211 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc)
udc              2214 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->gadget = usba_gadget_template;
udc              2215 drivers/usb/gadget/udc/atmel_usba_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              2218 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->regs = devm_ioremap_resource(&pdev->dev, res);
udc              2219 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (IS_ERR(udc->regs))
udc              2220 drivers/usb/gadget/udc/atmel_usba_udc.c 		return PTR_ERR(udc->regs);
udc              2222 drivers/usb/gadget/udc/atmel_usba_udc.c 		 res, udc->regs);
udc              2225 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->fifo = devm_ioremap_resource(&pdev->dev, res);
udc              2226 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (IS_ERR(udc->fifo))
udc              2227 drivers/usb/gadget/udc/atmel_usba_udc.c 		return PTR_ERR(udc->fifo);
udc              2228 drivers/usb/gadget/udc/atmel_usba_udc.c 	dev_info(&pdev->dev, "FIFO at %pR mapped at %p\n", res, udc->fifo);
udc              2241 drivers/usb/gadget/udc/atmel_usba_udc.c 	spin_lock_init(&udc->lock);
udc              2242 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_init(&udc->vbus_mutex);
udc              2243 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->pdev = pdev;
udc              2244 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->pclk = pclk;
udc              2245 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->hclk = hclk;
udc              2247 drivers/usb/gadget/udc/atmel_usba_udc.c 	platform_set_drvdata(pdev, udc);
udc              2256 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_writel(udc, CTRL, USBA_DISABLE_MASK);
udc              2259 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->usba_ep = atmel_udc_of_init(pdev, udc);
udc              2261 drivers/usb/gadget/udc/atmel_usba_udc.c 	toggle_bias(udc, 0);
udc              2263 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (IS_ERR(udc->usba_ep))
udc              2264 drivers/usb/gadget/udc/atmel_usba_udc.c 		return PTR_ERR(udc->usba_ep);
udc              2267 drivers/usb/gadget/udc/atmel_usba_udc.c 				"atmel_usba_udc", udc);
udc              2273 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->irq = irq;
udc              2275 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin) {
udc              2276 drivers/usb/gadget/udc/atmel_usba_udc.c 		irq_set_status_flags(gpiod_to_irq(udc->vbus_pin), IRQ_NOAUTOEN);
udc              2278 drivers/usb/gadget/udc/atmel_usba_udc.c 				gpiod_to_irq(udc->vbus_pin), NULL,
udc              2280 drivers/usb/gadget/udc/atmel_usba_udc.c 				"atmel_usba_udc", udc);
udc              2282 drivers/usb/gadget/udc/atmel_usba_udc.c 			udc->vbus_pin = NULL;
udc              2283 drivers/usb/gadget/udc/atmel_usba_udc.c 			dev_warn(&udc->pdev->dev,
udc              2289 drivers/usb/gadget/udc/atmel_usba_udc.c 	ret = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
udc              2294 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_init_debugfs(udc);
udc              2295 drivers/usb/gadget/udc/atmel_usba_udc.c 	for (i = 1; i < udc->num_ep; i++)
udc              2296 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_ep_init_debugfs(udc, &udc->usba_ep[i]);
udc              2303 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc;
udc              2306 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc = platform_get_drvdata(pdev);
udc              2309 drivers/usb/gadget/udc/atmel_usba_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              2311 drivers/usb/gadget/udc/atmel_usba_udc.c 	for (i = 1; i < udc->num_ep; i++)
udc              2312 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_ep_cleanup_debugfs(&udc->usba_ep[i]);
udc              2313 drivers/usb/gadget/udc/atmel_usba_udc.c 	usba_cleanup_debugfs(udc);
udc              2321 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = dev_get_drvdata(dev);
udc              2324 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc->driver)
udc              2327 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_lock(&udc->vbus_mutex);
udc              2330 drivers/usb/gadget/udc/atmel_usba_udc.c 		udc->suspended = false;
udc              2331 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_stop(udc);
udc              2339 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_pin) {
udc              2341 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_stop(udc);
udc              2342 drivers/usb/gadget/udc/atmel_usba_udc.c 		enable_irq_wake(gpiod_to_irq(udc->vbus_pin));
udc              2345 drivers/usb/gadget/udc/atmel_usba_udc.c 	enable_irq_wake(udc->irq);
udc              2348 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_unlock(&udc->vbus_mutex);
udc              2354 drivers/usb/gadget/udc/atmel_usba_udc.c 	struct usba_udc *udc = dev_get_drvdata(dev);
udc              2357 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (!udc->driver)
udc              2361 drivers/usb/gadget/udc/atmel_usba_udc.c 		if (udc->vbus_pin)
udc              2362 drivers/usb/gadget/udc/atmel_usba_udc.c 			disable_irq_wake(gpiod_to_irq(udc->vbus_pin));
udc              2364 drivers/usb/gadget/udc/atmel_usba_udc.c 		disable_irq_wake(udc->irq);
udc              2368 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_lock(&udc->vbus_mutex);
udc              2369 drivers/usb/gadget/udc/atmel_usba_udc.c 	udc->vbus_prev = vbus_is_present(udc);
udc              2370 drivers/usb/gadget/udc/atmel_usba_udc.c 	if (udc->vbus_prev)
udc              2371 drivers/usb/gadget/udc/atmel_usba_udc.c 		usba_start(udc);
udc              2372 drivers/usb/gadget/udc/atmel_usba_udc.c 	mutex_unlock(&udc->vbus_mutex);
udc               188 drivers/usb/gadget/udc/atmel_usba_udc.h #define usba_readl(udc, reg)					\
udc               189 drivers/usb/gadget/udc/atmel_usba_udc.h 	readl_relaxed((udc)->regs + USBA_##reg)
udc               190 drivers/usb/gadget/udc/atmel_usba_udc.h #define usba_writel(udc, reg, value)				\
udc               191 drivers/usb/gadget/udc/atmel_usba_udc.h 	writel_relaxed((value), (udc)->regs + USBA_##reg)
udc               275 drivers/usb/gadget/udc/atmel_usba_udc.h 	struct usba_udc				*udc;
udc               306 drivers/usb/gadget/udc/atmel_usba_udc.h 	void (*toggle_bias)(struct usba_udc *udc, int is_on);
udc               307 drivers/usb/gadget/udc/atmel_usba_udc.h 	void (*pulse_bias)(struct usba_udc *udc);
udc               216 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc		*udc;
udc               241 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc		*udc;
udc               354 drivers/usb/gadget/udc/bcm63xx_udc.c static inline u32 usbd_readl(struct bcm63xx_udc *udc, u32 off)
udc               356 drivers/usb/gadget/udc/bcm63xx_udc.c 	return bcm_readl(udc->usbd_regs + off);
udc               359 drivers/usb/gadget/udc/bcm63xx_udc.c static inline void usbd_writel(struct bcm63xx_udc *udc, u32 val, u32 off)
udc               361 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm_writel(val, udc->usbd_regs + off);
udc               364 drivers/usb/gadget/udc/bcm63xx_udc.c static inline u32 usb_dma_readl(struct bcm63xx_udc *udc, u32 off)
udc               366 drivers/usb/gadget/udc/bcm63xx_udc.c 	return bcm_readl(udc->iudma_regs + off);
udc               369 drivers/usb/gadget/udc/bcm63xx_udc.c static inline void usb_dma_writel(struct bcm63xx_udc *udc, u32 val, u32 off)
udc               371 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm_writel(val, udc->iudma_regs + off);
udc               374 drivers/usb/gadget/udc/bcm63xx_udc.c static inline u32 usb_dmac_readl(struct bcm63xx_udc *udc, u32 off, int chan)
udc               376 drivers/usb/gadget/udc/bcm63xx_udc.c 	return bcm_readl(udc->iudma_regs + IUDMA_DMAC_OFFSET + off +
udc               380 drivers/usb/gadget/udc/bcm63xx_udc.c static inline void usb_dmac_writel(struct bcm63xx_udc *udc, u32 val, u32 off,
udc               383 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm_writel(val, udc->iudma_regs + IUDMA_DMAC_OFFSET + off +
udc               387 drivers/usb/gadget/udc/bcm63xx_udc.c static inline u32 usb_dmas_readl(struct bcm63xx_udc *udc, u32 off, int chan)
udc               389 drivers/usb/gadget/udc/bcm63xx_udc.c 	return bcm_readl(udc->iudma_regs + IUDMA_DMAS_OFFSET + off +
udc               393 drivers/usb/gadget/udc/bcm63xx_udc.c static inline void usb_dmas_writel(struct bcm63xx_udc *udc, u32 val, u32 off,
udc               396 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm_writel(val, udc->iudma_regs + IUDMA_DMAS_OFFSET + off +
udc               400 drivers/usb/gadget/udc/bcm63xx_udc.c static inline void set_clocks(struct bcm63xx_udc *udc, bool is_enabled)
udc               403 drivers/usb/gadget/udc/bcm63xx_udc.c 		clk_enable(udc->usbh_clk);
udc               404 drivers/usb/gadget/udc/bcm63xx_udc.c 		clk_enable(udc->usbd_clk);
udc               407 drivers/usb/gadget/udc/bcm63xx_udc.c 		clk_disable(udc->usbd_clk);
udc               408 drivers/usb/gadget/udc/bcm63xx_udc.c 		clk_disable(udc->usbh_clk);
udc               425 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep_dma_select(struct bcm63xx_udc *udc, int idx)
udc               427 drivers/usb/gadget/udc/bcm63xx_udc.c 	u32 val = usbd_readl(udc, USBD_CONTROL_REG);
udc               431 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_CONTROL_REG);
udc               443 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_set_stall(struct bcm63xx_udc *udc, struct bcm63xx_ep *bep,
udc               451 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_STALL_REG);
udc               461 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_fifo_setup(struct bcm63xx_udc *udc)
udc               463 drivers/usb/gadget/udc/bcm63xx_udc.c 	int is_hs = udc->gadget.speed == USB_SPEED_HIGH;
udc               472 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep_dma_select(udc, i >> 1);
udc               478 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc, val, USBD_RXFIFO_CONFIG_REG);
udc               479 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc,
udc               487 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc, val, USBD_TXFIFO_CONFIG_REG);
udc               488 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc,
udc               492 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_readl(udc, USBD_TXFIFO_EPSIZE_REG);
udc               501 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_fifo_reset_ep(struct bcm63xx_udc *udc, int ep_num)
udc               505 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep_dma_select(udc, ep_num);
udc               507 drivers/usb/gadget/udc/bcm63xx_udc.c 	val = usbd_readl(udc, USBD_CONTROL_REG);
udc               509 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_CONTROL_REG);
udc               510 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_readl(udc, USBD_CONTROL_REG);
udc               517 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_fifo_reset(struct bcm63xx_udc *udc)
udc               522 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_reset_ep(udc, i);
udc               529 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep_init(struct bcm63xx_udc *udc)
udc               539 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep_dma_select(udc, cfg->ep_num);
udc               542 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc, val, USBD_EPNUM_TYPEMAP_REG);
udc               552 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep_setup(struct bcm63xx_udc *udc)
udc               556 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, USBD_CSR_SETUPADDR_DEF, USBD_CSR_SETUPADDR_REG);
udc               560 drivers/usb/gadget/udc/bcm63xx_udc.c 		int max_pkt = udc->gadget.speed == USB_SPEED_HIGH ?
udc               564 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->iudma[i].max_pkt = max_pkt;
udc               568 drivers/usb/gadget/udc/bcm63xx_udc.c 		usb_ep_set_maxpacket_limit(&udc->bep[idx].ep, max_pkt);
udc               573 drivers/usb/gadget/udc/bcm63xx_udc.c 		      (udc->cfg << USBD_CSR_EP_CFG_SHIFT) |
udc               574 drivers/usb/gadget/udc/bcm63xx_udc.c 		      (udc->iface << USBD_CSR_EP_IFACE_SHIFT) |
udc               575 drivers/usb/gadget/udc/bcm63xx_udc.c 		      (udc->alt_iface << USBD_CSR_EP_ALTIFACE_SHIFT) |
udc               577 drivers/usb/gadget/udc/bcm63xx_udc.c 		usbd_writel(udc, val, USBD_CSR_EP_REG(idx));
udc               594 drivers/usb/gadget/udc/bcm63xx_udc.c static void iudma_write(struct bcm63xx_udc *udc, struct iudma_ch *iudma,
udc               657 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, ENETDMAC_CHANCFG_EN_MASK,
udc               670 drivers/usb/gadget/udc/bcm63xx_udc.c static int iudma_read(struct bcm63xx_udc *udc, struct iudma_ch *iudma)
udc               704 drivers/usb/gadget/udc/bcm63xx_udc.c static void iudma_reset_channel(struct bcm63xx_udc *udc, struct iudma_ch *iudma)
udc               711 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_reset_ep(udc, max(0, iudma->ep_num));
udc               714 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, 0, ENETDMAC_CHANCFG_REG, ch_idx);
udc               716 drivers/usb/gadget/udc/bcm63xx_udc.c 	while (usb_dmac_readl(udc, ENETDMAC_CHANCFG_REG, ch_idx) &
udc               722 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_fifo_reset_ep(udc, iudma->ep_num);
udc               725 drivers/usb/gadget/udc/bcm63xx_udc.c 			dev_err(udc->dev, "can't reset IUDMA channel %d\n",
udc               730 drivers/usb/gadget/udc/bcm63xx_udc.c 			dev_warn(udc->dev, "forcibly halting IUDMA channel %d\n",
udc               732 drivers/usb/gadget/udc/bcm63xx_udc.c 			usb_dmac_writel(udc, ENETDMAC_CHANCFG_BUFHALT_MASK,
udc               736 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, ~0, ENETDMAC_IR_REG, ch_idx);
udc               747 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, ENETDMAC_IR_BUFDONE_MASK,
udc               749 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, 8, ENETDMAC_MAXBURST_REG, ch_idx);
udc               751 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmas_writel(udc, iudma->bd_ring_dma, ENETDMAS_RSTART_REG, ch_idx);
udc               752 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmas_writel(udc, 0, ENETDMAS_SRAM2_REG, ch_idx);
udc               760 drivers/usb/gadget/udc/bcm63xx_udc.c static int iudma_init_channel(struct bcm63xx_udc *udc, unsigned int ch_idx)
udc               762 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = &udc->iudma[ch_idx];
udc               771 drivers/usb/gadget/udc/bcm63xx_udc.c 		bep = &udc->bep[iudma->ep_num];
udc               777 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->udc = udc;
udc               784 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma->bd_ring = dmam_alloc_coherent(udc->dev,
udc               800 drivers/usb/gadget/udc/bcm63xx_udc.c static int iudma_init(struct bcm63xx_udc *udc)
udc               804 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dma_writel(udc, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);
udc               807 drivers/usb/gadget/udc/bcm63xx_udc.c 		rc = iudma_init_channel(udc, i);
udc               810 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[i]);
udc               813 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dma_writel(udc, BIT(BCM63XX_NUM_IUDMA)-1, ENETDMA_GLB_IRQMASK_REG);
udc               823 drivers/usb/gadget/udc/bcm63xx_udc.c static void iudma_uninit(struct bcm63xx_udc *udc)
udc               827 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dma_writel(udc, 0, ENETDMA_GLB_IRQMASK_REG);
udc               830 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[i]);
udc               832 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dma_writel(udc, 0, ENETDMA_CFG_REG);
udc               844 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_set_ctrl_irqs(struct bcm63xx_udc *udc, bool enable_irqs)
udc               848 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, 0, USBD_STATUS_REG);
udc               855 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, enable_irqs ? val : 0, USBD_EVENT_IRQ_MASK_REG);
udc               856 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_EVENT_IRQ_STATUS_REG);
udc               870 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_select_phy_mode(struct bcm63xx_udc *udc, bool is_device)
udc               872 drivers/usb/gadget/udc/bcm63xx_udc.c 	u32 val, portmask = BIT(udc->pd->port_no);
udc               910 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_select_pullup(struct bcm63xx_udc *udc, bool is_on)
udc               912 drivers/usb/gadget/udc/bcm63xx_udc.c 	u32 val, portmask = BIT(udc->pd->port_no);
udc               929 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_uninit_udc_hw(struct bcm63xx_udc *udc)
udc               931 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, true);
udc               932 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_uninit(udc);
udc               933 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, false);
udc               935 drivers/usb/gadget/udc/bcm63xx_udc.c 	clk_put(udc->usbd_clk);
udc               936 drivers/usb/gadget/udc/bcm63xx_udc.c 	clk_put(udc->usbh_clk);
udc               943 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_init_udc_hw(struct bcm63xx_udc *udc)
udc               948 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0_ctrl_buf = devm_kzalloc(udc->dev, BCM63XX_MAX_CTRL_PKT,
udc               950 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc->ep0_ctrl_buf)
udc               953 drivers/usb/gadget/udc/bcm63xx_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc               955 drivers/usb/gadget/udc/bcm63xx_udc.c 		struct bcm63xx_ep *bep = &udc->bep[i];
udc               961 drivers/usb/gadget/udc/bcm63xx_udc.c 		list_add_tail(&bep->ep.ep_list, &udc->gadget.ep_list);
udc               964 drivers/usb/gadget/udc/bcm63xx_udc.c 		bep->udc = udc;
udc               969 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->gadget.ep0 = &udc->bep[0].ep;
udc               970 drivers/usb/gadget/udc/bcm63xx_udc.c 	list_del(&udc->bep[0].ep.ep_list);
udc               972 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc               973 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0state = EP0_SHUTDOWN;
udc               975 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->usbh_clk = clk_get(udc->dev, "usbh");
udc               976 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (IS_ERR(udc->usbh_clk))
udc               979 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->usbd_clk = clk_get(udc->dev, "usbd");
udc               980 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (IS_ERR(udc->usbd_clk)) {
udc               981 drivers/usb/gadget/udc/bcm63xx_udc.c 		clk_put(udc->usbh_clk);
udc               985 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, true);
udc               990 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_CONTROL_REG);
udc               998 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->gadget.max_speed == USB_SPEED_HIGH)
udc              1002 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_STRAPS_REG);
udc              1004 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_set_ctrl_irqs(udc, false);
udc              1006 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, 0, USBD_EVENT_IRQ_CFG_LO_REG);
udc              1010 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, val, USBD_EVENT_IRQ_CFG_HI_REG);
udc              1012 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = iudma_init(udc);
udc              1013 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, false);
udc              1015 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_uninit_udc_hw(udc);
udc              1036 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1043 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc->driver)
udc              1046 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1048 drivers/usb/gadget/udc/bcm63xx_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1055 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_reset_channel(udc, iudma);
udc              1058 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_set_stall(udc, bep, false);
udc              1059 drivers/usb/gadget/udc/bcm63xx_udc.c 	clear_bit(bep->ep_num, &udc->wedgemap);
udc              1064 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1075 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1083 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1085 drivers/usb/gadget/udc/bcm63xx_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1090 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_reset_channel(udc, iudma);
udc              1094 drivers/usb/gadget/udc/bcm63xx_udc.c 			usb_gadget_unmap_request(&udc->gadget, &breq->req,
udc              1099 drivers/usb/gadget/udc/bcm63xx_udc.c 			spin_unlock_irqrestore(&udc->lock, flags);
udc              1101 drivers/usb/gadget/udc/bcm63xx_udc.c 			spin_lock_irqsave(&udc->lock, flags);
udc              1106 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1156 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1168 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (bep == &udc->bep[0]) {
udc              1170 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_reply)
udc              1173 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_reply = req;
udc              1174 drivers/usb/gadget/udc/bcm63xx_udc.c 		schedule_work(&udc->ep0_wq);
udc              1178 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1184 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = usb_gadget_map_request(&udc->gadget, req, bep->iudma->is_tx);
udc              1188 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_write(udc, bep->iudma, breq);
udc              1192 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1208 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1213 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1220 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_gadget_unmap_request(&udc->gadget, &breq->req, bep->iudma->is_tx);
udc              1223 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, bep->iudma);
udc              1231 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_write(udc, bep->iudma, next);
udc              1238 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1256 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1259 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1260 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_set_stall(udc, bep, !!value);
udc              1262 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1276 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = bep->udc;
udc              1279 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1280 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_bit(bep->ep_num, &udc->wedgemap);
udc              1281 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_set_stall(udc, bep, true);
udc              1282 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1310 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_setup_callback(struct bcm63xx_udc *udc,
udc              1315 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irq(&udc->lock);
udc              1316 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = udc->driver->setup(&udc->gadget, ctrl);
udc              1317 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irq(&udc->lock);
udc              1333 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_spoof_set_cfg(struct bcm63xx_udc *udc)
udc              1340 drivers/usb/gadget/udc/bcm63xx_udc.c 	ctrl.wValue = cpu_to_le16(udc->cfg);
udc              1344 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = bcm63xx_ep0_setup_callback(udc, &ctrl);
udc              1346 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_warn_ratelimited(udc->dev,
udc              1348 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->cfg);
udc              1357 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_spoof_set_iface(struct bcm63xx_udc *udc)
udc              1364 drivers/usb/gadget/udc/bcm63xx_udc.c 	ctrl.wValue = cpu_to_le16(udc->alt_iface);
udc              1365 drivers/usb/gadget/udc/bcm63xx_udc.c 	ctrl.wIndex = cpu_to_le16(udc->iface);
udc              1368 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = bcm63xx_ep0_setup_callback(udc, &ctrl);
udc              1370 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_warn_ratelimited(udc->dev,
udc              1372 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->iface, udc->alt_iface);
udc              1383 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep0_map_write(struct bcm63xx_udc *udc, int ch_idx,
udc              1387 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct iudma_ch *iudma = &udc->iudma[ch_idx];
udc              1389 drivers/usb/gadget/udc/bcm63xx_udc.c 	BUG_ON(udc->ep0_request);
udc              1390 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0_request = req;
udc              1394 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_gadget_map_request(&udc->gadget, req, iudma->is_tx);
udc              1395 drivers/usb/gadget/udc/bcm63xx_udc.c 	iudma_write(udc, iudma, breq);
udc              1404 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep0_complete(struct bcm63xx_udc *udc,
udc              1411 drivers/usb/gadget/udc/bcm63xx_udc.c 		spin_unlock_irq(&udc->lock);
udc              1412 drivers/usb/gadget/udc/bcm63xx_udc.c 		req->complete(&udc->bep[0].ep, req);
udc              1413 drivers/usb/gadget/udc/bcm63xx_udc.c 		spin_lock_irq(&udc->lock);
udc              1423 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep0_nuke_reply(struct bcm63xx_udc *udc, int is_tx)
udc              1425 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct usb_request *req = udc->ep0_reply;
udc              1427 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0_reply = NULL;
udc              1428 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_gadget_unmap_request(&udc->gadget, req, is_tx);
udc              1429 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->ep0_request == req) {
udc              1430 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_completed = 0;
udc              1431 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_request = NULL;
udc              1433 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep0_complete(udc, req, -ESHUTDOWN);
udc              1441 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_read_complete(struct bcm63xx_udc *udc)
udc              1443 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct usb_request *req = udc->ep0_request;
udc              1445 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0_req_completed = 0;
udc              1446 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0_request = NULL;
udc              1460 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_ep0_internal_request(struct bcm63xx_udc *udc, int ch_idx,
udc              1463 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct usb_request *req = &udc->ep0_ctrl_req.req;
udc              1465 drivers/usb/gadget/udc/bcm63xx_udc.c 	req->buf = udc->ep0_ctrl_buf;
udc              1469 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep0_map_write(udc, ch_idx, req);
udc              1480 drivers/usb/gadget/udc/bcm63xx_udc.c static enum bcm63xx_ep0_state bcm63xx_ep0_do_setup(struct bcm63xx_udc *udc)
udc              1483 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct usb_ctrlrequest *ctrl = (void *)udc->ep0_ctrl_buf;
udc              1485 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = bcm63xx_ep0_read_complete(udc);
udc              1488 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_err(udc->dev, "missing SETUP packet\n");
udc              1502 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_warn_ratelimited(udc->dev,
udc              1508 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = bcm63xx_ep0_setup_callback(udc, ctrl);
udc              1510 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_set_stall(udc, &udc->bep[0], true);
udc              1533 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_do_idle(struct bcm63xx_udc *udc)
udc              1535 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->ep0_req_reset) {
udc              1536 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_reset = 0;
udc              1537 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (udc->ep0_req_set_cfg) {
udc              1538 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_set_cfg = 0;
udc              1539 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (bcm63xx_ep0_spoof_set_cfg(udc) >= 0)
udc              1540 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->ep0state = EP0_IN_FAKE_STATUS_PHASE;
udc              1541 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (udc->ep0_req_set_iface) {
udc              1542 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_set_iface = 0;
udc              1543 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (bcm63xx_ep0_spoof_set_iface(udc) >= 0)
udc              1544 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->ep0state = EP0_IN_FAKE_STATUS_PHASE;
udc              1545 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (udc->ep0_req_completed) {
udc              1546 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0state = bcm63xx_ep0_do_setup(udc);
udc              1547 drivers/usb/gadget/udc/bcm63xx_udc.c 		return udc->ep0state == EP0_IDLE ? -EAGAIN : 0;
udc              1548 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (udc->ep0_req_shutdown) {
udc              1549 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_shutdown = 0;
udc              1550 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_completed = 0;
udc              1551 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_request = NULL;
udc              1552 drivers/usb/gadget/udc/bcm63xx_udc.c 		iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_RXCHAN]);
udc              1553 drivers/usb/gadget/udc/bcm63xx_udc.c 		usb_gadget_unmap_request(&udc->gadget,
udc              1554 drivers/usb/gadget/udc/bcm63xx_udc.c 			&udc->ep0_ctrl_req.req, 0);
udc              1558 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0state = EP0_SHUTDOWN;
udc              1559 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (udc->ep0_reply) {
udc              1565 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_warn(udc->dev, "nuking unexpected reply\n");
udc              1566 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep0_nuke_reply(udc, 0);
udc              1580 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_ep0_one_round(struct bcm63xx_udc *udc)
udc              1582 drivers/usb/gadget/udc/bcm63xx_udc.c 	enum bcm63xx_ep0_state ep0state = udc->ep0state;
udc              1583 drivers/usb/gadget/udc/bcm63xx_udc.c 	bool shutdown = udc->ep0_req_reset || udc->ep0_req_shutdown;
udc              1585 drivers/usb/gadget/udc/bcm63xx_udc.c 	switch (udc->ep0state) {
udc              1588 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep0_internal_request(udc, IUDMA_EP0_RXCHAN,
udc              1593 drivers/usb/gadget/udc/bcm63xx_udc.c 		return bcm63xx_ep0_do_idle(udc);
udc              1604 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_reply) {
udc              1605 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_map_write(udc, IUDMA_EP0_TXCHAN,
udc              1606 drivers/usb/gadget/udc/bcm63xx_udc.c 					      udc->ep0_reply);
udc              1620 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_req_completed) {
udc              1621 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->ep0_reply = NULL;
udc              1622 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_read_complete(udc);
udc              1629 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_TXCHAN]);
udc              1630 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_nuke_reply(udc, 1);
udc              1637 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_reply) {
udc              1638 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_map_write(udc, IUDMA_EP0_RXCHAN,
udc              1639 drivers/usb/gadget/udc/bcm63xx_udc.c 					      udc->ep0_reply);
udc              1647 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_req_completed) {
udc              1648 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->ep0_reply = NULL;
udc              1649 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_read_complete(udc);
udc              1652 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_internal_request(udc, IUDMA_EP0_TXCHAN, 0);
udc              1655 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_RXCHAN]);
udc              1656 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_nuke_reply(udc, 0);
udc              1670 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (udc->ep0_req_completed) {
udc              1671 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep0_read_complete(udc);
udc              1674 drivers/usb/gadget/udc/bcm63xx_udc.c 			iudma_reset_channel(udc, &udc->iudma[IUDMA_EP0_TXCHAN]);
udc              1675 drivers/usb/gadget/udc/bcm63xx_udc.c 			udc->ep0_request = NULL;
udc              1694 drivers/usb/gadget/udc/bcm63xx_udc.c 		struct usb_request *r = udc->ep0_reply;
udc              1702 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep0_complete(udc, r, 0);
udc              1703 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_reply = NULL;
udc              1711 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->ep0state == ep0state)
udc              1714 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->ep0state = ep0state;
udc              1734 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = container_of(w, struct bcm63xx_udc, ep0_wq);
udc              1735 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irq(&udc->lock);
udc              1736 drivers/usb/gadget/udc/bcm63xx_udc.c 	while (bcm63xx_ep0_one_round(udc) == 0)
udc              1738 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irq(&udc->lock);
udc              1751 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = gadget_to_udc(gadget);
udc              1753 drivers/usb/gadget/udc/bcm63xx_udc.c 	return (usbd_readl(udc, USBD_STATUS_REG) &
udc              1766 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = gadget_to_udc(gadget);
udc              1770 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1771 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (is_on && udc->ep0state == EP0_SHUTDOWN) {
udc              1772 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1773 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0state = EP0_REQUEUE;
udc              1774 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_setup(udc);
udc              1775 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_reset(udc);
udc              1776 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep_setup(udc);
udc              1778 drivers/usb/gadget/udc/bcm63xx_udc.c 		bitmap_zero(&udc->wedgemap, BCM63XX_NUM_EP);
udc              1780 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_set_stall(udc, &udc->bep[i], false);
udc              1782 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_set_ctrl_irqs(udc, true);
udc              1785 drivers/usb/gadget/udc/bcm63xx_udc.c 	} else if (!is_on && udc->ep0state != EP0_SHUTDOWN) {
udc              1788 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_shutdown = 1;
udc              1789 drivers/usb/gadget/udc/bcm63xx_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1792 drivers/usb/gadget/udc/bcm63xx_udc.c 			schedule_work(&udc->ep0_wq);
udc              1793 drivers/usb/gadget/udc/bcm63xx_udc.c 			if (udc->ep0state == EP0_SHUTDOWN)
udc              1797 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_set_ctrl_irqs(udc, false);
udc              1798 drivers/usb/gadget/udc/bcm63xx_udc.c 		cancel_work_sync(&udc->ep0_wq);
udc              1802 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1814 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = gadget_to_udc(gadget);
udc              1820 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc)
udc              1822 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->driver)
udc              1825 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1827 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, true);
udc              1828 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_fifo_setup(udc);
udc              1829 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep_init(udc);
udc              1830 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep_setup(udc);
udc              1831 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_fifo_reset(udc);
udc              1832 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_select_phy_mode(udc, true);
udc              1834 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->driver = driver;
udc              1836 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->gadget.dev.of_node = udc->dev->of_node;
udc              1838 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1850 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = gadget_to_udc(gadget);
udc              1853 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1855 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->driver = NULL;
udc              1865 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_select_phy_mode(udc, false);
udc              1866 drivers/usb/gadget/udc/bcm63xx_udc.c 	set_clocks(udc, false);
udc              1868 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1893 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_update_cfg_iface(struct bcm63xx_udc *udc)
udc              1895 drivers/usb/gadget/udc/bcm63xx_udc.c 	u32 reg = usbd_readl(udc, USBD_STATUS_REG);
udc              1897 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->cfg = (reg & USBD_STATUS_CFG_MASK) >> USBD_STATUS_CFG_SHIFT;
udc              1898 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->iface = (reg & USBD_STATUS_INTF_MASK) >> USBD_STATUS_INTF_SHIFT;
udc              1899 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->alt_iface = (reg & USBD_STATUS_ALTINTF_MASK) >>
udc              1901 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_ep_setup(udc);
udc              1911 drivers/usb/gadget/udc/bcm63xx_udc.c static int bcm63xx_update_link_speed(struct bcm63xx_udc *udc)
udc              1913 drivers/usb/gadget/udc/bcm63xx_udc.c 	u32 reg = usbd_readl(udc, USBD_STATUS_REG);
udc              1914 drivers/usb/gadget/udc/bcm63xx_udc.c 	enum usb_device_speed oldspeed = udc->gadget.speed;
udc              1918 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.speed = USB_SPEED_HIGH;
udc              1921 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.speed = USB_SPEED_FULL;
udc              1925 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1926 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_err(udc->dev,
udc              1931 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (udc->gadget.speed != oldspeed) {
udc              1932 drivers/usb/gadget/udc/bcm63xx_udc.c 		dev_info(udc->dev, "link up, %s-speed mode\n",
udc              1933 drivers/usb/gadget/udc/bcm63xx_udc.c 			 udc->gadget.speed == USB_SPEED_HIGH ? "high" : "full");
udc              1951 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_update_wedge(struct bcm63xx_udc *udc, bool new_status)
udc              1955 drivers/usb/gadget/udc/bcm63xx_udc.c 	for_each_set_bit(i, &udc->wedgemap, BCM63XX_NUM_EP) {
udc              1956 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_set_stall(udc, &udc->bep[i], new_status);
udc              1958 drivers/usb/gadget/udc/bcm63xx_udc.c 			clear_bit(i, &udc->wedgemap);
udc              1972 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = dev_id;
udc              1976 drivers/usb/gadget/udc/bcm63xx_udc.c 	stat = usbd_readl(udc, USBD_EVENT_IRQ_STATUS_REG) &
udc              1977 drivers/usb/gadget/udc/bcm63xx_udc.c 	       usbd_readl(udc, USBD_EVENT_IRQ_MASK_REG);
udc              1979 drivers/usb/gadget/udc/bcm63xx_udc.c 	usbd_writel(udc, stat, USBD_EVENT_IRQ_STATUS_REG);
udc              1981 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock(&udc->lock);
udc              1985 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (!(usbd_readl(udc, USBD_EVENTS_REG) &
udc              1987 drivers/usb/gadget/udc/bcm63xx_udc.c 		      udc->gadget.speed != USB_SPEED_UNKNOWN)
udc              1988 drivers/usb/gadget/udc/bcm63xx_udc.c 			dev_info(udc->dev, "link down\n");
udc              1990 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1994 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_setup(udc);
udc              1995 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_fifo_reset(udc);
udc              1996 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_ep_setup(udc);
udc              1998 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_update_wedge(udc, false);
udc              2000 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_reset = 1;
udc              2001 drivers/usb/gadget/udc/bcm63xx_udc.c 		schedule_work(&udc->ep0_wq);
udc              2005 drivers/usb/gadget/udc/bcm63xx_udc.c 		if (bcm63xx_update_link_speed(udc)) {
udc              2006 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_fifo_setup(udc);
udc              2007 drivers/usb/gadget/udc/bcm63xx_udc.c 			bcm63xx_ep_setup(udc);
udc              2009 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_update_wedge(udc, true);
udc              2012 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_update_cfg_iface(udc);
udc              2013 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_set_cfg = 1;
udc              2014 drivers/usb/gadget/udc/bcm63xx_udc.c 		schedule_work(&udc->ep0_wq);
udc              2017 drivers/usb/gadget/udc/bcm63xx_udc.c 		bcm63xx_update_cfg_iface(udc);
udc              2018 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->ep0_req_set_iface = 1;
udc              2019 drivers/usb/gadget/udc/bcm63xx_udc.c 		schedule_work(&udc->ep0_wq);
udc              2021 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock(&udc->lock);
udc              2023 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (disconnected && udc->driver)
udc              2024 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->driver->disconnect(&udc->gadget);
udc              2025 drivers/usb/gadget/udc/bcm63xx_udc.c 	else if (bus_reset && udc->driver)
udc              2026 drivers/usb/gadget/udc/bcm63xx_udc.c 		usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc              2044 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = iudma->udc;
udc              2051 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock(&udc->lock);
udc              2053 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_dmac_writel(udc, ENETDMAC_IR_BUFDONE_MASK,
udc              2056 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = iudma_read(udc, iudma);
udc              2061 drivers/usb/gadget/udc/bcm63xx_udc.c 		req = udc->ep0_request;
udc              2069 drivers/usb/gadget/udc/bcm63xx_udc.c 				udc->ep0_req_completed = 1;
udc              2071 drivers/usb/gadget/udc/bcm63xx_udc.c 				schedule_work(&udc->ep0_wq);
udc              2077 drivers/usb/gadget/udc/bcm63xx_udc.c 				iudma_write(udc, iudma, breq);
udc              2098 drivers/usb/gadget/udc/bcm63xx_udc.c 					iudma_write(udc, iudma, next);
udc              2101 drivers/usb/gadget/udc/bcm63xx_udc.c 				iudma_write(udc, iudma, breq);
udc              2105 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_unlock(&udc->lock);
udc              2108 drivers/usb/gadget/udc/bcm63xx_udc.c 		usb_gadget_unmap_request(&udc->gadget, req, iudma->is_tx);
udc              2129 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = s->private;
udc              2131 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc->driver)
udc              2135 drivers/usb/gadget/udc/bcm63xx_udc.c 		   bcm63xx_ep0_state_names[udc->ep0state]);
udc              2137 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_req_reset ? "reset " : "",
udc              2138 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_req_set_cfg ? "set_cfg " : "",
udc              2139 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_req_set_iface ? "set_iface " : "",
udc              2140 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_req_shutdown ? "shutdown " : "",
udc              2141 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_request ? "pending " : "",
udc              2142 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_req_completed ? "completed " : "",
udc              2143 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->ep0_reply ? "reply " : "");
udc              2145 drivers/usb/gadget/udc/bcm63xx_udc.c 		   udc->cfg, udc->iface, udc->alt_iface);
udc              2148 drivers/usb/gadget/udc/bcm63xx_udc.c 		   usbd_readl(udc, USBD_CONTROL_REG),
udc              2149 drivers/usb/gadget/udc/bcm63xx_udc.c 		   usbd_readl(udc, USBD_STRAPS_REG),
udc              2150 drivers/usb/gadget/udc/bcm63xx_udc.c 		   usbd_readl(udc, USBD_STATUS_REG));
udc              2152 drivers/usb/gadget/udc/bcm63xx_udc.c 		   usbd_readl(udc, USBD_EVENTS_REG),
udc              2153 drivers/usb/gadget/udc/bcm63xx_udc.c 		   usbd_readl(udc, USBD_STALL_REG));
udc              2168 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = s->private;
udc              2172 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc->driver)
udc              2176 drivers/usb/gadget/udc/bcm63xx_udc.c 		struct iudma_ch *iudma = &udc->iudma[ch_idx];
udc              2195 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmac_readl(udc, ENETDMAC_CHANCFG_REG, ch_idx),
udc              2196 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmac_readl(udc, ENETDMAC_IR_REG, ch_idx),
udc              2197 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmac_readl(udc, ENETDMAC_IRMASK_REG, ch_idx),
udc              2198 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmac_readl(udc, ENETDMAC_MAXBURST_REG, ch_idx));
udc              2200 drivers/usb/gadget/udc/bcm63xx_udc.c 		sram2 = usb_dmas_readl(udc, ENETDMAS_SRAM2_REG, ch_idx);
udc              2201 drivers/usb/gadget/udc/bcm63xx_udc.c 		sram3 = usb_dmas_readl(udc, ENETDMAS_SRAM3_REG, ch_idx);
udc              2203 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmas_readl(udc, ENETDMAS_RSTART_REG, ch_idx),
udc              2206 drivers/usb/gadget/udc/bcm63xx_udc.c 			   usb_dmas_readl(udc, ENETDMAS_SRAM4_REG, ch_idx));
udc              2244 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_udc_init_debugfs(struct bcm63xx_udc *udc)
udc              2251 drivers/usb/gadget/udc/bcm63xx_udc.c 	root = debugfs_create_dir(udc->gadget.name, NULL);
udc              2252 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->debugfs_root = root;
udc              2254 drivers/usb/gadget/udc/bcm63xx_udc.c 	debugfs_create_file("usbd", 0400, root, udc, &bcm63xx_usbd_dbg_fops);
udc              2255 drivers/usb/gadget/udc/bcm63xx_udc.c 	debugfs_create_file("iudma", 0400, root, udc, &bcm63xx_iudma_dbg_fops);
udc              2264 drivers/usb/gadget/udc/bcm63xx_udc.c static void bcm63xx_udc_cleanup_debugfs(struct bcm63xx_udc *udc)
udc              2266 drivers/usb/gadget/udc/bcm63xx_udc.c 	debugfs_remove_recursive(udc->debugfs_root);
udc              2284 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc;
udc              2288 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc = devm_kzalloc(dev, sizeof(*udc), GFP_KERNEL);
udc              2289 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (!udc)
udc              2292 drivers/usb/gadget/udc/bcm63xx_udc.c 	platform_set_drvdata(pdev, udc);
udc              2293 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->dev = dev;
udc              2294 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->pd = pd;
udc              2302 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->usbd_regs = devm_ioremap_resource(dev, res);
udc              2303 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (IS_ERR(udc->usbd_regs))
udc              2304 drivers/usb/gadget/udc/bcm63xx_udc.c 		return PTR_ERR(udc->usbd_regs);
udc              2307 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->iudma_regs = devm_ioremap_resource(dev, res);
udc              2308 drivers/usb/gadget/udc/bcm63xx_udc.c 	if (IS_ERR(udc->iudma_regs))
udc              2309 drivers/usb/gadget/udc/bcm63xx_udc.c 		return PTR_ERR(udc->iudma_regs);
udc              2311 drivers/usb/gadget/udc/bcm63xx_udc.c 	spin_lock_init(&udc->lock);
udc              2312 drivers/usb/gadget/udc/bcm63xx_udc.c 	INIT_WORK(&udc->ep0_wq, bcm63xx_ep0_process);
udc              2314 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->gadget.ops = &bcm63xx_udc_ops;
udc              2315 drivers/usb/gadget/udc/bcm63xx_udc.c 	udc->gadget.name = dev_name(dev);
udc              2318 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.max_speed = USB_SPEED_HIGH;
udc              2320 drivers/usb/gadget/udc/bcm63xx_udc.c 		udc->gadget.max_speed = USB_SPEED_FULL;
udc              2323 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = bcm63xx_init_udc_hw(udc);
udc              2334 drivers/usb/gadget/udc/bcm63xx_udc.c 			     dev_name(dev), udc) < 0)
udc              2343 drivers/usb/gadget/udc/bcm63xx_udc.c 				     dev_name(dev), &udc->iudma[i]) < 0)
udc              2347 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_udc_init_debugfs(udc);
udc              2348 drivers/usb/gadget/udc/bcm63xx_udc.c 	rc = usb_add_gadget_udc(dev, &udc->gadget);
udc              2352 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_udc_cleanup_debugfs(udc);
udc              2354 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_uninit_udc_hw(udc);
udc              2368 drivers/usb/gadget/udc/bcm63xx_udc.c 	struct bcm63xx_udc *udc = platform_get_drvdata(pdev);
udc              2370 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_udc_cleanup_debugfs(udc);
udc              2371 drivers/usb/gadget/udc/bcm63xx_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              2372 drivers/usb/gadget/udc/bcm63xx_udc.c 	BUG_ON(udc->driver);
udc              2374 drivers/usb/gadget/udc/bcm63xx_udc.c 	bcm63xx_uninit_udc_hw(udc);
udc                49 drivers/usb/gadget/udc/core.c static int udc_bind_to_driver(struct usb_udc *udc,
udc               730 drivers/usb/gadget/udc/core.c 		gadget->udc->driver->disconnect(gadget);
udc              1006 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc = gadget->udc;
udc              1008 drivers/usb/gadget/udc/core.c 	if (udc)
udc              1009 drivers/usb/gadget/udc/core.c 		sysfs_notify(&udc->dev.kobj, NULL, "state");
udc              1022 drivers/usb/gadget/udc/core.c static void usb_udc_connect_control(struct usb_udc *udc)
udc              1024 drivers/usb/gadget/udc/core.c 	if (udc->vbus)
udc              1025 drivers/usb/gadget/udc/core.c 		usb_gadget_connect(udc->gadget);
udc              1027 drivers/usb/gadget/udc/core.c 		usb_gadget_disconnect(udc->gadget);
udc              1041 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc = gadget->udc;
udc              1043 drivers/usb/gadget/udc/core.c 	if (udc) {
udc              1044 drivers/usb/gadget/udc/core.c 		udc->vbus = status;
udc              1045 drivers/usb/gadget/udc/core.c 		usb_udc_connect_control(udc);
udc              1080 drivers/usb/gadget/udc/core.c static inline int usb_gadget_udc_start(struct usb_udc *udc)
udc              1082 drivers/usb/gadget/udc/core.c 	return udc->gadget->ops->udc_start(udc->gadget, udc->driver);
udc              1097 drivers/usb/gadget/udc/core.c static inline void usb_gadget_udc_stop(struct usb_udc *udc)
udc              1099 drivers/usb/gadget/udc/core.c 	udc->gadget->ops->udc_stop(udc->gadget);
udc              1112 drivers/usb/gadget/udc/core.c static inline void usb_gadget_udc_set_speed(struct usb_udc *udc,
udc              1115 drivers/usb/gadget/udc/core.c 	if (udc->gadget->ops->udc_set_speed) {
udc              1118 drivers/usb/gadget/udc/core.c 		s = min(speed, udc->gadget->max_speed);
udc              1119 drivers/usb/gadget/udc/core.c 		udc->gadget->ops->udc_set_speed(udc->gadget, s);
udc              1132 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc;
udc              1134 drivers/usb/gadget/udc/core.c 	udc = container_of(dev, struct usb_udc, dev);
udc              1136 drivers/usb/gadget/udc/core.c 	kfree(udc);
udc              1147 drivers/usb/gadget/udc/core.c static int check_pending_gadget_drivers(struct usb_udc *udc)
udc              1154 drivers/usb/gadget/udc/core.c 						dev_name(&udc->dev)) == 0) {
udc              1155 drivers/usb/gadget/udc/core.c 			ret = udc_bind_to_driver(udc, driver);
udc              1177 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc;
udc              1191 drivers/usb/gadget/udc/core.c 	udc = kzalloc(sizeof(*udc), GFP_KERNEL);
udc              1192 drivers/usb/gadget/udc/core.c 	if (!udc)
udc              1195 drivers/usb/gadget/udc/core.c 	device_initialize(&udc->dev);
udc              1196 drivers/usb/gadget/udc/core.c 	udc->dev.release = usb_udc_release;
udc              1197 drivers/usb/gadget/udc/core.c 	udc->dev.class = udc_class;
udc              1198 drivers/usb/gadget/udc/core.c 	udc->dev.groups = usb_udc_attr_groups;
udc              1199 drivers/usb/gadget/udc/core.c 	udc->dev.parent = parent;
udc              1200 drivers/usb/gadget/udc/core.c 	ret = dev_set_name(&udc->dev, "%s", kobject_name(&parent->kobj));
udc              1208 drivers/usb/gadget/udc/core.c 	udc->gadget = gadget;
udc              1209 drivers/usb/gadget/udc/core.c 	gadget->udc = udc;
udc              1212 drivers/usb/gadget/udc/core.c 	list_add_tail(&udc->list, &udc_list);
udc              1214 drivers/usb/gadget/udc/core.c 	ret = device_add(&udc->dev);
udc              1219 drivers/usb/gadget/udc/core.c 	udc->vbus = true;
udc              1222 drivers/usb/gadget/udc/core.c 	ret = check_pending_gadget_drivers(udc);
udc              1231 drivers/usb/gadget/udc/core.c 	device_del(&udc->dev);
udc              1234 drivers/usb/gadget/udc/core.c 	list_del(&udc->list);
udc              1240 drivers/usb/gadget/udc/core.c 	put_device(&udc->dev);
udc              1262 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc;
udc              1267 drivers/usb/gadget/udc/core.c 	list_for_each_entry(udc, &udc_list, list) {
udc              1268 drivers/usb/gadget/udc/core.c 		if (!udc->driver) {
udc              1269 drivers/usb/gadget/udc/core.c 			name = kstrdup(udc->gadget->name, GFP_KERNEL);
udc              1292 drivers/usb/gadget/udc/core.c static void usb_gadget_remove_driver(struct usb_udc *udc)
udc              1294 drivers/usb/gadget/udc/core.c 	dev_dbg(&udc->dev, "unregistering UDC driver [%s]\n",
udc              1295 drivers/usb/gadget/udc/core.c 			udc->driver->function);
udc              1297 drivers/usb/gadget/udc/core.c 	kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE);
udc              1299 drivers/usb/gadget/udc/core.c 	usb_gadget_disconnect(udc->gadget);
udc              1300 drivers/usb/gadget/udc/core.c 	udc->driver->unbind(udc->gadget);
udc              1301 drivers/usb/gadget/udc/core.c 	usb_gadget_udc_stop(udc);
udc              1303 drivers/usb/gadget/udc/core.c 	udc->driver = NULL;
udc              1304 drivers/usb/gadget/udc/core.c 	udc->dev.driver = NULL;
udc              1305 drivers/usb/gadget/udc/core.c 	udc->gadget->dev.driver = NULL;
udc              1317 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc = gadget->udc;
udc              1319 drivers/usb/gadget/udc/core.c 	if (!udc)
udc              1325 drivers/usb/gadget/udc/core.c 	list_del(&udc->list);
udc              1327 drivers/usb/gadget/udc/core.c 	if (udc->driver) {
udc              1328 drivers/usb/gadget/udc/core.c 		struct usb_gadget_driver *driver = udc->driver;
udc              1330 drivers/usb/gadget/udc/core.c 		usb_gadget_remove_driver(udc);
udc              1335 drivers/usb/gadget/udc/core.c 	kobject_uevent(&udc->dev.kobj, KOBJ_REMOVE);
udc              1337 drivers/usb/gadget/udc/core.c 	device_unregister(&udc->dev);
udc              1345 drivers/usb/gadget/udc/core.c static int udc_bind_to_driver(struct usb_udc *udc, struct usb_gadget_driver *driver)
udc              1349 drivers/usb/gadget/udc/core.c 	dev_dbg(&udc->dev, "registering UDC driver [%s]\n",
udc              1352 drivers/usb/gadget/udc/core.c 	udc->driver = driver;
udc              1353 drivers/usb/gadget/udc/core.c 	udc->dev.driver = &driver->driver;
udc              1354 drivers/usb/gadget/udc/core.c 	udc->gadget->dev.driver = &driver->driver;
udc              1356 drivers/usb/gadget/udc/core.c 	usb_gadget_udc_set_speed(udc, driver->max_speed);
udc              1358 drivers/usb/gadget/udc/core.c 	ret = driver->bind(udc->gadget, driver);
udc              1361 drivers/usb/gadget/udc/core.c 	ret = usb_gadget_udc_start(udc);
udc              1363 drivers/usb/gadget/udc/core.c 		driver->unbind(udc->gadget);
udc              1366 drivers/usb/gadget/udc/core.c 	usb_udc_connect_control(udc);
udc              1368 drivers/usb/gadget/udc/core.c 	kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE);
udc              1372 drivers/usb/gadget/udc/core.c 		dev_err(&udc->dev, "failed to start %s: %d\n",
udc              1373 drivers/usb/gadget/udc/core.c 			udc->driver->function, ret);
udc              1374 drivers/usb/gadget/udc/core.c 	udc->driver = NULL;
udc              1375 drivers/usb/gadget/udc/core.c 	udc->dev.driver = NULL;
udc              1376 drivers/usb/gadget/udc/core.c 	udc->gadget->dev.driver = NULL;
udc              1382 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = NULL;
udc              1390 drivers/usb/gadget/udc/core.c 		list_for_each_entry(udc, &udc_list, list) {
udc              1391 drivers/usb/gadget/udc/core.c 			ret = strcmp(driver->udc_name, dev_name(&udc->dev));
udc              1397 drivers/usb/gadget/udc/core.c 		else if (udc->driver)
udc              1402 drivers/usb/gadget/udc/core.c 		list_for_each_entry(udc, &udc_list, list) {
udc              1404 drivers/usb/gadget/udc/core.c 			if (!udc->driver)
udc              1419 drivers/usb/gadget/udc/core.c 	ret = udc_bind_to_driver(udc, driver);
udc              1427 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = NULL;
udc              1434 drivers/usb/gadget/udc/core.c 	list_for_each_entry(udc, &udc_list, list) {
udc              1435 drivers/usb/gadget/udc/core.c 		if (udc->driver == driver) {
udc              1436 drivers/usb/gadget/udc/core.c 			usb_gadget_remove_driver(udc);
udc              1437 drivers/usb/gadget/udc/core.c 			usb_gadget_set_state(udc->gadget,
udc              1441 drivers/usb/gadget/udc/core.c 			check_pending_gadget_drivers(udc);
udc              1465 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
udc              1468 drivers/usb/gadget/udc/core.c 		usb_gadget_wakeup(udc->gadget);
udc              1477 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
udc              1479 drivers/usb/gadget/udc/core.c 	if (!udc->driver) {
udc              1485 drivers/usb/gadget/udc/core.c 		usb_gadget_udc_start(udc);
udc              1486 drivers/usb/gadget/udc/core.c 		usb_gadget_connect(udc->gadget);
udc              1488 drivers/usb/gadget/udc/core.c 		usb_gadget_disconnect(udc->gadget);
udc              1489 drivers/usb/gadget/udc/core.c 		usb_gadget_udc_stop(udc);
udc              1502 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
udc              1503 drivers/usb/gadget/udc/core.c 	struct usb_gadget	*gadget = udc->gadget;
udc              1512 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
udc              1513 drivers/usb/gadget/udc/core.c 	struct usb_gadget_driver *drv = udc->driver;
udc              1525 drivers/usb/gadget/udc/core.c 	struct usb_udc *udc = container_of(dev, struct usb_udc, dev);	\
udc              1527 drivers/usb/gadget/udc/core.c 			usb_speed_string(udc->gadget->param));		\
udc              1538 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev); \
udc              1539 drivers/usb/gadget/udc/core.c 	struct usb_gadget	*gadget = udc->gadget;		\
udc              1580 drivers/usb/gadget/udc/core.c 	struct usb_udc		*udc = container_of(dev, struct usb_udc, dev);
udc              1583 drivers/usb/gadget/udc/core.c 	ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name);
udc              1589 drivers/usb/gadget/udc/core.c 	if (udc->driver) {
udc              1591 drivers/usb/gadget/udc/core.c 				udc->driver->function);
udc                78 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc                94 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_unmap_single(udc->gadget.dev.parent,
udc               102 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_cpu(udc->gadget.dev.parent,
udc               109 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "complete %s req %p stat %d len %u/%u\n",
udc               115 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock(&udc->lock);
udc               119 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock(&udc->lock);
udc               146 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               148 drivers/usb/gadget/udc/fsl_qe_udc.c 	tem_usep = in_be16(&udc->usb_regs->usb_usep[epnum]);
udc               155 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usep[epnum], tem_usep);
udc               163 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               165 drivers/usb/gadget/udc/fsl_qe_udc.c 	tem_usep = in_be16(&udc->usb_regs->usb_usep[epnum]);
udc               172 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usep[epnum], tem_usep);
udc               177 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep0_stall(struct qe_udc *udc)
udc               179 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_eptx_stall_change(&udc->eps[0], 1);
udc               180 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_eprx_stall_change(&udc->eps[0], 1);
udc               181 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc               182 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = 0;
udc               189 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               193 drivers/usb/gadget/udc/fsl_qe_udc.c 		clrsetbits_be16(&udc->usb_regs->usb_usep[epnum],
udc               197 drivers/usb/gadget/udc/fsl_qe_udc.c 		clrbits16(&udc->usb_regs->usb_usbmr,
udc               207 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               210 drivers/usb/gadget/udc/fsl_qe_udc.c 		clrsetbits_be16(&udc->usb_regs->usb_usep[ep->epnum],
udc               214 drivers/usb/gadget/udc/fsl_qe_udc.c 		out_be16(&udc->usb_regs->usb_usber,
udc               216 drivers/usb/gadget/udc/fsl_qe_udc.c 		setbits16(&udc->usb_regs->usb_usbmr,
udc               228 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (ep->udc->soc_type == PORT_CPM)
udc               240 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (ep->udc->soc_type == PORT_CPM)
udc               252 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               258 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_8(&udc->usb_regs->usb_uscom,
udc               260 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->ep_param[i]->tbptr, in_be16(&udc->ep_param[i]->tbase));
udc               261 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be32(&udc->ep_param[i]->tstate, 0);
udc               262 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->ep_param[i]->tbcnt, 0);
udc               272 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               274 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_8(&udc->usb_regs->usb_uscom,
udc               279 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_epbds_reset(struct qe_udc *udc, int pipe_num)
udc               286 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep = &udc->eps[pipe_num];
udc               311 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep_reset(struct qe_udc *udc, int pipe_num)
udc               316 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep = &udc->eps[pipe_num];
udc               317 drivers/usb/gadget/udc/fsl_qe_udc.c 	tmpusep = in_be16(&udc->usb_regs->usb_usep[pipe_num]);
udc               334 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usep[pipe_num], tmpusep);
udc               336 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_epbds_reset(udc, pipe_num);
udc               347 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep_bd_init(struct qe_udc *udc, unsigned char pipe_num)
udc               349 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[pipe_num];
udc               361 drivers/usb/gadget/udc/fsl_qe_udc.c 	epparam = udc->ep_param[pipe_num];
udc               439 drivers/usb/gadget/udc/fsl_qe_udc.c 		ep->rxbuf_d = dma_map_single(ep->udc->gadget.dev.parent,
udc               445 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_device(ep->udc->gadget.dev.parent,
udc               467 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep_register_init(struct qe_udc *udc, unsigned char pipe_num)
udc               469 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[pipe_num];
udc               475 drivers/usb/gadget/udc/fsl_qe_udc.c 	epparam = udc->ep_param[pipe_num];
udc               506 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usep[pipe_num], usep);
udc               520 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep_init(struct qe_udc *udc,
udc               524 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[pipe_num];
udc               540 drivers/usb/gadget/udc/fsl_qe_udc.c 			switch (udc->gadget.speed) {
udc               561 drivers/usb/gadget/udc/fsl_qe_udc.c 			switch (udc->gadget.speed) {
udc               578 drivers/usb/gadget/udc/fsl_qe_udc.c 			switch (udc->gadget.speed) {
udc               593 drivers/usb/gadget/udc/fsl_qe_udc.c 			switch (udc->gadget.speed) {
udc               628 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               639 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_OUT;
udc               640 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc               654 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_ep_bd_init(udc, pipe_num);
udc               668 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_ep_register_init(udc, pipe_num);
udc               672 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               679 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               681 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_err(udc->dev, "failed to initialize %s\n", ep->ep.name);
udc               685 drivers/usb/gadget/udc/fsl_qe_udc.c static inline void qe_usb_enable(struct qe_udc *udc)
udc               687 drivers/usb/gadget/udc/fsl_qe_udc.c 	setbits8(&udc->usb_regs->usb_usmod, USB_MODE_EN);
udc               690 drivers/usb/gadget/udc/fsl_qe_udc.c static inline void qe_usb_disable(struct qe_udc *udc)
udc               692 drivers/usb/gadget/udc/fsl_qe_udc.c 	clrbits8(&udc->usb_regs->usb_usmod, USB_MODE_EN);
udc               749 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc               754 drivers/usb/gadget/udc/fsl_qe_udc.c 				((in_be16(&udc->ep_param[epnum]->rbptr) -
udc               755 drivers/usb/gadget/udc/fsl_qe_udc.c 				  in_be16(&udc->ep_param[epnum]->rbase))
udc               770 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (in_be16(&udc->usb_regs->usb_usber) & USB_E_BSY_MASK)
udc               771 drivers/usb/gadget/udc/fsl_qe_udc.c 		out_be16(&udc->usb_regs->usb_usber, USB_E_BSY_MASK);
udc               779 drivers/usb/gadget/udc/fsl_qe_udc.c static void setup_received_handle(struct qe_udc *udc,
udc               782 drivers/usb/gadget/udc/fsl_qe_udc.c static void ep0_req_complete(struct qe_udc *udc, struct qe_req *req);
udc               784 drivers/usb/gadget/udc/fsl_qe_udc.c static int ep0_setup_handle(struct qe_udc *udc)
udc               786 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[0];
udc               793 drivers/usb/gadget/udc/fsl_qe_udc.c 			&& (udc->ep0_state == WAIT_FOR_SETUP)) {
udc               797 drivers/usb/gadget/udc/fsl_qe_udc.c 		cp = (u8 *)&udc->local_setup_buff;
udc               802 drivers/usb/gadget/udc/fsl_qe_udc.c 		setup_received_handle(udc, &udc->local_setup_buff);
udc               808 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep0_rx(struct qe_udc *udc)
udc               810 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[0];
udc               819 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(udc->dev, "ep0 not a control endpoint\n");
udc               831 drivers/usb/gadget/udc/fsl_qe_udc.c 				udc->ep0_state = WAIT_FOR_SETUP;
udc               832 drivers/usb/gadget/udc/fsl_qe_udc.c 				dev_vdbg(udc->dev,
udc               854 drivers/usb/gadget/udc/fsl_qe_udc.c 					ep0_setup_handle(udc);
udc               859 drivers/usb/gadget/udc/fsl_qe_udc.c 			dev_err(udc->dev, "The receive frame with error!\n");
udc               895 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(ep->udc->dev, "the data01 error!\n");
udc               901 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(ep->udc->dev, "the %s have no requeue!\n", ep->name);
udc               912 drivers/usb/gadget/udc/fsl_qe_udc.c 					ep0_req_complete(ep->udc, req);
udc               928 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = (struct qe_udc *)data;
udc               936 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               939 drivers/usb/gadget/udc/fsl_qe_udc.c 		ep = &udc->eps[i];
udc               942 drivers/usb/gadget/udc/fsl_qe_udc.c 			dev_dbg(udc->dev,
udc               955 drivers/usb/gadget/udc/fsl_qe_udc.c 				dev_dbg(udc->dev,
udc               983 drivers/usb/gadget/udc/fsl_qe_udc.c 				dev_err(udc->dev,
udc              1011 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1016 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              1021 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = ep->udc;
udc              1025 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(udc->dev, "transmit ep in rx function\n");
udc              1032 drivers/usb/gadget/udc/fsl_qe_udc.c 	ucoffs = (u16)((in_be16(&udc->ep_param[ep->epnum]->rbptr) -
udc              1033 drivers/usb/gadget/udc/fsl_qe_udc.c 			in_be16(&udc->ep_param[ep->epnum]->rbase)) >> 3);
udc              1042 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "%d empty bds, send NACK\n", emptybds);
udc              1048 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "The rxep have no req queued with %d BDs\n",
udc              1053 drivers/usb/gadget/udc/fsl_qe_udc.c 	tasklet_schedule(&udc->rx_tasklet);
udc              1062 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc              1069 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(udc->dev, "receive ep passed to tx function\n");
udc              1074 drivers/usb/gadget/udc/fsl_qe_udc.c 	saveusbmr = in_be16(&udc->usb_regs->usb_usbmr);
udc              1075 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usbmr,
udc              1083 drivers/usb/gadget/udc/fsl_qe_udc.c 			frame_set_data(frame, udc->nullbuf);
udc              1086 drivers/usb/gadget/udc/fsl_qe_udc.c 			dev_vdbg(udc->dev, "the frame size = 0\n");
udc              1098 drivers/usb/gadget/udc/fsl_qe_udc.c 		if ((ep->epnum == 0) && (udc->ep0_state == DATA_STATE_NEED_ZLP))
udc              1114 drivers/usb/gadget/udc/fsl_qe_udc.c 		out_be16(&udc->usb_regs->usb_usbmr, saveusbmr);
udc              1124 drivers/usb/gadget/udc/fsl_qe_udc.c 		out_be16(&udc->usb_regs->usb_usbmr, saveusbmr);
udc              1125 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "The tx bd is not ready!\n");
udc              1206 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc              1212 drivers/usb/gadget/udc/fsl_qe_udc.c 	frame_set_data(frame, (u8 *)udc->nullbuf);
udc              1239 drivers/usb/gadget/udc/fsl_qe_udc.c static int ep0_prime_status(struct qe_udc *udc, int direction)
udc              1242 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[0];
udc              1245 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = DATA_STATE_NEED_ZLP;
udc              1246 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_IN;
udc              1249 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_OUT;
udc              1250 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1257 drivers/usb/gadget/udc/fsl_qe_udc.c static void ep0_req_complete(struct qe_udc *udc, struct qe_req *req)
udc              1259 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[0];
udc              1262 drivers/usb/gadget/udc/fsl_qe_udc.c 	switch (udc->ep0_state) {
udc              1266 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (ep0_prime_status(udc, USB_DIR_OUT))
udc              1267 drivers/usb/gadget/udc/fsl_qe_udc.c 			qe_ep0_stall(udc);
udc              1272 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1278 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (ep0_prime_status(udc, USB_DIR_IN))
udc              1279 drivers/usb/gadget/udc/fsl_qe_udc.c 			qe_ep0_stall(udc);
udc              1284 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1288 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "Unexpected interrupt\n");
udc              1292 drivers/usb/gadget/udc/fsl_qe_udc.c 		qe_ep0_stall(udc);
udc              1304 drivers/usb/gadget/udc/fsl_qe_udc.c 			ep->udc->ep0_state = WAIT_FOR_SETUP;
udc              1323 drivers/usb/gadget/udc/fsl_qe_udc.c 			ep0_req_complete(ep->udc, ep->tx_req);
udc              1329 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(ep->udc->dev, "the ep0_controller have no req\n");
udc              1340 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(ep->udc->dev, "The EP0 transmit data have error!\n");
udc              1395 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(ep->udc->dev, "The EP0 transmit data have error!\n");
udc              1465 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc              1475 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_vdbg(udc->dev, "the req already finish!\n");
udc              1508 drivers/usb/gadget/udc/fsl_qe_udc.c 				dev_vdbg(udc->dev, "the data01 error!\n");
udc              1528 drivers/usb/gadget/udc/fsl_qe_udc.c 			dev_err(udc->dev, "The receive frame with error!\n");
udc              1578 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              1590 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = ep->udc;
udc              1591 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc->driver || (udc->gadget.speed == USB_SPEED_UNKNOWN))
udc              1596 drivers/usb/gadget/udc/fsl_qe_udc.c 	retval = qe_ep_init(udc, epnum, desc);
udc              1599 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_dbg(udc->dev, "enable ep%d failed\n", ep->epnum);
udc              1602 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_dbg(udc->dev, "enable ep%d successful\n", ep->epnum);
udc              1608 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              1614 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = ep->udc;
udc              1617 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_dbg(udc->dev, "%s not enabled\n", _ep ? ep->ep.name : NULL);
udc              1621 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1627 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_ep_reset(udc, ep->epnum);
udc              1628 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1642 drivers/usb/gadget/udc/fsl_qe_udc.c 			dma_unmap_single(udc->gadget.dev.parent,
udc              1648 drivers/usb/gadget/udc/fsl_qe_udc.c 					udc->gadget.dev.parent,
udc              1658 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_dbg(udc->dev, "disabled %s OK\n", _ep->name);
udc              1691 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              1694 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = ep->udc;
udc              1698 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_dbg(udc->dev, "bad params\n");
udc              1702 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_dbg(udc->dev, "bad ep\n");
udc              1706 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc              1713 drivers/usb/gadget/udc/fsl_qe_udc.c 		req->req.dma = dma_map_single(ep->udc->gadget.dev.parent,
udc              1721 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_device(ep->udc->gadget.dev.parent,
udc              1733 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_vdbg(udc->dev, "gadget have request in %s! %d\n",
udc              1743 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_state = DATA_STATE_XMIT;
udc              1745 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_state = DATA_STATE_RECV;
udc              1759 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = ep->udc;
udc              1763 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1765 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1779 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1788 drivers/usb/gadget/udc/fsl_qe_udc.c 		spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1794 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1809 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              1817 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = ep->udc;
udc              1826 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1829 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1832 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1833 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = 0;
udc              1840 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_vdbg(udc->dev, "%s %s halt stat %d\n", ep->ep.name,
udc              1866 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = container_of(gadget, struct qe_udc, gadget);
udc              1869 drivers/usb/gadget/udc/fsl_qe_udc.c 	tmp = in_be16(&udc->usb_param->frame_n);
udc              1889 drivers/usb/gadget/udc/fsl_qe_udc.c static int udc_reset_ep_queue(struct qe_udc *udc, u8 pipe)
udc              1891 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[pipe];
udc              1898 drivers/usb/gadget/udc/fsl_qe_udc.c static int reset_queues(struct qe_udc *udc)
udc              1903 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc_reset_ep_queue(udc, pipe);
udc              1906 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock(&udc->lock);
udc              1907 drivers/usb/gadget/udc/fsl_qe_udc.c 	usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc              1908 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock(&udc->lock);
udc              1913 drivers/usb/gadget/udc/fsl_qe_udc.c static void ch9setaddress(struct qe_udc *udc, u16 value, u16 index,
udc              1917 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->device_address = (u8) value;
udc              1919 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_ADDRESS;
udc              1922 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (ep0_prime_status(udc, USB_DIR_IN))
udc              1923 drivers/usb/gadget/udc/fsl_qe_udc.c 		qe_ep0_stall(udc);
udc              1934 drivers/usb/gadget/udc/fsl_qe_udc.c static void ch9getstatus(struct qe_udc *udc, u8 request_type, u16 value,
udc              1942 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep = &udc->eps[0];
udc              1953 drivers/usb/gadget/udc/fsl_qe_udc.c 		struct qe_ep *target_ep = &udc->eps[pipe];
udc              1960 drivers/usb/gadget/udc/fsl_qe_udc.c 		usep = in_be16(&udc->usb_regs->usb_usep[pipe]);
udc              1977 drivers/usb/gadget/udc/fsl_qe_udc.c 	req->req.buf = udc->statusbuf;
udc              1983 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = USB_DIR_IN;
udc              1991 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_err(udc->dev, "Can't respond to getstatus request \n");
udc              1992 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_ep0_stall(udc);
udc              1996 drivers/usb/gadget/udc/fsl_qe_udc.c static void setup_received_handle(struct qe_udc *udc,
udc              2005 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc_reset_ep_queue(udc, 0);
udc              2008 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_IN;
udc              2010 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_OUT;
udc              2018 drivers/usb/gadget/udc/fsl_qe_udc.c 		ch9getstatus(udc, setup->bRequestType, wValue, wIndex,
udc              2027 drivers/usb/gadget/udc/fsl_qe_udc.c 		ch9setaddress(udc, wValue, wIndex, wLength);
udc              2045 drivers/usb/gadget/udc/fsl_qe_udc.c 			ep = &udc->eps[pipe];
udc              2047 drivers/usb/gadget/udc/fsl_qe_udc.c 			spin_unlock(&udc->lock);
udc              2051 drivers/usb/gadget/udc/fsl_qe_udc.c 			spin_lock(&udc->lock);
udc              2054 drivers/usb/gadget/udc/fsl_qe_udc.c 		ep0_prime_status(udc, USB_DIR_IN);
udc              2065 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_state = DATA_STATE_XMIT;
udc              2066 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_dir = USB_DIR_IN;
udc              2068 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_state = DATA_STATE_RECV;
udc              2069 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->ep0_dir = USB_DIR_OUT;
udc              2071 drivers/usb/gadget/udc/fsl_qe_udc.c 		spin_unlock(&udc->lock);
udc              2072 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (udc->driver->setup(&udc->gadget,
udc              2073 drivers/usb/gadget/udc/fsl_qe_udc.c 					&udc->local_setup_buff) < 0)
udc              2074 drivers/usb/gadget/udc/fsl_qe_udc.c 			qe_ep0_stall(udc);
udc              2075 drivers/usb/gadget/udc/fsl_qe_udc.c 		spin_lock(&udc->lock);
udc              2078 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_dir = USB_DIR_IN;
udc              2079 drivers/usb/gadget/udc/fsl_qe_udc.c 		spin_unlock(&udc->lock);
udc              2080 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (udc->driver->setup(&udc->gadget,
udc              2081 drivers/usb/gadget/udc/fsl_qe_udc.c 					&udc->local_setup_buff) < 0)
udc              2082 drivers/usb/gadget/udc/fsl_qe_udc.c 			qe_ep0_stall(udc);
udc              2083 drivers/usb/gadget/udc/fsl_qe_udc.c 		spin_lock(&udc->lock);
udc              2084 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep0_state = DATA_STATE_NEED_ZLP;
udc              2091 drivers/usb/gadget/udc/fsl_qe_udc.c static void suspend_irq(struct qe_udc *udc)
udc              2093 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->resume_state = udc->usb_state;
udc              2094 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_SUSPENDED;
udc              2097 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->driver->suspend)
udc              2098 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->driver->suspend(&udc->gadget);
udc              2101 drivers/usb/gadget/udc/fsl_qe_udc.c static void resume_irq(struct qe_udc *udc)
udc              2103 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = udc->resume_state;
udc              2104 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->resume_state = 0;
udc              2107 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->driver->resume)
udc              2108 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->driver->resume(&udc->gadget);
udc              2111 drivers/usb/gadget/udc/fsl_qe_udc.c static void idle_irq(struct qe_udc *udc)
udc              2115 drivers/usb/gadget/udc/fsl_qe_udc.c 	usbs = in_8(&udc->usb_regs->usb_usbs);
udc              2117 drivers/usb/gadget/udc/fsl_qe_udc.c 		if ((udc->usb_state) != USB_STATE_SUSPENDED)
udc              2118 drivers/usb/gadget/udc/fsl_qe_udc.c 			suspend_irq(udc);
udc              2120 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (udc->usb_state == USB_STATE_SUSPENDED)
udc              2121 drivers/usb/gadget/udc/fsl_qe_udc.c 			resume_irq(udc);
udc              2125 drivers/usb/gadget/udc/fsl_qe_udc.c static int reset_irq(struct qe_udc *udc)
udc              2129 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->usb_state == USB_STATE_DEFAULT)
udc              2132 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_usb_disable(udc);
udc              2133 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_8(&udc->usb_regs->usb_usadr, 0);
udc              2136 drivers/usb/gadget/udc/fsl_qe_udc.c 		if (udc->eps[i].init)
udc              2137 drivers/usb/gadget/udc/fsl_qe_udc.c 			qe_ep_reset(udc, i);
udc              2140 drivers/usb/gadget/udc/fsl_qe_udc.c 	reset_queues(udc);
udc              2141 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_DEFAULT;
udc              2142 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              2143 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = USB_DIR_OUT;
udc              2144 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_usb_enable(udc);
udc              2148 drivers/usb/gadget/udc/fsl_qe_udc.c static int bsy_irq(struct qe_udc *udc)
udc              2153 drivers/usb/gadget/udc/fsl_qe_udc.c static int txe_irq(struct qe_udc *udc)
udc              2159 drivers/usb/gadget/udc/fsl_qe_udc.c static int tx_irq(struct qe_udc *udc)
udc              2165 drivers/usb/gadget/udc/fsl_qe_udc.c 	if ((udc->usb_state == USB_STATE_ADDRESS)
udc              2166 drivers/usb/gadget/udc/fsl_qe_udc.c 		&& (in_8(&udc->usb_regs->usb_usadr) == 0))
udc              2167 drivers/usb/gadget/udc/fsl_qe_udc.c 		out_8(&udc->usb_regs->usb_usadr, udc->device_address);
udc              2170 drivers/usb/gadget/udc/fsl_qe_udc.c 		ep = &udc->eps[i];
udc              2188 drivers/usb/gadget/udc/fsl_qe_udc.c static void rx_irq(struct qe_udc *udc)
udc              2195 drivers/usb/gadget/udc/fsl_qe_udc.c 		ep = &udc->eps[i];
udc              2201 drivers/usb/gadget/udc/fsl_qe_udc.c 					qe_ep0_rx(udc);
udc              2213 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = (struct qe_udc *)_udc;
udc              2218 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2220 drivers/usb/gadget/udc/fsl_qe_udc.c 	irq_src = in_be16(&udc->usb_regs->usb_usber) &
udc              2221 drivers/usb/gadget/udc/fsl_qe_udc.c 		in_be16(&udc->usb_regs->usb_usbmr);
udc              2223 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usber, irq_src);
udc              2226 drivers/usb/gadget/udc/fsl_qe_udc.c 		idle_irq(udc);
udc              2232 drivers/usb/gadget/udc/fsl_qe_udc.c 		tx_irq(udc);
udc              2238 drivers/usb/gadget/udc/fsl_qe_udc.c 		rx_irq(udc);
udc              2244 drivers/usb/gadget/udc/fsl_qe_udc.c 		reset_irq(udc);
udc              2250 drivers/usb/gadget/udc/fsl_qe_udc.c 		bsy_irq(udc);
udc              2256 drivers/usb/gadget/udc/fsl_qe_udc.c 		txe_irq(udc);
udc              2261 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2272 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              2275 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = container_of(gadget, struct qe_udc, gadget);
udc              2277 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2281 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->driver = driver;
udc              2282 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.speed = driver->max_speed;
udc              2285 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_usb_enable(udc);
udc              2287 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usber, 0xffff);
udc              2288 drivers/usb/gadget/udc/fsl_qe_udc.c 	out_be16(&udc->usb_regs->usb_usbmr, USB_E_DEFAULT_DEVICE);
udc              2289 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_ATTACHED;
udc              2290 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              2291 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = USB_DIR_OUT;
udc              2292 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2299 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              2303 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = container_of(gadget, struct qe_udc, gadget);
udc              2305 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_usb_disable(udc);
udc              2308 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_ATTACHED;
udc              2309 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              2310 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = 0;
udc              2313 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2314 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2315 drivers/usb/gadget/udc/fsl_qe_udc.c 	nuke(&udc->eps[0], -ESHUTDOWN);
udc              2316 drivers/usb/gadget/udc/fsl_qe_udc.c 	list_for_each_entry(loop_ep, &udc->gadget.ep_list, ep.ep_list)
udc              2318 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2320 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->driver = NULL;
udc              2328 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              2336 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = kzalloc(sizeof(*udc), GFP_KERNEL);
udc              2337 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc)
udc              2340 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->dev = &ofdev->dev;
udc              2344 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_param = cpm_muram_addr(offset);
udc              2345 drivers/usb/gadget/udc/fsl_qe_udc.c 	memset_io(udc->usb_param, 0, size);
udc              2347 drivers/usb/gadget/udc/fsl_qe_udc.c 	usbpram = udc->usb_param;
udc              2359 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep_param[i] = cpm_muram_addr(tmp_addr);
udc              2363 drivers/usb/gadget/udc/fsl_qe_udc.c 	memset_io(udc->ep_param[0], 0,
udc              2366 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->resume_state = USB_STATE_NOTATTACHED;
udc              2367 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_state = USB_STATE_POWERED;
udc              2368 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->ep0_dir = 0;
udc              2370 drivers/usb/gadget/udc/fsl_qe_udc.c 	spin_lock_init(&udc->lock);
udc              2371 drivers/usb/gadget/udc/fsl_qe_udc.c 	return udc;
udc              2374 drivers/usb/gadget/udc/fsl_qe_udc.c 	kfree(udc);
udc              2379 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_udc_reg_init(struct qe_udc *udc)
udc              2382 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_usbregs = udc->usb_regs;
udc              2397 drivers/usb/gadget/udc/fsl_qe_udc.c static int qe_ep_config(struct qe_udc *udc, unsigned char pipe_num)
udc              2399 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_ep *ep = &udc->eps[pipe_num];
udc              2401 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep->udc = udc;
udc              2436 drivers/usb/gadget/udc/fsl_qe_udc.c 		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              2438 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep->gadget = &udc->gadget;
udc              2448 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = container_of(dev, struct qe_udc, gadget.dev);
udc              2451 drivers/usb/gadget/udc/fsl_qe_udc.c 	complete(udc->done);
udc              2452 drivers/usb/gadget/udc/fsl_qe_udc.c 	cpm_muram_free(cpm_muram_offset(udc->ep_param[0]));
udc              2454 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->ep_param[i] = NULL;
udc              2456 drivers/usb/gadget/udc/fsl_qe_udc.c 	kfree(udc);
udc              2463 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc;
udc              2480 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc = qe_udc_config(ofdev);
udc              2481 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc) {
udc              2486 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->soc_type = (unsigned long)match->data;
udc              2487 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_regs = of_iomap(np, 0);
udc              2488 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc->usb_regs) {
udc              2495 drivers/usb/gadget/udc/fsl_qe_udc.c 	qe_udc_reg_init(udc);
udc              2499 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.ops = &qe_gadget_ops;
udc              2502 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.ep0 = &udc->eps[0].ep;
udc              2504 drivers/usb/gadget/udc/fsl_qe_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              2507 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2510 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.name = driver_name;
udc              2511 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->gadget.dev.parent = &ofdev->dev;
udc              2520 drivers/usb/gadget/udc/fsl_qe_udc.c 		qe_ep_config(udc, (unsigned char)i);
udc              2524 drivers/usb/gadget/udc/fsl_qe_udc.c 	ret = qe_ep_init(udc, 0, &qe_ep0_desc);
udc              2529 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->nullbuf = devm_kzalloc(&ofdev->dev, 256, GFP_KERNEL);
udc              2530 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->nullbuf == NULL) {
udc              2536 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->statusbuf = devm_kzalloc(&ofdev->dev, 2, GFP_KERNEL);
udc              2537 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->statusbuf == NULL) {
udc              2542 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->nullp = virt_to_phys((void *)udc->nullbuf);
udc              2543 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->nullp == DMA_ADDR_INVALID) {
udc              2544 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->nullp = dma_map_single(
udc              2545 drivers/usb/gadget/udc/fsl_qe_udc.c 					udc->gadget.dev.parent,
udc              2546 drivers/usb/gadget/udc/fsl_qe_udc.c 					udc->nullbuf,
udc              2549 drivers/usb/gadget/udc/fsl_qe_udc.c 		udc->nullmap = 1;
udc              2551 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_device(udc->gadget.dev.parent,
udc              2552 drivers/usb/gadget/udc/fsl_qe_udc.c 					udc->nullp, 256,
udc              2556 drivers/usb/gadget/udc/fsl_qe_udc.c 	tasklet_init(&udc->rx_tasklet, ep_rx_tasklet,
udc              2557 drivers/usb/gadget/udc/fsl_qe_udc.c 			(unsigned long)udc);
udc              2559 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->usb_irq = irq_of_parse_and_map(np, 0);
udc              2560 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (!udc->usb_irq) {
udc              2565 drivers/usb/gadget/udc/fsl_qe_udc.c 	ret = request_irq(udc->usb_irq, qe_udc_irq, 0,
udc              2566 drivers/usb/gadget/udc/fsl_qe_udc.c 				driver_name, udc);
udc              2568 drivers/usb/gadget/udc/fsl_qe_udc.c 		dev_err(udc->dev, "cannot request irq %d err %d\n",
udc              2569 drivers/usb/gadget/udc/fsl_qe_udc.c 				udc->usb_irq, ret);
udc              2573 drivers/usb/gadget/udc/fsl_qe_udc.c 	ret = usb_add_gadget_udc_release(&ofdev->dev, &udc->gadget,
udc              2578 drivers/usb/gadget/udc/fsl_qe_udc.c 	platform_set_drvdata(ofdev, udc);
udc              2579 drivers/usb/gadget/udc/fsl_qe_udc.c 	dev_info(udc->dev,
udc              2581 drivers/usb/gadget/udc/fsl_qe_udc.c 			(udc->soc_type == PORT_QE) ? "QE" : "CPM");
udc              2585 drivers/usb/gadget/udc/fsl_qe_udc.c 	free_irq(udc->usb_irq, udc);
udc              2587 drivers/usb/gadget/udc/fsl_qe_udc.c 	irq_dispose_mapping(udc->usb_irq);
udc              2589 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->nullmap) {
udc              2590 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_unmap_single(udc->gadget.dev.parent,
udc              2591 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp, 256,
udc              2593 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp = DMA_ADDR_INVALID;
udc              2595 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_cpu(udc->gadget.dev.parent,
udc              2596 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp, 256,
udc              2600 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep = &udc->eps[0];
udc              2606 drivers/usb/gadget/udc/fsl_qe_udc.c 	iounmap(udc->usb_regs);
udc              2608 drivers/usb/gadget/udc/fsl_qe_udc.c 	kfree(udc);
udc              2626 drivers/usb/gadget/udc/fsl_qe_udc.c 	struct qe_udc *udc = platform_get_drvdata(ofdev);
udc              2631 drivers/usb/gadget/udc/fsl_qe_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              2633 drivers/usb/gadget/udc/fsl_qe_udc.c 	udc->done = &done;
udc              2634 drivers/usb/gadget/udc/fsl_qe_udc.c 	tasklet_disable(&udc->rx_tasklet);
udc              2636 drivers/usb/gadget/udc/fsl_qe_udc.c 	if (udc->nullmap) {
udc              2637 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_unmap_single(udc->gadget.dev.parent,
udc              2638 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp, 256,
udc              2640 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp = DMA_ADDR_INVALID;
udc              2642 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_cpu(udc->gadget.dev.parent,
udc              2643 drivers/usb/gadget/udc/fsl_qe_udc.c 			udc->nullp, 256,
udc              2647 drivers/usb/gadget/udc/fsl_qe_udc.c 	ep = &udc->eps[0];
udc              2653 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_unmap_single(udc->gadget.dev.parent,
udc              2658 drivers/usb/gadget/udc/fsl_qe_udc.c 		dma_sync_single_for_cpu(udc->gadget.dev.parent,
udc              2666 drivers/usb/gadget/udc/fsl_qe_udc.c 	free_irq(udc->usb_irq, udc);
udc              2667 drivers/usb/gadget/udc/fsl_qe_udc.c 	irq_dispose_mapping(udc->usb_irq);
udc              2669 drivers/usb/gadget/udc/fsl_qe_udc.c 	tasklet_kill(&udc->rx_tasklet);
udc              2671 drivers/usb/gadget/udc/fsl_qe_udc.c 	iounmap(udc->usb_regs);
udc               154 drivers/usb/gadget/udc/fsl_qe_udc.h #define ep_is_in(EP)	((ep_index(EP) == 0) ? (EP->udc->ep0_dir == \
udc               264 drivers/usb/gadget/udc/fsl_qe_udc.h 	struct qe_udc *udc;
udc               158 drivers/usb/gadget/udc/fsl_udc_core.c __releases(ep->udc->lock)
udc               159 drivers/usb/gadget/udc/fsl_udc_core.c __acquires(ep->udc->lock)
udc               161 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = NULL;
udc               166 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = (struct fsl_udc *)ep->udc;
udc               183 drivers/usb/gadget/udc/fsl_udc_core.c 		dma_pool_free(udc->td_pool, curr_td, curr_td->td_dma);
udc               186 drivers/usb/gadget/udc/fsl_udc_core.c 	usb_gadget_unmap_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
udc               195 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock(&ep->udc->lock);
udc               199 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock(&ep->udc->lock);
udc               227 drivers/usb/gadget/udc/fsl_udc_core.c static int dr_controller_setup(struct fsl_udc *udc)
udc               239 drivers/usb/gadget/udc/fsl_udc_core.c 	switch (udc->phy_mode) {
udc               241 drivers/usb/gadget/udc/fsl_udc_core.c 		if (udc->pdata->have_sysif_regs) {
udc               242 drivers/usb/gadget/udc/fsl_udc_core.c 			if (udc->pdata->controller_ver) {
udc               257 drivers/usb/gadget/udc/fsl_udc_core.c 		if (udc->pdata->have_sysif_regs) {
udc               258 drivers/usb/gadget/udc/fsl_udc_core.c 			if (udc->pdata->controller_ver) {
udc               303 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->pdata->es)
udc               310 drivers/usb/gadget/udc/fsl_udc_core.c 	tmp = udc->ep_qh_dma;
udc               315 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep_qh, (int)tmp,
udc               328 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->pdata->have_sysif_regs) {
udc               339 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->pdata->have_sysif_regs) {
udc               352 drivers/usb/gadget/udc/fsl_udc_core.c static void dr_controller_run(struct fsl_udc *udc)
udc               364 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->stopped = 0;
udc               377 drivers/usb/gadget/udc/fsl_udc_core.c static void dr_controller_stop(struct fsl_udc *udc)
udc               387 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->gadget.is_otg) {
udc               398 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->stopped = 1;
udc               482 drivers/usb/gadget/udc/fsl_udc_core.c static void struct_ep_qh_setup(struct fsl_udc *udc, unsigned char ep_num,
udc               487 drivers/usb/gadget/udc/fsl_udc_core.c 	struct ep_queue_head *p_QH = &udc->ep_qh[2 * ep_num + dir];
udc               518 drivers/usb/gadget/udc/fsl_udc_core.c static void ep0_setup(struct fsl_udc *udc)
udc               522 drivers/usb/gadget/udc/fsl_udc_core.c 	struct_ep_qh_setup(udc, 0, USB_RECV, USB_ENDPOINT_XFER_CONTROL,
udc               524 drivers/usb/gadget/udc/fsl_udc_core.c 	struct_ep_qh_setup(udc, 0, USB_SEND, USB_ENDPOINT_XFER_CONTROL,
udc               546 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = NULL;
udc               560 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = ep->udc;
udc               562 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->driver || (udc->gadget.speed == USB_SPEED_UNKNOWN))
udc               594 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc               602 drivers/usb/gadget/udc/fsl_udc_core.c 	struct_ep_qh_setup(udc, (unsigned char) ep_index(ep),
udc               616 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               633 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = NULL;
udc               657 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = (struct fsl_udc *)ep->udc;
udc               658 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc               665 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               872 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc;
udc               891 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = ep->udc;
udc               892 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               897 drivers/usb/gadget/udc/fsl_udc_core.c 	ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
udc               907 drivers/usb/gadget/udc/fsl_udc_core.c 		spin_lock_irqsave(&udc->lock, flags);
udc               916 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               933 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc               990 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1008 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = NULL;
udc              1011 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = ep->udc;
udc              1032 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1034 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1037 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1038 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_dir = 0;
udc              1050 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc;
udc              1059 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = (struct fsl_udc *)ep->udc;
udc              1061 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc              1150 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = container_of(gadget, struct fsl_udc, gadget);
udc              1154 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->remote_wakeup)
udc              1167 drivers/usb/gadget/udc/fsl_udc_core.c static int can_pullup(struct fsl_udc *udc)
udc              1169 drivers/usb/gadget/udc/fsl_udc_core.c 	return udc->driver && udc->softconnect && udc->vbus_active;
udc              1176 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc	*udc;
udc              1179 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = container_of(gadget, struct fsl_udc, gadget);
udc              1180 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1182 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->vbus_active = (is_active != 0);
udc              1183 drivers/usb/gadget/udc/fsl_udc_core.c 	if (can_pullup(udc))
udc              1189 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1202 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc;
udc              1204 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = container_of(gadget, struct fsl_udc, gadget);
udc              1205 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1206 drivers/usb/gadget/udc/fsl_udc_core.c 		return usb_phy_set_power(udc->transceiver, mA);
udc              1215 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc;
udc              1217 drivers/usb/gadget/udc/fsl_udc_core.c 	udc = container_of(gadget, struct fsl_udc, gadget);
udc              1219 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->vbus_active)
udc              1222 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->softconnect = (is_on != 0);
udc              1223 drivers/usb/gadget/udc/fsl_udc_core.c 	if (can_pullup(udc))
udc              1256 drivers/usb/gadget/udc/fsl_udc_core.c static void ep0stall(struct fsl_udc *udc)
udc              1264 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              1265 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_dir = 0;
udc              1269 drivers/usb/gadget/udc/fsl_udc_core.c static int ep0_prime_status(struct fsl_udc *udc, int direction)
udc              1271 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_req *req = udc->status_req;
udc              1276 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_dir = USB_DIR_IN;
udc              1278 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_dir = USB_DIR_OUT;
udc              1280 drivers/usb/gadget/udc/fsl_udc_core.c 	ep = &udc->eps[0];
udc              1281 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->ep0_state != DATA_STATE_XMIT)
udc              1282 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1291 drivers/usb/gadget/udc/fsl_udc_core.c 	ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
udc              1305 drivers/usb/gadget/udc/fsl_udc_core.c static void udc_reset_ep_queue(struct fsl_udc *udc, u8 pipe)
udc              1307 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_ep *ep = get_ep_by_pipe(udc, pipe);
udc              1316 drivers/usb/gadget/udc/fsl_udc_core.c static void ch9setaddress(struct fsl_udc *udc, u16 value, u16 index, u16 length)
udc              1319 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->device_address = (u8) value;
udc              1321 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->usb_state = USB_STATE_ADDRESS;
udc              1323 drivers/usb/gadget/udc/fsl_udc_core.c 	if (ep0_prime_status(udc, EP_DIR_IN))
udc              1324 drivers/usb/gadget/udc/fsl_udc_core.c 		ep0stall(udc);
udc              1330 drivers/usb/gadget/udc/fsl_udc_core.c static void ch9getstatus(struct fsl_udc *udc, u8 request_type, u16 value,
udc              1338 drivers/usb/gadget/udc/fsl_udc_core.c 	ep = &udc->eps[0];
udc              1342 drivers/usb/gadget/udc/fsl_udc_core.c 		tmp = udc->gadget.is_selfpowered;
udc              1343 drivers/usb/gadget/udc/fsl_udc_core.c 		tmp |= udc->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP;
udc              1352 drivers/usb/gadget/udc/fsl_udc_core.c 		target_ep = get_ep_by_pipe(udc, get_pipe_by_windex(index));
udc              1361 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_dir = USB_DIR_IN;
udc              1363 drivers/usb/gadget/udc/fsl_udc_core.c 	req = udc->status_req;
udc              1374 drivers/usb/gadget/udc/fsl_udc_core.c 	ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
udc              1385 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_state = DATA_STATE_XMIT;
udc              1386 drivers/usb/gadget/udc/fsl_udc_core.c 	if (ep0_prime_status(udc, EP_DIR_OUT))
udc              1387 drivers/usb/gadget/udc/fsl_udc_core.c 		ep0stall(udc);
udc              1391 drivers/usb/gadget/udc/fsl_udc_core.c 	ep0stall(udc);
udc              1394 drivers/usb/gadget/udc/fsl_udc_core.c static void setup_received_irq(struct fsl_udc *udc,
udc              1396 drivers/usb/gadget/udc/fsl_udc_core.c __releases(udc->lock)
udc              1397 drivers/usb/gadget/udc/fsl_udc_core.c __acquires(udc->lock)
udc              1403 drivers/usb/gadget/udc/fsl_udc_core.c 	udc_reset_ep_queue(udc, 0);
udc              1412 drivers/usb/gadget/udc/fsl_udc_core.c 		ch9getstatus(udc, setup->bRequestType, wValue, wIndex, wLength);
udc              1420 drivers/usb/gadget/udc/fsl_udc_core.c 		ch9setaddress(udc, wValue, wIndex, wLength);
udc              1435 drivers/usb/gadget/udc/fsl_udc_core.c 			if (wValue != 0 || wLength != 0 || pipe >= udc->max_ep)
udc              1437 drivers/usb/gadget/udc/fsl_udc_core.c 			ep = get_ep_by_pipe(udc, pipe);
udc              1439 drivers/usb/gadget/udc/fsl_udc_core.c 			spin_unlock(&udc->lock);
udc              1443 drivers/usb/gadget/udc/fsl_udc_core.c 			spin_lock(&udc->lock);
udc              1452 drivers/usb/gadget/udc/fsl_udc_core.c 			else if (gadget_is_otg(&udc->gadget)) {
udc              1455 drivers/usb/gadget/udc/fsl_udc_core.c 					udc->gadget.b_hnp_enable = 1;
udc              1458 drivers/usb/gadget/udc/fsl_udc_core.c 					udc->gadget.a_hnp_support = 1;
udc              1461 drivers/usb/gadget/udc/fsl_udc_core.c 					udc->gadget.a_alt_hnp_support = 1;
udc              1468 drivers/usb/gadget/udc/fsl_udc_core.c 			if (ep0_prime_status(udc, EP_DIR_IN))
udc              1469 drivers/usb/gadget/udc/fsl_udc_core.c 				ep0stall(udc);
udc              1490 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_dir = (setup->bRequestType & USB_DIR_IN)
udc              1492 drivers/usb/gadget/udc/fsl_udc_core.c 		spin_unlock(&udc->lock);
udc              1493 drivers/usb/gadget/udc/fsl_udc_core.c 		if (udc->driver->setup(&udc->gadget,
udc              1494 drivers/usb/gadget/udc/fsl_udc_core.c 				&udc->local_setup_buff) < 0)
udc              1495 drivers/usb/gadget/udc/fsl_udc_core.c 			ep0stall(udc);
udc              1496 drivers/usb/gadget/udc/fsl_udc_core.c 		spin_lock(&udc->lock);
udc              1497 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = (setup->bRequestType & USB_DIR_IN)
udc              1503 drivers/usb/gadget/udc/fsl_udc_core.c 		if (udc->ep0_state == DATA_STATE_XMIT)
udc              1504 drivers/usb/gadget/udc/fsl_udc_core.c 			if (ep0_prime_status(udc, EP_DIR_OUT))
udc              1505 drivers/usb/gadget/udc/fsl_udc_core.c 				ep0stall(udc);
udc              1509 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_dir = USB_DIR_IN;
udc              1510 drivers/usb/gadget/udc/fsl_udc_core.c 		spin_unlock(&udc->lock);
udc              1511 drivers/usb/gadget/udc/fsl_udc_core.c 		if (udc->driver->setup(&udc->gadget,
udc              1512 drivers/usb/gadget/udc/fsl_udc_core.c 				&udc->local_setup_buff) < 0)
udc              1513 drivers/usb/gadget/udc/fsl_udc_core.c 			ep0stall(udc);
udc              1514 drivers/usb/gadget/udc/fsl_udc_core.c 		spin_lock(&udc->lock);
udc              1515 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1521 drivers/usb/gadget/udc/fsl_udc_core.c static void ep0_req_complete(struct fsl_udc *udc, struct fsl_ep *ep0,
udc              1524 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->usb_state == USB_STATE_ADDRESS) {
udc              1526 drivers/usb/gadget/udc/fsl_udc_core.c 		u32 new_address = (u32) udc->device_address;
udc              1533 drivers/usb/gadget/udc/fsl_udc_core.c 	switch (udc->ep0_state) {
udc              1536 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1540 drivers/usb/gadget/udc/fsl_udc_core.c 		if (ep0_prime_status(udc, EP_DIR_IN))
udc              1541 drivers/usb/gadget/udc/fsl_udc_core.c 			ep0stall(udc);
udc              1544 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1550 drivers/usb/gadget/udc/fsl_udc_core.c 		ep0stall(udc);
udc              1557 drivers/usb/gadget/udc/fsl_udc_core.c static void tripwire_handler(struct fsl_udc *udc, u8 ep_num, u8 *buffer_ptr)
udc              1561 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_usb2_platform_data *pdata = udc->pdata;
udc              1563 drivers/usb/gadget/udc/fsl_udc_core.c 	qh = &udc->ep_qh[ep_num * 2 + EP_DIR_OUT];
udc              1594 drivers/usb/gadget/udc/fsl_udc_core.c static int process_ep_req(struct fsl_udc *udc, int pipe,
udc              1601 drivers/usb/gadget/udc/fsl_udc_core.c 	struct  ep_queue_head *curr_qh = &udc->ep_qh[pipe];
udc              1671 drivers/usb/gadget/udc/fsl_udc_core.c static void dtd_complete_irq(struct fsl_udc *udc)
udc              1685 drivers/usb/gadget/udc/fsl_udc_core.c 	for (i = 0; i < udc->max_ep; i++) {
udc              1694 drivers/usb/gadget/udc/fsl_udc_core.c 		curr_ep = get_ep_by_pipe(udc, i);
udc              1705 drivers/usb/gadget/udc/fsl_udc_core.c 			status = process_ep_req(udc, i, curr_req);
udc              1715 drivers/usb/gadget/udc/fsl_udc_core.c 				ep0_req_complete(udc, curr_ep, curr_req);
udc              1738 drivers/usb/gadget/udc/fsl_udc_core.c static void port_change_irq(struct fsl_udc *udc)
udc              1740 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->bus_reset)
udc              1741 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->bus_reset = 0;
udc              1746 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->gadget.speed =
udc              1750 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->resume_state)
udc              1751 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->usb_state = USB_STATE_DEFAULT;
udc              1755 drivers/usb/gadget/udc/fsl_udc_core.c static void suspend_irq(struct fsl_udc *udc)
udc              1757 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->resume_state = udc->usb_state;
udc              1758 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->usb_state = USB_STATE_SUSPENDED;
udc              1761 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->driver->suspend)
udc              1762 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->driver->suspend(&udc->gadget);
udc              1765 drivers/usb/gadget/udc/fsl_udc_core.c static void bus_resume(struct fsl_udc *udc)
udc              1767 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->usb_state = udc->resume_state;
udc              1768 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->resume_state = 0;
udc              1771 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->driver->resume)
udc              1772 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->driver->resume(&udc->gadget);
udc              1776 drivers/usb/gadget/udc/fsl_udc_core.c static int reset_queues(struct fsl_udc *udc, bool bus_reset)
udc              1780 drivers/usb/gadget/udc/fsl_udc_core.c 	for (pipe = 0; pipe < udc->max_pipes; pipe++)
udc              1781 drivers/usb/gadget/udc/fsl_udc_core.c 		udc_reset_ep_queue(udc, pipe);
udc              1784 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock(&udc->lock);
udc              1786 drivers/usb/gadget/udc/fsl_udc_core.c 		usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc              1788 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->driver->disconnect(&udc->gadget);
udc              1789 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock(&udc->lock);
udc              1795 drivers/usb/gadget/udc/fsl_udc_core.c static void reset_irq(struct fsl_udc *udc)
udc              1804 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->device_address = 0;
udc              1807 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->resume_state = 0;
udc              1808 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_dir = 0;
udc              1809 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              1810 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->remote_wakeup = 0;	/* default to 0 on reset */
udc              1811 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->gadget.b_hnp_enable = 0;
udc              1812 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->gadget.a_hnp_support = 0;
udc              1813 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->gadget.a_alt_hnp_support = 0;
udc              1839 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->bus_reset = 1;
udc              1842 drivers/usb/gadget/udc/fsl_udc_core.c 		reset_queues(udc, true);
udc              1843 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->usb_state = USB_STATE_DEFAULT;
udc              1848 drivers/usb/gadget/udc/fsl_udc_core.c 		dr_controller_setup(udc);
udc              1851 drivers/usb/gadget/udc/fsl_udc_core.c 		reset_queues(udc, false);
udc              1853 drivers/usb/gadget/udc/fsl_udc_core.c 		ep0_setup(udc);
udc              1856 drivers/usb/gadget/udc/fsl_udc_core.c 		dr_controller_run(udc);
udc              1857 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->usb_state = USB_STATE_ATTACHED;
udc              1866 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = _udc;
udc              1872 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->stopped)
udc              1874 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1882 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->usb_state == USB_STATE_SUSPENDED)
udc              1884 drivers/usb/gadget/udc/fsl_udc_core.c 			bus_resume(udc);
udc              1891 drivers/usb/gadget/udc/fsl_udc_core.c 			tripwire_handler(udc, 0,
udc              1892 drivers/usb/gadget/udc/fsl_udc_core.c 					(u8 *) (&udc->local_setup_buff));
udc              1893 drivers/usb/gadget/udc/fsl_udc_core.c 			setup_received_irq(udc, &udc->local_setup_buff);
udc              1899 drivers/usb/gadget/udc/fsl_udc_core.c 			dtd_complete_irq(udc);
udc              1911 drivers/usb/gadget/udc/fsl_udc_core.c 		port_change_irq(udc);
udc              1918 drivers/usb/gadget/udc/fsl_udc_core.c 		reset_irq(udc);
udc              1924 drivers/usb/gadget/udc/fsl_udc_core.c 		suspend_irq(udc);
udc              1932 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2030 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = udc_controller;
udc              2032 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2040 drivers/usb/gadget/udc/fsl_udc_core.c 			udc->driver ? udc->driver->driver.name : "(none)");
udc              2152 drivers/usb/gadget/udc/fsl_udc_core.c 	for (i = 0; i < udc->max_ep / 2; i++) {
udc              2160 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->pdata->have_sysif_regs) {
udc              2170 drivers/usb/gadget/udc/fsl_udc_core.c 	ep = &udc->eps[0];
udc              2185 drivers/usb/gadget/udc/fsl_udc_core.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
udc              2207 drivers/usb/gadget/udc/fsl_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2242 drivers/usb/gadget/udc/fsl_udc_core.c static int struct_udc_setup(struct fsl_udc *udc,
udc              2249 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->phy_mode = pdata->phy_mode;
udc              2251 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->eps = kcalloc(udc->max_ep, sizeof(struct fsl_ep), GFP_KERNEL);
udc              2252 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->eps) {
udc              2258 drivers/usb/gadget/udc/fsl_udc_core.c 	size = udc->max_ep * sizeof(struct ep_queue_head);
udc              2265 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep_qh = dma_alloc_coherent(&pdev->dev, size,
udc              2266 drivers/usb/gadget/udc/fsl_udc_core.c 					&udc->ep_qh_dma, GFP_KERNEL);
udc              2267 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->ep_qh) {
udc              2272 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep_qh_size = size;
udc              2276 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->status_req = container_of(fsl_alloc_request(NULL, GFP_KERNEL),
udc              2278 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->status_req) {
udc              2284 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->status_req->req.buf = kmalloc(8, GFP_KERNEL);
udc              2285 drivers/usb/gadget/udc/fsl_udc_core.c 	if (!udc->status_req->req.buf) {
udc              2290 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->resume_state = USB_STATE_NOTATTACHED;
udc              2291 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->usb_state = USB_STATE_POWERED;
udc              2292 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep0_dir = 0;
udc              2293 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->remote_wakeup = 0;	/* default to 0 on reset */
udc              2298 drivers/usb/gadget/udc/fsl_udc_core.c 	kfree(udc->status_req);
udc              2300 drivers/usb/gadget/udc/fsl_udc_core.c 	kfree(udc->ep_qh);
udc              2301 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->ep_qh_size = 0;
udc              2303 drivers/usb/gadget/udc/fsl_udc_core.c 	kfree(udc->eps);
udc              2305 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->phy_mode = 0;
udc              2316 drivers/usb/gadget/udc/fsl_udc_core.c static int struct_ep_setup(struct fsl_udc *udc, unsigned char index,
udc              2319 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_ep *ep = &udc->eps[index];
udc              2321 drivers/usb/gadget/udc/fsl_udc_core.c 	ep->udc = udc;
udc              2351 drivers/usb/gadget/udc/fsl_udc_core.c 		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              2352 drivers/usb/gadget/udc/fsl_udc_core.c 	ep->gadget = &udc->gadget;
udc              2353 drivers/usb/gadget/udc/fsl_udc_core.c 	ep->qh = &udc->ep_qh[index];
udc              2624 drivers/usb/gadget/udc/fsl_udc_core.c 	struct fsl_udc *udc = udc_controller;
udc              2629 drivers/usb/gadget/udc/fsl_udc_core.c 	pr_debug("%s(): mode 0x%x stopped %d\n", __func__, mode, udc->stopped);
udc              2636 drivers/usb/gadget/udc/fsl_udc_core.c 	if (udc->stopped) {
udc              2638 drivers/usb/gadget/udc/fsl_udc_core.c 		udc->already_stopped = 1;
udc              2651 drivers/usb/gadget/udc/fsl_udc_core.c 	udc->stopped = 1;
udc               461 drivers/usb/gadget/udc/fsl_usb2_udc.h 	struct fsl_udc *udc;
udc               572 drivers/usb/gadget/udc/fsl_usb2_udc.h #define ep_is_in(EP)	( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \
udc               575 drivers/usb/gadget/udc/fsl_usb2_udc.h #define get_ep_by_pipe(udc, pipe)	((pipe == 1)? &udc->eps[0]: \
udc               576 drivers/usb/gadget/udc/fsl_usb2_udc.h 					&udc->eps[pipe])
udc               587 drivers/usb/gadget/udc/fsl_usb2_udc.h 		return &ep->udc->ep_qh[(ep->udc->ep0_dir ==
udc               101 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc	*udc;
udc               189 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_dbg(epp->udc->dev, "%s: " fmt, __func__, ## arg)
udc               191 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_err(epp->udc->dev, "%s: " fmt, __func__, ## arg)
udc               193 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(epp->udc->dev, "%s: " fmt, __func__, ## arg)
udc               195 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_warn(epp->udc->dev, "%s:" fmt, __func__, ## arg)
udc               500 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = s->private;
udc               506 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               509 drivers/usb/gadget/udc/lpc32xx_udc.c 		   udc->vbus ? "present" : "off",
udc               510 drivers/usb/gadget/udc/lpc32xx_udc.c 		   udc->enabled ? (udc->vbus ? "active" : "enabled") :
udc               512 drivers/usb/gadget/udc/lpc32xx_udc.c 		   udc->gadget.is_selfpowered ? "self" : "VBUS",
udc               513 drivers/usb/gadget/udc/lpc32xx_udc.c 		   udc->suspended ? ", suspended" : "",
udc               514 drivers/usb/gadget/udc/lpc32xx_udc.c 		   udc->driver ? udc->driver->driver.name : "(none)");
udc               516 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->enabled && udc->vbus) {
udc               517 drivers/usb/gadget/udc/lpc32xx_udc.c 		proc_ep_show(s, &udc->ep[0]);
udc               518 drivers/usb/gadget/udc/lpc32xx_udc.c 		list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list)
udc               522 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               540 drivers/usb/gadget/udc/lpc32xx_udc.c static void create_debug_file(struct lpc32xx_udc *udc)
udc               542 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->pde = debugfs_create_file(debug_filename, 0, NULL, udc, &proc_ops);
udc               545 drivers/usb/gadget/udc/lpc32xx_udc.c static void remove_debug_file(struct lpc32xx_udc *udc)
udc               547 drivers/usb/gadget/udc/lpc32xx_udc.c 	debugfs_remove(udc->pde);
udc               551 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void create_debug_file(struct lpc32xx_udc *udc) {}
udc               552 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void remove_debug_file(struct lpc32xx_udc *udc) {}
udc               556 drivers/usb/gadget/udc/lpc32xx_udc.c static void isp1301_udc_configure(struct lpc32xx_udc *udc)
udc               561 drivers/usb/gadget/udc/lpc32xx_udc.c 	vendor = i2c_smbus_read_word_data(udc->isp1301_i2c_client, 0x00);
udc               562 drivers/usb/gadget/udc/lpc32xx_udc.c 	product = i2c_smbus_read_word_data(udc->isp1301_i2c_client, 0x02);
udc               565 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->atx = STOTG04;
udc               571 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               576 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               578 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               584 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               588 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->atx != STOTG04)
udc               590 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               594 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->board->vbus_drv_pol != 0)
udc               595 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               598 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               605 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               607 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               612 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               615 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               619 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               622 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               624 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               627 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(udc->dev, "ISP1301 Vendor ID  : 0x%04x\n", vendor);
udc               628 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(udc->dev, "ISP1301 Product ID : 0x%04x\n", product);
udc               629 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(udc->dev, "ISP1301 Version ID : 0x%04x\n",
udc               630 drivers/usb/gadget/udc/lpc32xx_udc.c 		 i2c_smbus_read_word_data(udc->isp1301_i2c_client, 0x14));
udc               635 drivers/usb/gadget/udc/lpc32xx_udc.c static void isp1301_pullup_set(struct lpc32xx_udc *udc)
udc               637 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->pullup)
udc               639 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               643 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               650 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc =
udc               653 drivers/usb/gadget/udc/lpc32xx_udc.c 	isp1301_pullup_set(udc);
udc               656 drivers/usb/gadget/udc/lpc32xx_udc.c static void isp1301_pullup_enable(struct lpc32xx_udc *udc, int en_pullup,
udc               659 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (en_pullup == udc->pullup)
udc               662 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->pullup = en_pullup;
udc               664 drivers/usb/gadget/udc/lpc32xx_udc.c 		isp1301_pullup_set(udc);
udc               667 drivers/usb/gadget/udc/lpc32xx_udc.c 		schedule_work(&udc->pullup_job);
udc               672 drivers/usb/gadget/udc/lpc32xx_udc.c static void isp1301_set_powerstate(struct lpc32xx_udc *udc, int enable)
udc               675 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->atx == STOTG04)
udc               681 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               686 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc               692 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc =
udc               695 drivers/usb/gadget/udc/lpc32xx_udc.c 	isp1301_set_powerstate(udc, udc->poweron);
udc               705 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_protocol_cmd_w(struct lpc32xx_udc *udc, u32 cmd)
udc               711 drivers/usb/gadget/udc/lpc32xx_udc.c 	u32 tmp = readl(USBD_DEVINTST(udc->udp_baseaddr));
udc               715 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel(USBD_CCEMPTY, USBD_DEVINTCLR(udc->udp_baseaddr));
udc               718 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel(cmd, USBD_CMDCODE(udc->udp_baseaddr));
udc               720 drivers/usb/gadget/udc/lpc32xx_udc.c 		while (((readl(USBD_DEVINTST(udc->udp_baseaddr)) &
udc               733 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void udc_protocol_cmd_data_w(struct lpc32xx_udc *udc, u32 cmd,
udc               736 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, cmd);
udc               737 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, data);
udc               742 drivers/usb/gadget/udc/lpc32xx_udc.c static u32 udc_protocol_cmd_r(struct lpc32xx_udc *udc, u32 cmd)
udc               748 drivers/usb/gadget/udc/lpc32xx_udc.c 		     USBD_DEVINTCLR(udc->udp_baseaddr));
udc               751 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, cmd);
udc               753 drivers/usb/gadget/udc/lpc32xx_udc.c 	while ((!(readl(USBD_DEVINTST(udc->udp_baseaddr)) & USBD_CDFULL))
udc               757 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev,
udc               760 drivers/usb/gadget/udc/lpc32xx_udc.c 	return readl(USBD_CMDDATA(udc->udp_baseaddr));
udc               769 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void uda_enable_devint(struct lpc32xx_udc *udc, u32 devmask)
udc               771 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled_devints |= devmask;
udc               772 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->enabled_devints, USBD_DEVINTEN(udc->udp_baseaddr));
udc               776 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void uda_disable_devint(struct lpc32xx_udc *udc, u32 mask)
udc               778 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled_devints &= ~mask;
udc               779 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->enabled_devints, USBD_DEVINTEN(udc->udp_baseaddr));
udc               783 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void uda_clear_devint(struct lpc32xx_udc *udc, u32 mask)
udc               785 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(mask, USBD_DEVINTCLR(udc->udp_baseaddr));
udc               794 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_enable_hwepint(struct lpc32xx_udc *udc, u32 hwep)
udc               796 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled_hwepints |= (1 << hwep);
udc               797 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->enabled_hwepints, USBD_EPINTEN(udc->udp_baseaddr));
udc               801 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_disable_hwepint(struct lpc32xx_udc *udc, u32 hwep)
udc               803 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled_hwepints &= ~(1 << hwep);
udc               804 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->enabled_hwepints, USBD_EPINTEN(udc->udp_baseaddr));
udc               808 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void uda_clear_hwepint(struct lpc32xx_udc *udc, u32 hwep)
udc               810 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel((1 << hwep), USBD_EPINTCLR(udc->udp_baseaddr));
udc               814 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void udc_ep_dma_enable(struct lpc32xx_udc *udc, u32 hwep)
udc               816 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel((1 << hwep), USBD_EPDMAEN(udc->udp_baseaddr));
udc               820 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void udc_ep_dma_disable(struct lpc32xx_udc *udc, u32 hwep)
udc               822 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel((1 << hwep), USBD_EPDMADIS(udc->udp_baseaddr));
udc               833 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_realize_hwep(struct lpc32xx_udc *udc, u32 hwep,
udc               838 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(USBD_EP_RLZED, USBD_DEVINTCLR(udc->udp_baseaddr));
udc               839 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(hwep, USBD_EPIND(udc->udp_baseaddr));
udc               840 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->realized_eps |= (1 << hwep);
udc               841 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->realized_eps, USBD_REEP(udc->udp_baseaddr));
udc               842 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(maxpacket, USBD_EPMAXPSIZE(udc->udp_baseaddr));
udc               845 drivers/usb/gadget/udc/lpc32xx_udc.c 	while ((!(readl(USBD_DEVINTST(udc->udp_baseaddr)) &
udc               849 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "EP not correctly realized in hardware\n");
udc               851 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(USBD_EP_RLZED, USBD_DEVINTCLR(udc->udp_baseaddr));
udc               855 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_unrealize_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               857 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->realized_eps &= ~(1 << hwep);
udc               858 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->realized_eps, USBD_REEP(udc->udp_baseaddr));
udc               867 drivers/usb/gadget/udc/lpc32xx_udc.c static u32 udc_selep_clrint(struct lpc32xx_udc *udc, u32 hwep)
udc               869 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_SEL_EP_CLRI(hwep));
udc               870 drivers/usb/gadget/udc/lpc32xx_udc.c 	return udc_protocol_cmd_r(udc, DAT_SEL_EP_CLRI(hwep));
udc               874 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_disable_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               876 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(hwep),
udc               881 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_stall_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               883 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(hwep),
udc               888 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_clrstall_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               890 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(hwep),
udc               895 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_select_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               897 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_SEL_EP(hwep));
udc               906 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_clr_buffer_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               908 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_select_hwep(udc, hwep);
udc               909 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_CLR_BUF);
udc               913 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_val_buffer_hwep(struct lpc32xx_udc *udc, u32 hwep)
udc               915 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_select_hwep(udc, hwep);
udc               916 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_VALID_BUF);
udc               919 drivers/usb/gadget/udc/lpc32xx_udc.c static inline u32 udc_clearep_getsts(struct lpc32xx_udc *udc, u32 hwep)
udc               922 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_clear_hwepint(udc, hwep);
udc               923 drivers/usb/gadget/udc/lpc32xx_udc.c 	return udc_selep_clrint(udc, hwep);
udc               932 drivers/usb/gadget/udc/lpc32xx_udc.c static struct lpc32xx_usbd_dd_gad *udc_dd_alloc(struct lpc32xx_udc *udc)
udc               937 drivers/usb/gadget/udc/lpc32xx_udc.c 	dd = dma_pool_alloc(udc->dd_cache, GFP_ATOMIC | GFP_DMA, &dma);
udc               945 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_dd_free(struct lpc32xx_udc *udc, struct lpc32xx_usbd_dd_gad *dd)
udc               947 drivers/usb/gadget/udc/lpc32xx_udc.c 	dma_pool_free(udc->dd_cache, dd, dd->this_dma);
udc               958 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_clk_set(struct lpc32xx_udc *udc, int enable)
udc               961 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc->clocked)
udc               964 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->clocked = 1;
udc               965 drivers/usb/gadget/udc/lpc32xx_udc.c 		clk_prepare_enable(udc->usb_slv_clk);
udc               967 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (!udc->clocked)
udc               970 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->clocked = 0;
udc               971 drivers/usb/gadget/udc/lpc32xx_udc.c 		clk_disable_unprepare(udc->usb_slv_clk);
udc               976 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_set_address(struct lpc32xx_udc *udc, u32 addr)
udc               980 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_ADDR,
udc               987 drivers/usb/gadget/udc/lpc32xx_udc.c static int udc_ep_in_req_dma(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
udc               998 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udca_v_base[hwep] = req->dd_desc_ptr->this_dma;
udc              1001 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep_dma_enable(udc, hwep);
udc              1013 drivers/usb/gadget/udc/lpc32xx_udc.c static int udc_ep_out_req_dma(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
udc              1024 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udca_v_base[hwep] = req->dd_desc_ptr->this_dma;
udc              1027 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep_dma_enable(udc, hwep);
udc              1031 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_disable(struct lpc32xx_udc *udc)
udc              1036 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_CFG_DEV, DAT_WR_BYTE(0));
udc              1037 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_DEV_STAT, DAT_WR_BYTE(0));
udc              1040 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_disable_devint(udc, 0x3FF);
udc              1044 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_disable_hwepint(udc, i);
udc              1045 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_clear_hwepint(udc, i);
udc              1046 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_disable_hwep(udc, i);
udc              1047 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_unrealize_hwep(udc, i);
udc              1048 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->udca_v_base[i] = 0;
udc              1051 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_ep_dma_disable(udc, i);
udc              1052 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel((1 << i), USBD_EOTINTCLR(udc->udp_baseaddr));
udc              1053 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel((1 << i), USBD_NDDRTINTCLR(udc->udp_baseaddr));
udc              1054 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel((1 << i), USBD_SYSERRTINTCLR(udc->udp_baseaddr));
udc              1055 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel((1 << i), USBD_DMARCLR(udc->udp_baseaddr));
udc              1059 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(0, USBD_DMAINTEN(udc->udp_baseaddr));
udc              1061 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(0, USBD_UDCAH(udc->udp_baseaddr));
udc              1064 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_enable(struct lpc32xx_udc *udc)
udc              1067 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep = &udc->ep[0];
udc              1070 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_disable(udc);
udc              1073 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_SET_DEV_STAT, DAT_WR_BYTE(DEV_CON));
udc              1076 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(USBD_EP_FAST, USBD_DEVINTPRI(udc->udp_baseaddr));
udc              1077 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(0xFFFF, USBD_EPINTPRI(udc->udp_baseaddr));
udc              1080 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(0x3FF, USBD_DEVINTCLR(udc->udp_baseaddr));
udc              1083 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(udc->udca_p_base, USBD_UDCAH(udc->udp_baseaddr));
udc              1087 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_realize_hwep(udc, i, ep->ep.maxpacket);
udc              1088 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_enable_hwepint(udc, i);
udc              1089 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_select_hwep(udc, i);
udc              1090 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clrstall_hwep(udc, i);
udc              1091 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clr_buffer_hwep(udc, i);
udc              1095 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_clear_devint(udc, (USBD_ERR_INT | USBD_DEV_STAT | USBD_EP_SLOW |
udc              1097 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_enable_devint(udc, (USBD_ERR_INT | USBD_DEV_STAT | USBD_EP_SLOW |
udc              1102 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_set_address(udc, 0);
udc              1103 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_set_address(udc, 0);
udc              1107 drivers/usb/gadget/udc/lpc32xx_udc.c 		     USBD_DMAINTEN(udc->udp_baseaddr));
udc              1109 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->dev_status = 0;
udc              1118 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_power_event(struct lpc32xx_udc *udc, u32 conn)
udc              1121 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->board->conn_chgb != NULL)
udc              1122 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->board->conn_chgb(conn);
udc              1126 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_resm_susp_event(struct lpc32xx_udc *udc, u32 conn)
udc              1129 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->board->susp_chgb != NULL)
udc              1130 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->board->susp_chgb(conn);
udc              1133 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->suspended = 0;
udc              1135 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->suspended = 1;
udc              1139 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_remwkp_cgh(struct lpc32xx_udc *udc)
udc              1141 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->board->rmwk_chgb != NULL)
udc              1142 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->board->rmwk_chgb(udc->dev_status &
udc              1147 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_pop_fifo(struct lpc32xx_udc *udc, u8 *data, u32 bytes)
udc              1161 drivers/usb/gadget/udc/lpc32xx_udc.c 			*p32++ = readl(USBD_RXDATA(udc->udp_baseaddr));
udc              1166 drivers/usb/gadget/udc/lpc32xx_udc.c 			tmp = readl(USBD_RXDATA(udc->udp_baseaddr));
udc              1177 drivers/usb/gadget/udc/lpc32xx_udc.c 			tmp = readl(USBD_RXDATA(udc->udp_baseaddr));
udc              1194 drivers/usb/gadget/udc/lpc32xx_udc.c 			tmp = readl(USBD_RXDATA(udc->udp_baseaddr));
udc              1202 drivers/usb/gadget/udc/lpc32xx_udc.c 			tmp = readl(USBD_RXDATA(udc->udp_baseaddr));
udc              1214 drivers/usb/gadget/udc/lpc32xx_udc.c static u32 udc_read_hwep(struct lpc32xx_udc *udc, u32 hwep, u32 *data,
udc              1222 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(hwrep, USBD_CTRL(udc->udp_baseaddr));
udc              1225 drivers/usb/gadget/udc/lpc32xx_udc.c 	while ((((tmpv = readl(USBD_RXPLEN(udc->udp_baseaddr))) &
udc              1229 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "No packet ready on FIFO EP read\n");
udc              1237 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_pop_fifo(udc, (u8 *) data, tmp);
udc              1239 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(((hwep & 0x1E) << 1), USBD_CTRL(udc->udp_baseaddr));
udc              1242 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clr_buffer_hwep(udc, hwep);
udc              1248 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_stuff_fifo(struct lpc32xx_udc *udc, u8 *data, u32 bytes)
udc              1262 drivers/usb/gadget/udc/lpc32xx_udc.c 			writel(*p32++, USBD_TXDATA(udc->udp_baseaddr));
udc              1271 drivers/usb/gadget/udc/lpc32xx_udc.c 			writel(tmp, USBD_TXDATA(udc->udp_baseaddr));
udc              1287 drivers/usb/gadget/udc/lpc32xx_udc.c 			writel(tmp, USBD_TXDATA(udc->udp_baseaddr));
udc              1299 drivers/usb/gadget/udc/lpc32xx_udc.c 			writel(tmp, USBD_TXDATA(udc->udp_baseaddr));
udc              1309 drivers/usb/gadget/udc/lpc32xx_udc.c 			writel(tmp, USBD_TXDATA(udc->udp_baseaddr));
udc              1318 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_write_hwep(struct lpc32xx_udc *udc, u32 hwep, u32 *data,
udc              1327 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(hwwep, USBD_CTRL(udc->udp_baseaddr));
udc              1329 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(bytes, USBD_TXPLEN(udc->udp_baseaddr));
udc              1333 drivers/usb/gadget/udc/lpc32xx_udc.c 		writel(0, USBD_TXDATA(udc->udp_baseaddr));
udc              1335 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_stuff_fifo(udc, (u8 *) data, bytes);
udc              1337 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(((hwep & 0x1E) << 1), USBD_CTRL(udc->udp_baseaddr));
udc              1339 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_val_buffer_hwep(udc, hwep);
udc              1344 drivers/usb/gadget/udc/lpc32xx_udc.c static void uda_usb_reset(struct lpc32xx_udc *udc)
udc              1348 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_enable(udc);
udc              1349 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.speed = USB_SPEED_FULL;
udc              1352 drivers/usb/gadget/udc/lpc32xx_udc.c 		struct lpc32xx_ep *ep = &udc->ep[i];
udc              1358 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_ep0_send_zlp(struct lpc32xx_udc *udc)
udc              1360 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_write_hwep(udc, EP_IN, NULL, 0);
udc              1364 drivers/usb/gadget/udc/lpc32xx_udc.c static u16 udc_get_current_frame(struct lpc32xx_udc *udc)
udc              1368 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_RD_FRAME);
udc              1369 drivers/usb/gadget/udc/lpc32xx_udc.c 	flo = (u16) udc_protocol_cmd_r(udc, DAT_RD_FRAME);
udc              1370 drivers/usb/gadget/udc/lpc32xx_udc.c 	fhi = (u16) udc_protocol_cmd_r(udc, DAT_RD_FRAME);
udc              1376 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void udc_set_device_configured(struct lpc32xx_udc *udc)
udc              1378 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_CFG_DEV, DAT_WR_BYTE(CONF_DVICE));
udc              1382 drivers/usb/gadget/udc/lpc32xx_udc.c static inline void udc_set_device_unconfigured(struct lpc32xx_udc *udc)
udc              1384 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_data_w(udc, CMD_CFG_DEV, DAT_WR_BYTE(0));
udc              1388 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_reinit(struct lpc32xx_udc *udc)
udc              1392 drivers/usb/gadget/udc/lpc32xx_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              1393 drivers/usb/gadget/udc/lpc32xx_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep0->ep_list);
udc              1396 drivers/usb/gadget/udc/lpc32xx_udc.c 		struct lpc32xx_ep *ep = &udc->ep[i];
udc              1399 drivers/usb/gadget/udc/lpc32xx_udc.c 			list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              1405 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->ep0state = WAIT_FOR_SETUP;
udc              1411 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = ep->udc;
udc              1420 drivers/usb/gadget/udc/lpc32xx_udc.c 		usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in);
udc              1423 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_dd_free(udc, req->dd_desc_ptr);
udc              1430 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock(&udc->lock);
udc              1432 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock(&udc->lock);
udc              1446 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_disable_hwepint(ep->udc, ep->hwep_num);
udc              1447 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_disable_hwep(ep->udc, ep->hwep_num);
udc              1452 drivers/usb/gadget/udc/lpc32xx_udc.c static int udc_ep0_in_req(struct lpc32xx_udc *udc)
udc              1455 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep0 = &udc->ep[0];
udc              1468 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_ep0_send_zlp(udc);
udc              1475 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_write_hwep(udc, EP_IN, (req->req.buf + req->req.actual), ts);
udc              1484 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->ep0state = WAIT_FOR_SETUP;
udc              1490 drivers/usb/gadget/udc/lpc32xx_udc.c static int udc_ep0_out_req(struct lpc32xx_udc *udc)
udc              1493 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep0 = &udc->ep[0];
udc              1506 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->ep0state = WAIT_FOR_SETUP;
udc              1517 drivers/usb/gadget/udc/lpc32xx_udc.c 		tr = udc_read_hwep(udc, EP_OUT, req->req.buf + req->req.actual,
udc              1524 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->ep0state = WAIT_FOR_SETUP;
udc              1533 drivers/usb/gadget/udc/lpc32xx_udc.c static void stop_activity(struct lpc32xx_udc *udc)
udc              1535 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct usb_gadget_driver *driver = udc->driver;
udc              1538 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->gadget.speed == USB_SPEED_UNKNOWN)
udc              1541 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1542 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->suspended = 0;
udc              1545 drivers/usb/gadget/udc/lpc32xx_udc.c 		struct lpc32xx_ep *ep = &udc->ep[i];
udc              1549 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock(&udc->lock);
udc              1550 drivers/usb/gadget/udc/lpc32xx_udc.c 		driver->disconnect(&udc->gadget);
udc              1551 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_lock(&udc->lock);
udc              1554 drivers/usb/gadget/udc/lpc32xx_udc.c 	isp1301_pullup_enable(udc, 0, 0);
udc              1555 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_disable(udc);
udc              1556 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_reinit(udc);
udc              1563 drivers/usb/gadget/udc/lpc32xx_udc.c static void pullup(struct lpc32xx_udc *udc, int is_on)
udc              1565 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->clocked)
udc              1568 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->enabled || !udc->vbus)
udc              1571 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (is_on != udc->pullup)
udc              1572 drivers/usb/gadget/udc/lpc32xx_udc.c 		isp1301_pullup_enable(udc, is_on, 0);
udc              1579 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = ep->udc;
udc              1584 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1589 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep_dma_disable(udc, ep->hwep_num);
udc              1590 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_EOTINTCLR(udc->udp_baseaddr));
udc              1591 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_NDDRTINTCLR(udc->udp_baseaddr));
udc              1592 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_SYSERRTINTCLR(udc->udp_baseaddr));
udc              1593 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_DMARCLR(udc->udp_baseaddr));
udc              1596 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udca_v_base[ep->hwep_num] = 0;
udc              1599 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_clear_hwepint(udc, ep->hwep_num);
udc              1600 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_unrealize_hwep(udc, ep->hwep_num);
udc              1604 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1606 drivers/usb/gadget/udc/lpc32xx_udc.c 	atomic_dec(&udc->enabled_ep_cnt);
udc              1607 drivers/usb/gadget/udc/lpc32xx_udc.c 	wake_up(&udc->ep_disable_wait_queue);
udc              1617 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = ep->udc;
udc              1625 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "bad ep or descriptor\n");
udc              1630 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "bad ep descriptor's packet size\n");
udc              1636 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "Can't re-enable EP0!!!\n");
udc              1641 drivers/usb/gadget/udc/lpc32xx_udc.c 	if ((!udc->driver) || (udc->gadget.speed == USB_SPEED_UNKNOWN)) {
udc              1642 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "bogus device state\n");
udc              1653 drivers/usb/gadget/udc/lpc32xx_udc.c 			dev_dbg(udc->dev,
udc              1668 drivers/usb/gadget/udc/lpc32xx_udc.c 			dev_dbg(udc->dev,
udc              1677 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1695 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_realize_hwep(udc, ep->hwep_num, ep->ep.maxpacket);
udc              1696 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clr_buffer_hwep(udc, ep->hwep_num);
udc              1697 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_disable_hwepint(udc, ep->hwep_num);
udc              1698 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clrstall_hwep(udc, ep->hwep_num);
udc              1701 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep_dma_disable(udc, ep->hwep_num);
udc              1702 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_EOTINTCLR(udc->udp_baseaddr));
udc              1703 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_NDDRTINTCLR(udc->udp_baseaddr));
udc              1704 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_SYSERRTINTCLR(udc->udp_baseaddr));
udc              1705 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(1 << ep->hwep_num, USBD_DMARCLR(udc->udp_baseaddr));
udc              1707 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1709 drivers/usb/gadget/udc/lpc32xx_udc.c 	atomic_inc(&udc->enabled_ep_cnt);
udc              1750 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc;
udc              1761 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc = ep->udc;
udc              1763 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->gadget.speed == USB_SPEED_UNKNOWN)
udc              1769 drivers/usb/gadget/udc/lpc32xx_udc.c 		status = usb_gadget_map_request(&udc->gadget, _req, ep->is_in);
udc              1774 drivers/usb/gadget/udc/lpc32xx_udc.c 		dd = udc_dd_alloc(udc);
udc              1804 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1818 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc->ep0state = DATA_IN;
udc              1819 drivers/usb/gadget/udc/lpc32xx_udc.c 				status = udc_ep0_in_req(udc);
udc              1822 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc->ep0state = DATA_OUT;
udc              1823 drivers/usb/gadget/udc/lpc32xx_udc.c 				status = udc_ep0_out_req(udc);
udc              1828 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_ep_in_req_dma(udc, ep);
udc              1832 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_ep_out_req_dma(udc, ep);
udc              1836 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1852 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1860 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1866 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1875 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = ep->udc;
udc              1885 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1889 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(ep->hwep_num),
udc              1894 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(ep->hwep_num),
udc              1898 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1908 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!_ep || !ep->udc)
udc              1928 drivers/usb/gadget/udc/lpc32xx_udc.c void udc_send_in_zlp(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
udc              1931 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clearep_getsts(udc, ep->hwep_num);
udc              1934 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_write_hwep(udc, ep->hwep_num, NULL, 0);
udc              1942 drivers/usb/gadget/udc/lpc32xx_udc.c void udc_handle_eps(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
udc              1950 drivers/usb/gadget/udc/lpc32xx_udc.c 	uda_clear_hwepint(udc, ep->hwep_num);
udc              1953 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!(udc->enabled_hwepints & (1 << ep->hwep_num)))
udc              1957 drivers/usb/gadget/udc/lpc32xx_udc.c 	epstatus = udc_clearep_getsts(udc, ep->hwep_num);
udc              1967 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_send_in_zlp(udc, ep);
udc              1968 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_disable_hwepint(udc, ep->hwep_num);
udc              1980 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_ep_in_req_dma(udc, ep);
udc              1982 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_ep_out_req_dma(udc, ep);
udc              1990 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_handle_dma_ep(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
udc              2012 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep_dma_disable(udc, ep->hwep_num);
udc              2013 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel((1 << ep->hwep_num), USBD_EOTINTCLR(udc->udp_baseaddr));
udc              2014 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel((1 << ep->hwep_num), USBD_NDDRTINTCLR(udc->udp_baseaddr));
udc              2017 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (readl(USBD_SYSERRTINTST(udc->udp_baseaddr)) &
udc              2020 drivers/usb/gadget/udc/lpc32xx_udc.c 			     USBD_SYSERRTINTCLR(udc->udp_baseaddr));
udc              2083 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc_clearep_getsts(udc, ep->hwep_num) & EP_SEL_F) {
udc              2084 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_clearep_getsts(udc, ep->hwep_num);
udc              2085 drivers/usb/gadget/udc/lpc32xx_udc.c 			uda_enable_hwepint(udc, ep->hwep_num);
udc              2086 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_clearep_getsts(udc, ep->hwep_num);
udc              2091 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_send_in_zlp(udc, ep);
udc              2098 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clearep_getsts(udc, ep->hwep_num);
udc              2101 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_ep_in_req_dma(udc, ep);
udc              2103 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_ep_out_req_dma(udc, ep);
udc              2114 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_handle_dev(struct lpc32xx_udc *udc)
udc              2118 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_protocol_cmd_w(udc, CMD_GET_DEV_STAT);
udc              2119 drivers/usb/gadget/udc/lpc32xx_udc.c 	tmp = udc_protocol_cmd_r(udc, DAT_GET_DEV_STAT);
udc              2122 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_usb_reset(udc);
udc              2124 drivers/usb/gadget/udc/lpc32xx_udc.c 		uda_power_event(udc, (tmp & DEV_CON));
udc              2127 drivers/usb/gadget/udc/lpc32xx_udc.c 			if (udc->vbus == 0)
udc              2128 drivers/usb/gadget/udc/lpc32xx_udc.c 				stop_activity(udc);
udc              2129 drivers/usb/gadget/udc/lpc32xx_udc.c 			else if ((udc->gadget.speed != USB_SPEED_UNKNOWN) &&
udc              2130 drivers/usb/gadget/udc/lpc32xx_udc.c 				 udc->driver) {
udc              2132 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc->poweron = 0;
udc              2133 drivers/usb/gadget/udc/lpc32xx_udc.c 				schedule_work(&udc->pullup_job);
udc              2134 drivers/usb/gadget/udc/lpc32xx_udc.c 				uda_resm_susp_event(udc, 1);
udc              2136 drivers/usb/gadget/udc/lpc32xx_udc.c 		} else if ((udc->gadget.speed != USB_SPEED_UNKNOWN) &&
udc              2137 drivers/usb/gadget/udc/lpc32xx_udc.c 			   udc->driver && udc->vbus) {
udc              2138 drivers/usb/gadget/udc/lpc32xx_udc.c 			uda_resm_susp_event(udc, 0);
udc              2140 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->poweron = 1;
udc              2141 drivers/usb/gadget/udc/lpc32xx_udc.c 			schedule_work(&udc->pullup_job);
udc              2146 drivers/usb/gadget/udc/lpc32xx_udc.c static int udc_get_status(struct lpc32xx_udc *udc, u16 reqtype, u16 wIndex)
udc              2156 drivers/usb/gadget/udc/lpc32xx_udc.c 		ep0buff = udc->gadget.is_selfpowered;
udc              2157 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc->dev_status & (1 << USB_DEVICE_REMOTE_WAKEUP))
udc              2163 drivers/usb/gadget/udc/lpc32xx_udc.c 		ep = &udc->ep[tmp];
udc              2174 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_protocol_cmd_w(udc, CMD_SEL_EP(ep->hwep_num));
udc              2175 drivers/usb/gadget/udc/lpc32xx_udc.c 		tmp = udc_protocol_cmd_r(udc, DAT_SEL_EP(ep->hwep_num));
udc              2188 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_write_hwep(udc, EP_IN, &ep0buff, 2);
udc              2193 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_handle_ep0_setup(struct lpc32xx_udc *udc)
udc              2195 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep, *ep0 = &udc->ep[0];
udc              2204 drivers/usb/gadget/udc/lpc32xx_udc.c 	bytes = udc_read_hwep(udc, EP_OUT, (u32 *) &ctrlpkt, 8);
udc              2234 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc->dev_status &=
udc              2237 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc->dev_status |=
udc              2239 drivers/usb/gadget/udc/lpc32xx_udc.c 			uda_remwkp_cgh(udc);
udc              2249 drivers/usb/gadget/udc/lpc32xx_udc.c 			ep = &udc->ep[tmp];
udc              2255 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_stall_hwep(udc, tmp);
udc              2257 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_clrstall_hwep(udc, tmp);
udc              2268 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_set_address(udc, wValue);
udc              2274 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_get_status(udc, reqtype, wIndex);
udc              2281 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (likely(udc->driver)) {
udc              2284 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock(&udc->lock);
udc              2285 drivers/usb/gadget/udc/lpc32xx_udc.c 		i = udc->driver->setup(&udc->gadget, &ctrlpkt);
udc              2287 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_lock(&udc->lock);
udc              2292 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_set_device_configured(udc);
udc              2294 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_protocol_cmd_data_w(udc, CMD_SET_MODE,
udc              2299 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_set_device_unconfigured(udc);
udc              2302 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_protocol_cmd_data_w(udc, CMD_SET_MODE,
udc              2309 drivers/usb/gadget/udc/lpc32xx_udc.c 			dev_dbg(udc->dev,
udc              2312 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->ep0state = WAIT_FOR_SETUP;
udc              2318 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_ep0_send_zlp(udc); /* ZLP IN packet on data phase */
udc              2323 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_stall_hwep(udc, EP_IN);
udc              2327 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_ep0_send_zlp(udc);
udc              2332 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_handle_ep0_in(struct lpc32xx_udc *udc)
udc              2334 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep0 = &udc->ep[0];
udc              2338 drivers/usb/gadget/udc/lpc32xx_udc.c 	epstatus = udc_clearep_getsts(udc, EP_IN);
udc              2346 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clrstall_hwep(udc, EP_IN);
udc              2348 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->ep0state = WAIT_FOR_SETUP;
udc              2355 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc->ep0state == DATA_IN)
udc              2356 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_ep0_in_req(udc);
udc              2360 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->ep0state = WAIT_FOR_SETUP;
udc              2366 drivers/usb/gadget/udc/lpc32xx_udc.c static void udc_handle_ep0_out(struct lpc32xx_udc *udc)
udc              2368 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_ep *ep0 = &udc->ep[0];
udc              2372 drivers/usb/gadget/udc/lpc32xx_udc.c 	epstatus = udc_clearep_getsts(udc, EP_OUT);
udc              2381 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clrstall_hwep(udc, EP_OUT);
udc              2383 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->ep0state = WAIT_FOR_SETUP;
udc              2393 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->ep0state = WAIT_FOR_SETUP;
udc              2399 drivers/usb/gadget/udc/lpc32xx_udc.c 		switch (udc->ep0state) {
udc              2401 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_handle_ep0_setup(udc);
udc              2405 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_ep0_out_req(udc);
udc              2411 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->ep0state = WAIT_FOR_SETUP;
udc              2420 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = to_udc(gadget);
udc              2422 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->clocked)
udc              2425 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2427 drivers/usb/gadget/udc/lpc32xx_udc.c 	frame = (int) udc_get_current_frame(udc);
udc              2429 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2453 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = to_udc(gadget);
udc              2455 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2458 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->driver) {
udc              2459 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clk_set(udc, 1);
udc              2460 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_enable(udc);
udc              2461 drivers/usb/gadget/udc/lpc32xx_udc.c 		pullup(udc, is_active);
udc              2463 drivers/usb/gadget/udc/lpc32xx_udc.c 		stop_activity(udc);
udc              2464 drivers/usb/gadget/udc/lpc32xx_udc.c 		pullup(udc, 0);
udc              2466 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              2472 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (atomic_read(&udc->enabled_ep_cnt))
udc              2473 drivers/usb/gadget/udc/lpc32xx_udc.c 			wait_event_interruptible(udc->ep_disable_wait_queue,
udc              2474 drivers/usb/gadget/udc/lpc32xx_udc.c 				 (atomic_read(&udc->enabled_ep_cnt) == 0));
udc              2476 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_lock_irqsave(&udc->lock, flags);
udc              2478 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clk_set(udc, 0);
udc              2481 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2489 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = to_udc(gadget);
udc              2492 drivers/usb/gadget/udc/lpc32xx_udc.c 	pullup(udc, is_on);
udc              2738 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = _udc;
udc              2740 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock(&udc->lock);
udc              2743 drivers/usb/gadget/udc/lpc32xx_udc.c 	devstat = readl(USBD_DEVINTST(udc->udp_baseaddr));
udc              2746 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(devstat, USBD_DEVINTCLR(udc->udp_baseaddr));
udc              2747 drivers/usb/gadget/udc/lpc32xx_udc.c 	devstat = devstat & udc->enabled_devints;
udc              2751 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_handle_dev(udc);
udc              2763 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_protocol_cmd_w(udc, CMD_RD_ERR_STAT);
udc              2764 drivers/usb/gadget/udc/lpc32xx_udc.c 		tmp = udc_protocol_cmd_r(udc, DAT_RD_ERR_STAT);
udc              2765 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_dbg(udc->dev, "Device error (0x%x)!\n", tmp);
udc              2768 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock(&udc->lock);
udc              2777 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = _udc;
udc              2779 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock(&udc->lock);
udc              2782 drivers/usb/gadget/udc/lpc32xx_udc.c 	writel(USBD_EP_FAST, USBD_DEVINTCLR(udc->udp_baseaddr));
udc              2785 drivers/usb/gadget/udc/lpc32xx_udc.c 	tmp = readl(USBD_EPINTST(udc->udp_baseaddr));
udc              2791 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_handle_ep0_in(udc);
udc              2795 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_handle_ep0_out(udc);
udc              2804 drivers/usb/gadget/udc/lpc32xx_udc.c 			if (tmp & (1 << udc->ep[i].hwep_num))
udc              2805 drivers/usb/gadget/udc/lpc32xx_udc.c 				udc_handle_eps(udc, &udc->ep[i]);
udc              2809 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock(&udc->lock);
udc              2816 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = _udc;
udc              2821 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock(&udc->lock);
udc              2824 drivers/usb/gadget/udc/lpc32xx_udc.c 	tmp = readl(USBD_EOTINTST(udc->udp_baseaddr)) |
udc              2825 drivers/usb/gadget/udc/lpc32xx_udc.c 		(readl(USBD_EPDMAST(udc->udp_baseaddr)) &
udc              2826 drivers/usb/gadget/udc/lpc32xx_udc.c 		 readl(USBD_NDDRTINTST(udc->udp_baseaddr))) |
udc              2827 drivers/usb/gadget/udc/lpc32xx_udc.c 		readl(USBD_SYSERRTINTST(udc->udp_baseaddr));
udc              2829 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (tmp & (1 << udc->ep[i].hwep_num))
udc              2830 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc_handle_dma_ep(udc, &udc->ep[i]);
udc              2833 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_unlock(&udc->lock);
udc              2843 drivers/usb/gadget/udc/lpc32xx_udc.c static void vbus_work(struct lpc32xx_udc *udc)
udc              2847 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->enabled != 0) {
udc              2849 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2856 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2861 drivers/usb/gadget/udc/lpc32xx_udc.c 		i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2866 drivers/usb/gadget/udc/lpc32xx_udc.c 		value = i2c_smbus_read_byte_data(udc->isp1301_i2c_client,
udc              2871 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->vbus = 1;
udc              2873 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->vbus = 0;
udc              2876 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc->last_vbus != udc->vbus) {
udc              2877 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->last_vbus = udc->vbus;
udc              2878 drivers/usb/gadget/udc/lpc32xx_udc.c 			lpc32xx_vbus_session(&udc->gadget, udc->vbus);
udc              2885 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = _udc;
udc              2887 drivers/usb/gadget/udc/lpc32xx_udc.c 	vbus_work(udc);
udc              2895 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = to_udc(gadget);
udc              2898 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "bad parameter.\n");
udc              2902 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->driver) {
udc              2903 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "UDC already has a gadget driver\n");
udc              2907 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->driver = driver;
udc              2908 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.dev.of_node = udc->dev->of_node;
udc              2909 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled = 1;
udc              2910 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.is_selfpowered = 1;
udc              2911 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->vbus = 0;
udc              2914 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->last_vbus = udc->vbus = 0;
udc              2915 drivers/usb/gadget/udc/lpc32xx_udc.c 	vbus_work(udc);
udc              2918 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2920 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2928 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = to_udc(gadget);
udc              2930 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2932 drivers/usb/gadget/udc/lpc32xx_udc.c 	i2c_smbus_write_byte_data(udc->isp1301_i2c_client,
udc              2935 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->clocked) {
udc              2936 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_lock(&udc->lock);
udc              2937 drivers/usb/gadget/udc/lpc32xx_udc.c 		stop_activity(udc);
udc              2938 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock(&udc->lock);
udc              2945 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (atomic_read(&udc->enabled_ep_cnt))
udc              2946 drivers/usb/gadget/udc/lpc32xx_udc.c 			wait_event_interruptible(udc->ep_disable_wait_queue,
udc              2947 drivers/usb/gadget/udc/lpc32xx_udc.c 				(atomic_read(&udc->enabled_ep_cnt) == 0));
udc              2949 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_lock(&udc->lock);
udc              2950 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clk_set(udc, 0);
udc              2951 drivers/usb/gadget/udc/lpc32xx_udc.c 		spin_unlock(&udc->lock);
udc              2954 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled = 0;
udc              2955 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->driver = NULL;
udc              2963 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = platform_get_drvdata(dev);
udc              2965 drivers/usb/gadget/udc/lpc32xx_udc.c 	pullup(udc, 0);
udc              3001 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc;
udc              3007 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc = devm_kmemdup(dev, &controller_template, sizeof(*udc), GFP_KERNEL);
udc              3008 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc)
udc              3012 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->ep[i].udc = udc;
udc              3013 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.ep0 = &udc->ep[0].ep;
udc              3016 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->gadget.dev.parent = dev;
udc              3017 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->pdev = pdev;
udc              3018 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->dev = &pdev->dev;
udc              3019 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->enabled = 0;
udc              3028 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->isp1301_i2c_client = isp1301_get_client(isp1301_node);
udc              3029 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->isp1301_i2c_client) {
udc              3033 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(udc->dev, "ISP1301 I2C device at address 0x%x\n",
udc              3034 drivers/usb/gadget/udc/lpc32xx_udc.c 		 udc->isp1301_i2c_client->addr);
udc              3041 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->board = &lpc32xx_usbddata;
udc              3055 drivers/usb/gadget/udc/lpc32xx_udc.c 	spin_lock_init(&udc->lock);
udc              3059 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->udp_irq[i] = platform_get_irq(pdev, i);
udc              3060 drivers/usb/gadget/udc/lpc32xx_udc.c 		if (udc->udp_irq[i] < 0)
udc              3061 drivers/usb/gadget/udc/lpc32xx_udc.c 			return udc->udp_irq[i];
udc              3064 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udp_baseaddr = devm_ioremap_resource(dev, res);
udc              3065 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (IS_ERR(udc->udp_baseaddr)) {
udc              3066 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "IO map failure\n");
udc              3067 drivers/usb/gadget/udc/lpc32xx_udc.c 		return PTR_ERR(udc->udp_baseaddr);
udc              3071 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->usb_slv_clk = devm_clk_get(&pdev->dev, NULL);
udc              3072 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (IS_ERR(udc->usb_slv_clk)) {
udc              3073 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "failed to acquire USB device clock\n");
udc              3074 drivers/usb/gadget/udc/lpc32xx_udc.c 		return PTR_ERR(udc->usb_slv_clk);
udc              3078 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = clk_prepare_enable(udc->usb_slv_clk);
udc              3080 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "failed to start USB device clock\n");
udc              3085 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->poweron = udc->pullup = 0;
udc              3086 drivers/usb/gadget/udc/lpc32xx_udc.c 	INIT_WORK(&udc->pullup_job, pullup_work);
udc              3088 drivers/usb/gadget/udc/lpc32xx_udc.c 	INIT_WORK(&udc->power_job, power_work);
udc              3092 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->clocked = 1;
udc              3094 drivers/usb/gadget/udc/lpc32xx_udc.c 	isp1301_udc_configure(udc);
udc              3096 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udca_v_base = dma_alloc_coherent(&pdev->dev, UDCA_BUFF_SIZE,
udc              3099 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->udca_v_base) {
udc              3100 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "error getting UDCA region\n");
udc              3104 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->udca_p_base = dma_handle;
udc              3105 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_dbg(udc->dev, "DMA buffer(0x%x bytes), P:0x%08x, V:0x%p\n",
udc              3106 drivers/usb/gadget/udc/lpc32xx_udc.c 		UDCA_BUFF_SIZE, udc->udca_p_base, udc->udca_v_base);
udc              3109 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc->dd_cache = dma_pool_create("udc_dd", udc->dev,
udc              3112 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (!udc->dd_cache) {
udc              3113 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "error getting DD DMA region\n");
udc              3119 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_disable(udc);
udc              3120 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_reinit(udc);
udc              3124 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = devm_request_irq(dev, udc->udp_irq[IRQ_USB_LP],
udc              3125 drivers/usb/gadget/udc/lpc32xx_udc.c 				  lpc32xx_usb_lp_irq, 0, "udc_lp", udc);
udc              3127 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "LP request irq %d failed\n",
udc              3128 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->udp_irq[IRQ_USB_LP]);
udc              3131 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = devm_request_irq(dev, udc->udp_irq[IRQ_USB_HP],
udc              3132 drivers/usb/gadget/udc/lpc32xx_udc.c 				  lpc32xx_usb_hp_irq, 0, "udc_hp", udc);
udc              3134 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "HP request irq %d failed\n",
udc              3135 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->udp_irq[IRQ_USB_HP]);
udc              3139 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = devm_request_irq(dev, udc->udp_irq[IRQ_USB_DEVDMA],
udc              3140 drivers/usb/gadget/udc/lpc32xx_udc.c 				  lpc32xx_usb_devdma_irq, 0, "udc_dma", udc);
udc              3142 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "DEV request irq %d failed\n",
udc              3143 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->udp_irq[IRQ_USB_DEVDMA]);
udc              3149 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = devm_request_threaded_irq(dev, udc->udp_irq[IRQ_USB_ATX], NULL,
udc              3151 drivers/usb/gadget/udc/lpc32xx_udc.c 					   "udc_otg", udc);
udc              3153 drivers/usb/gadget/udc/lpc32xx_udc.c 		dev_err(udc->dev, "VBUS request irq %d failed\n",
udc              3154 drivers/usb/gadget/udc/lpc32xx_udc.c 			udc->udp_irq[IRQ_USB_ATX]);
udc              3159 drivers/usb/gadget/udc/lpc32xx_udc.c 	init_waitqueue_head(&udc->ep_disable_wait_queue);
udc              3160 drivers/usb/gadget/udc/lpc32xx_udc.c 	atomic_set(&udc->enabled_ep_cnt, 0);
udc              3162 drivers/usb/gadget/udc/lpc32xx_udc.c 	retval = usb_add_gadget_udc(dev, &udc->gadget);
udc              3166 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_set_drvdata(dev, udc);
udc              3168 drivers/usb/gadget/udc/lpc32xx_udc.c 	create_debug_file(udc);
udc              3171 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clk_set(udc, 0);
udc              3173 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_info(udc->dev, "%s version %s\n", driver_name, DRIVER_VERSION);
udc              3178 drivers/usb/gadget/udc/lpc32xx_udc.c 	dma_pool_destroy(udc->dd_cache);
udc              3181 drivers/usb/gadget/udc/lpc32xx_udc.c 			  udc->udca_v_base, udc->udca_p_base);
udc              3183 drivers/usb/gadget/udc/lpc32xx_udc.c 	clk_disable_unprepare(udc->usb_slv_clk);
udc              3184 drivers/usb/gadget/udc/lpc32xx_udc.c 	dev_err(udc->dev, "%s probe failed, %d\n", driver_name, retval);
udc              3191 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = platform_get_drvdata(pdev);
udc              3193 drivers/usb/gadget/udc/lpc32xx_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              3194 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->driver)
udc              3197 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_clk_set(udc, 1);
udc              3198 drivers/usb/gadget/udc/lpc32xx_udc.c 	udc_disable(udc);
udc              3199 drivers/usb/gadget/udc/lpc32xx_udc.c 	pullup(udc, 0);
udc              3202 drivers/usb/gadget/udc/lpc32xx_udc.c 	remove_debug_file(udc);
udc              3204 drivers/usb/gadget/udc/lpc32xx_udc.c 	dma_pool_destroy(udc->dd_cache);
udc              3206 drivers/usb/gadget/udc/lpc32xx_udc.c 			  udc->udca_v_base, udc->udca_p_base);
udc              3208 drivers/usb/gadget/udc/lpc32xx_udc.c 	clk_disable_unprepare(udc->usb_slv_clk);
udc              3216 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = platform_get_drvdata(pdev);
udc              3218 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->clocked) {
udc              3220 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->poweron = 0;
udc              3221 drivers/usb/gadget/udc/lpc32xx_udc.c 		isp1301_set_powerstate(udc, 0);
udc              3224 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clk_set(udc, 0);
udc              3228 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->clocked = 1;
udc              3231 drivers/usb/gadget/udc/lpc32xx_udc.c 		clk_disable_unprepare(udc->usb_slv_clk);
udc              3239 drivers/usb/gadget/udc/lpc32xx_udc.c 	struct lpc32xx_udc *udc = platform_get_drvdata(pdev);
udc              3241 drivers/usb/gadget/udc/lpc32xx_udc.c 	if (udc->clocked) {
udc              3243 drivers/usb/gadget/udc/lpc32xx_udc.c 		clk_prepare_enable(udc->usb_slv_clk);
udc              3246 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc_clk_set(udc, 1);
udc              3249 drivers/usb/gadget/udc/lpc32xx_udc.c 		udc->poweron = 1;
udc              3250 drivers/usb/gadget/udc/lpc32xx_udc.c 		isp1301_set_powerstate(udc, 1);
udc               176 drivers/usb/gadget/udc/mv_u3d_core.c 	__releases(&ep->udc->lock)
udc               177 drivers/usb/gadget/udc/mv_u3d_core.c 	__acquires(&ep->udc->lock)
udc               227 drivers/usb/gadget/udc/mv_udc.h 	struct mv_udc		*udc;
udc                40 drivers/usb/gadget/udc/mv_udc_core.c 				((ep)->udc->ep0_dir) : ((ep)->direction))
udc                59 drivers/usb/gadget/udc/mv_udc_core.c static void stop_activity(struct mv_udc *udc, struct usb_gadget_driver *driver);
udc                70 drivers/usb/gadget/udc/mv_udc_core.c static void ep0_reset(struct mv_udc *udc)
udc                78 drivers/usb/gadget/udc/mv_udc_core.c 		ep = &udc->eps[i];
udc                79 drivers/usb/gadget/udc/mv_udc_core.c 		ep->udc = udc;
udc                82 drivers/usb/gadget/udc/mv_udc_core.c 		ep->dqh = &udc->ep_dqh[i];
udc                91 drivers/usb/gadget/udc/mv_udc_core.c 		epctrlx = readl(&udc->op_regs->epctrlx[0]);
udc               103 drivers/usb/gadget/udc/mv_udc_core.c 		writel(epctrlx, &udc->op_regs->epctrlx[0]);
udc               108 drivers/usb/gadget/udc/mv_udc_core.c static void ep0_stall(struct mv_udc *udc)
udc               113 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[0]);
udc               115 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[0]);
udc               118 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc               119 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_dir = EP_DIR_OUT;
udc               122 drivers/usb/gadget/udc/mv_udc_core.c static int process_ep_req(struct mv_udc *udc, int index,
udc               133 drivers/usb/gadget/udc/mv_udc_core.c 	curr_dqh = &udc->ep_dqh[index];
udc               141 drivers/usb/gadget/udc/mv_udc_core.c 			dev_dbg(&udc->dev->dev, "%s, dTD not completed\n",
udc               142 drivers/usb/gadget/udc/mv_udc_core.c 				udc->eps[index].name);
udc               155 drivers/usb/gadget/udc/mv_udc_core.c 					dev_dbg(&udc->dev->dev,
udc               163 drivers/usb/gadget/udc/mv_udc_core.c 			dev_info(&udc->dev->dev,
udc               190 drivers/usb/gadget/udc/mv_udc_core.c 			while (readl(&udc->op_regs->epstatus) & bit_pos)
udc               208 drivers/usb/gadget/udc/mv_udc_core.c 	__releases(&ep->udc->lock)
udc               209 drivers/usb/gadget/udc/mv_udc_core.c 	__acquires(&ep->udc->lock)
udc               211 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = NULL;
udc               216 drivers/usb/gadget/udc/mv_udc_core.c 	udc = (struct mv_udc *)ep->udc;
udc               232 drivers/usb/gadget/udc/mv_udc_core.c 		dma_pool_free(udc->dtd_pool, curr_td, curr_td->td_dma);
udc               235 drivers/usb/gadget/udc/mv_udc_core.c 	usb_gadget_unmap_request(&udc->gadget, &req->req, ep_dir(ep));
udc               238 drivers/usb/gadget/udc/mv_udc_core.c 		dev_info(&udc->dev->dev, "complete %s req %p stat %d len %u/%u",
udc               244 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock(&ep->udc->lock);
udc               248 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock(&ep->udc->lock);
udc               254 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               261 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               263 drivers/usb/gadget/udc/mv_udc_core.c 	dqh = &(udc->ep_dqh[ep->ep_num * 2 + direction]);
udc               275 drivers/usb/gadget/udc/mv_udc_core.c 		if (readl(&udc->op_regs->epprime) & bit_pos)
udc               281 drivers/usb/gadget/udc/mv_udc_core.c 			usbcmd = readl(&udc->op_regs->usbcmd);
udc               283 drivers/usb/gadget/udc/mv_udc_core.c 			writel(usbcmd, &udc->op_regs->usbcmd);
udc               286 drivers/usb/gadget/udc/mv_udc_core.c 			epstatus = readl(&udc->op_regs->epstatus) & bit_pos;
udc               295 drivers/usb/gadget/udc/mv_udc_core.c 			if (readl(&udc->op_regs->usbcmd)
udc               301 drivers/usb/gadget/udc/mv_udc_core.c 				dev_err(&udc->dev->dev,
udc               310 drivers/usb/gadget/udc/mv_udc_core.c 		usbcmd = readl(&udc->op_regs->usbcmd);
udc               312 drivers/usb/gadget/udc/mv_udc_core.c 		writel(usbcmd, &udc->op_regs->usbcmd);
udc               329 drivers/usb/gadget/udc/mv_udc_core.c 	writel(bit_pos, &udc->op_regs->epprime);
udc               339 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               354 drivers/usb/gadget/udc/mv_udc_core.c 	udc = req->ep->udc;
udc               360 drivers/usb/gadget/udc/mv_udc_core.c 	dtd = dma_pool_alloc(udc->dtd_pool, GFP_ATOMIC, dma);
udc               438 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               448 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               454 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               467 drivers/usb/gadget/udc/mv_udc_core.c 	if ((readl(&udc->op_regs->epprime) & bit_pos)
udc               468 drivers/usb/gadget/udc/mv_udc_core.c 		|| (readl(&udc->op_regs->epstatus) & bit_pos)) {
udc               469 drivers/usb/gadget/udc/mv_udc_core.c 		dev_info(&udc->dev->dev,
udc               473 drivers/usb/gadget/udc/mv_udc_core.c 			(unsigned)readl(&udc->op_regs->epprime),
udc               474 drivers/usb/gadget/udc/mv_udc_core.c 			(unsigned)readl(&udc->op_regs->epstatus),
udc               500 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc               515 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               527 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               533 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               537 drivers/usb/gadget/udc/mv_udc_core.c 		writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               540 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               544 drivers/usb/gadget/udc/mv_udc_core.c 		writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               547 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               556 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               566 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               571 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc               579 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               583 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               591 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               623 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               635 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               650 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc               652 drivers/usb/gadget/udc/mv_udc_core.c 				(unsigned)readl(&udc->op_regs->epstatus),
udc               657 drivers/usb/gadget/udc/mv_udc_core.c 		writel(bit_pos, &udc->op_regs->epflush);
udc               661 drivers/usb/gadget/udc/mv_udc_core.c 		while (readl(&udc->op_regs->epflush)) {
udc               667 drivers/usb/gadget/udc/mv_udc_core.c 				dev_err(&udc->dev->dev,
udc               670 drivers/usb/gadget/udc/mv_udc_core.c 					(unsigned)readl(&udc->op_regs->epflush),
udc               678 drivers/usb/gadget/udc/mv_udc_core.c 	} while (readl(&udc->op_regs->epstatus) & bit_pos);
udc               687 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = ep->udc;
udc               694 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev, "%s, bad params", __func__);
udc               698 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev, "%s, bad ep", __func__);
udc               702 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               703 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               709 drivers/usb/gadget/udc/mv_udc_core.c 	retval = usb_gadget_map_request(&udc->gadget, _req, ep_dir(ep));
udc               717 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc               723 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock_irqrestore(&udc->lock, flags);
udc               724 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev, "Failed to queue dtd\n");
udc               728 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               729 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev, "Failed to dma_pool_alloc\n");
udc               736 drivers/usb/gadget/udc/mv_udc_core.c 		udc->ep0_state = DATA_STATE_XMIT;
udc               740 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               745 drivers/usb/gadget/udc/mv_udc_core.c 	usb_gadget_unmap_request(&udc->gadget, _req, ep_dir(ep));
udc               768 drivers/usb/gadget/udc/mv_udc_core.c 	writel(bit_pos, &ep->udc->op_regs->epprime);
udc               776 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = ep->udc;
udc               784 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc               789 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               794 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               842 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
udc               847 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
udc               850 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc               854 drivers/usb/gadget/udc/mv_udc_core.c static void ep_set_stall(struct mv_udc *udc, u8 ep_num, u8 direction, int stall)
udc               858 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep_num]);
udc               874 drivers/usb/gadget/udc/mv_udc_core.c 	writel(epctrlx, &udc->op_regs->epctrlx[ep_num]);
udc               877 drivers/usb/gadget/udc/mv_udc_core.c static int ep_is_stall(struct mv_udc *udc, u8 ep_num, u8 direction)
udc               881 drivers/usb/gadget/udc/mv_udc_core.c 	epctrlx = readl(&udc->op_regs->epctrlx[ep_num]);
udc               894 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc               897 drivers/usb/gadget/udc/mv_udc_core.c 	udc = ep->udc;
udc               917 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc               918 drivers/usb/gadget/udc/mv_udc_core.c 	ep_set_stall(udc, ep->ep_num, ep_dir(ep), halt);
udc               923 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc               926 drivers/usb/gadget/udc/mv_udc_core.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc               927 drivers/usb/gadget/udc/mv_udc_core.c 		udc->ep0_dir = EP_DIR_OUT;
udc               958 drivers/usb/gadget/udc/mv_udc_core.c static int udc_clock_enable(struct mv_udc *udc)
udc               960 drivers/usb/gadget/udc/mv_udc_core.c 	return clk_prepare_enable(udc->clk);
udc               963 drivers/usb/gadget/udc/mv_udc_core.c static void udc_clock_disable(struct mv_udc *udc)
udc               965 drivers/usb/gadget/udc/mv_udc_core.c 	clk_disable_unprepare(udc->clk);
udc               968 drivers/usb/gadget/udc/mv_udc_core.c static void udc_stop(struct mv_udc *udc)
udc               973 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->usbintr);
udc               976 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->usbintr);
udc               978 drivers/usb/gadget/udc/mv_udc_core.c 	udc->stopped = 1;
udc               981 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->usbcmd);
udc               983 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->usbcmd);
udc               986 drivers/usb/gadget/udc/mv_udc_core.c static void udc_start(struct mv_udc *udc)
udc               994 drivers/usb/gadget/udc/mv_udc_core.c 	writel(usbintr, &udc->op_regs->usbintr);
udc               996 drivers/usb/gadget/udc/mv_udc_core.c 	udc->stopped = 0;
udc               999 drivers/usb/gadget/udc/mv_udc_core.c 	writel(USBCMD_RUN_STOP, &udc->op_regs->usbcmd);
udc              1002 drivers/usb/gadget/udc/mv_udc_core.c static int udc_reset(struct mv_udc *udc)
udc              1008 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->usbcmd);
udc              1010 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->usbcmd);
udc              1013 drivers/usb/gadget/udc/mv_udc_core.c 	writel(USBCMD_CTRL_RESET, &udc->op_regs->usbcmd);
udc              1017 drivers/usb/gadget/udc/mv_udc_core.c 	while (readl(&udc->op_regs->usbcmd) & USBCMD_CTRL_RESET) {
udc              1019 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc              1028 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->usbmode);
udc              1034 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->usbmode);
udc              1036 drivers/usb/gadget/udc/mv_udc_core.c 	writel(0x0, &udc->op_regs->epsetupstat);
udc              1039 drivers/usb/gadget/udc/mv_udc_core.c 	writel(udc->ep_dqh_dma & USB_EP_LIST_ADDRESS_MASK,
udc              1040 drivers/usb/gadget/udc/mv_udc_core.c 		&udc->op_regs->eplistaddr);
udc              1042 drivers/usb/gadget/udc/mv_udc_core.c 	portsc = readl(&udc->op_regs->portsc[0]);
udc              1043 drivers/usb/gadget/udc/mv_udc_core.c 	if (readl(&udc->cap_regs->hcsparams) & HCSPARAMS_PPC)
udc              1046 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->force_fs)
udc              1051 drivers/usb/gadget/udc/mv_udc_core.c 	writel(portsc, &udc->op_regs->portsc[0]);
udc              1053 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->epctrlx[0]);
udc              1055 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->epctrlx[0]);
udc              1060 drivers/usb/gadget/udc/mv_udc_core.c static int mv_udc_enable_internal(struct mv_udc *udc)
udc              1064 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->active)
udc              1067 drivers/usb/gadget/udc/mv_udc_core.c 	dev_dbg(&udc->dev->dev, "enable udc\n");
udc              1068 drivers/usb/gadget/udc/mv_udc_core.c 	retval = udc_clock_enable(udc);
udc              1072 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->pdata->phy_init) {
udc              1073 drivers/usb/gadget/udc/mv_udc_core.c 		retval = udc->pdata->phy_init(udc->phy_regs);
udc              1075 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc              1077 drivers/usb/gadget/udc/mv_udc_core.c 			udc_clock_disable(udc);
udc              1081 drivers/usb/gadget/udc/mv_udc_core.c 	udc->active = 1;
udc              1086 drivers/usb/gadget/udc/mv_udc_core.c static int mv_udc_enable(struct mv_udc *udc)
udc              1088 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->clock_gating)
udc              1089 drivers/usb/gadget/udc/mv_udc_core.c 		return mv_udc_enable_internal(udc);
udc              1094 drivers/usb/gadget/udc/mv_udc_core.c static void mv_udc_disable_internal(struct mv_udc *udc)
udc              1096 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->active) {
udc              1097 drivers/usb/gadget/udc/mv_udc_core.c 		dev_dbg(&udc->dev->dev, "disable udc\n");
udc              1098 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc->pdata->phy_deinit)
udc              1099 drivers/usb/gadget/udc/mv_udc_core.c 			udc->pdata->phy_deinit(udc->phy_regs);
udc              1100 drivers/usb/gadget/udc/mv_udc_core.c 		udc_clock_disable(udc);
udc              1101 drivers/usb/gadget/udc/mv_udc_core.c 		udc->active = 0;
udc              1105 drivers/usb/gadget/udc/mv_udc_core.c static void mv_udc_disable(struct mv_udc *udc)
udc              1107 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->clock_gating)
udc              1108 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_disable_internal(udc);
udc              1113 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1119 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(gadget, struct mv_udc, gadget);
udc              1121 drivers/usb/gadget/udc/mv_udc_core.c 	retval = readl(&udc->op_regs->frindex) & USB_FRINDEX_MASKS;
udc              1129 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = container_of(gadget, struct mv_udc, gadget);
udc              1133 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->remote_wakeup)
udc              1136 drivers/usb/gadget/udc/mv_udc_core.c 	portsc = readl(&udc->op_regs->portsc);
udc              1142 drivers/usb/gadget/udc/mv_udc_core.c 	writel(portsc, &udc->op_regs->portsc[0]);
udc              1148 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1152 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(gadget, struct mv_udc, gadget);
udc              1153 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1155 drivers/usb/gadget/udc/mv_udc_core.c 	udc->vbus_active = (is_active != 0);
udc              1157 drivers/usb/gadget/udc/mv_udc_core.c 	dev_dbg(&udc->dev->dev, "%s: softconnect %d, vbus_active %d\n",
udc              1158 drivers/usb/gadget/udc/mv_udc_core.c 		__func__, udc->softconnect, udc->vbus_active);
udc              1160 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->driver && udc->softconnect && udc->vbus_active) {
udc              1161 drivers/usb/gadget/udc/mv_udc_core.c 		retval = mv_udc_enable(udc);
udc              1164 drivers/usb/gadget/udc/mv_udc_core.c 			udc_reset(udc);
udc              1165 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_reset(udc);
udc              1166 drivers/usb/gadget/udc/mv_udc_core.c 			udc_start(udc);
udc              1168 drivers/usb/gadget/udc/mv_udc_core.c 	} else if (udc->driver && udc->softconnect) {
udc              1169 drivers/usb/gadget/udc/mv_udc_core.c 		if (!udc->active)
udc              1173 drivers/usb/gadget/udc/mv_udc_core.c 		stop_activity(udc, udc->driver);
udc              1174 drivers/usb/gadget/udc/mv_udc_core.c 		udc_stop(udc);
udc              1175 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_disable(udc);
udc              1179 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1185 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1189 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(gadget, struct mv_udc, gadget);
udc              1190 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1192 drivers/usb/gadget/udc/mv_udc_core.c 	udc->softconnect = (is_on != 0);
udc              1194 drivers/usb/gadget/udc/mv_udc_core.c 	dev_dbg(&udc->dev->dev, "%s: softconnect %d, vbus_active %d\n",
udc              1195 drivers/usb/gadget/udc/mv_udc_core.c 			__func__, udc->softconnect, udc->vbus_active);
udc              1197 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->driver && udc->softconnect && udc->vbus_active) {
udc              1198 drivers/usb/gadget/udc/mv_udc_core.c 		retval = mv_udc_enable(udc);
udc              1201 drivers/usb/gadget/udc/mv_udc_core.c 			udc_reset(udc);
udc              1202 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_reset(udc);
udc              1203 drivers/usb/gadget/udc/mv_udc_core.c 			udc_start(udc);
udc              1205 drivers/usb/gadget/udc/mv_udc_core.c 	} else if (udc->driver && udc->vbus_active) {
udc              1207 drivers/usb/gadget/udc/mv_udc_core.c 		stop_activity(udc, udc->driver);
udc              1208 drivers/usb/gadget/udc/mv_udc_core.c 		udc_stop(udc);
udc              1209 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_disable(udc);
udc              1212 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1236 drivers/usb/gadget/udc/mv_udc_core.c static int eps_init(struct mv_udc *udc)
udc              1243 drivers/usb/gadget/udc/mv_udc_core.c 	ep = &udc->eps[0];
udc              1244 drivers/usb/gadget/udc/mv_udc_core.c 	ep->udc = udc;
udc              1261 drivers/usb/gadget/udc/mv_udc_core.c 	for (i = 2; i < udc->max_eps * 2; i++) {
udc              1262 drivers/usb/gadget/udc/mv_udc_core.c 		ep = &udc->eps[i];
udc              1272 drivers/usb/gadget/udc/mv_udc_core.c 		ep->udc = udc;
udc              1286 drivers/usb/gadget/udc/mv_udc_core.c 		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              1288 drivers/usb/gadget/udc/mv_udc_core.c 		ep->dqh = &udc->ep_dqh[i];
udc              1310 drivers/usb/gadget/udc/mv_udc_core.c static void gadget_reset(struct mv_udc *udc, struct usb_gadget_driver *driver)
udc              1314 drivers/usb/gadget/udc/mv_udc_core.c 	nuke(&udc->eps[0], -ESHUTDOWN);
udc              1316 drivers/usb/gadget/udc/mv_udc_core.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
udc              1322 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock(&udc->lock);
udc              1323 drivers/usb/gadget/udc/mv_udc_core.c 		usb_gadget_udc_reset(&udc->gadget, driver);
udc              1324 drivers/usb/gadget/udc/mv_udc_core.c 		spin_lock(&udc->lock);
udc              1328 drivers/usb/gadget/udc/mv_udc_core.c static void stop_activity(struct mv_udc *udc, struct usb_gadget_driver *driver)
udc              1332 drivers/usb/gadget/udc/mv_udc_core.c 	nuke(&udc->eps[0], -ESHUTDOWN);
udc              1334 drivers/usb/gadget/udc/mv_udc_core.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
udc              1340 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock(&udc->lock);
udc              1341 drivers/usb/gadget/udc/mv_udc_core.c 		driver->disconnect(&udc->gadget);
udc              1342 drivers/usb/gadget/udc/mv_udc_core.c 		spin_lock(&udc->lock);
udc              1349 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1353 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(gadget, struct mv_udc, gadget);
udc              1355 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->driver)
udc              1358 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1362 drivers/usb/gadget/udc/mv_udc_core.c 	udc->driver = driver;
udc              1364 drivers/usb/gadget/udc/mv_udc_core.c 	udc->usb_state = USB_STATE_ATTACHED;
udc              1365 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              1366 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_dir = EP_DIR_OUT;
udc              1368 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1370 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->transceiver) {
udc              1371 drivers/usb/gadget/udc/mv_udc_core.c 		retval = otg_set_peripheral(udc->transceiver->otg,
udc              1372 drivers/usb/gadget/udc/mv_udc_core.c 					&udc->gadget);
udc              1374 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc              1376 drivers/usb/gadget/udc/mv_udc_core.c 			udc->driver = NULL;
udc              1382 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->qwork)
udc              1383 drivers/usb/gadget/udc/mv_udc_core.c 		queue_work(udc->qwork, &udc->vbus_work);
udc              1390 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1393 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(gadget, struct mv_udc, gadget);
udc              1395 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1397 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_enable(udc);
udc              1398 drivers/usb/gadget/udc/mv_udc_core.c 	udc_stop(udc);
udc              1401 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1402 drivers/usb/gadget/udc/mv_udc_core.c 	stop_activity(udc, NULL);
udc              1403 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_disable(udc);
udc              1405 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1408 drivers/usb/gadget/udc/mv_udc_core.c 	udc->driver = NULL;
udc              1413 drivers/usb/gadget/udc/mv_udc_core.c static void mv_set_ptc(struct mv_udc *udc, u32 mode)
udc              1417 drivers/usb/gadget/udc/mv_udc_core.c 	portsc = readl(&udc->op_regs->portsc[0]);
udc              1419 drivers/usb/gadget/udc/mv_udc_core.c 	writel(portsc, &udc->op_regs->portsc[0]);
udc              1426 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              1429 drivers/usb/gadget/udc/mv_udc_core.c 	udc = mvep->udc;
udc              1431 drivers/usb/gadget/udc/mv_udc_core.c 	dev_info(&udc->dev->dev, "switch to test mode %d\n", req->test_mode);
udc              1433 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1435 drivers/usb/gadget/udc/mv_udc_core.c 		mv_set_ptc(udc, req->test_mode);
udc              1438 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1442 drivers/usb/gadget/udc/mv_udc_core.c udc_prime_status(struct mv_udc *udc, u8 direction, u16 status, bool empty)
udc              1448 drivers/usb/gadget/udc/mv_udc_core.c 	ep = &udc->eps[0];
udc              1449 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_dir = direction;
udc              1450 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1452 drivers/usb/gadget/udc/mv_udc_core.c 	req = udc->status_req;
udc              1464 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->test_mode) {
udc              1466 drivers/usb/gadget/udc/mv_udc_core.c 		req->test_mode = udc->test_mode;
udc              1467 drivers/usb/gadget/udc/mv_udc_core.c 		udc->test_mode = 0;
udc              1473 drivers/usb/gadget/udc/mv_udc_core.c 		req->req.dma = dma_map_single(ep->udc->gadget.dev.parent,
udc              1483 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc              1489 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev,
udc              1498 drivers/usb/gadget/udc/mv_udc_core.c 	usb_gadget_unmap_request(&udc->gadget, &req->req, ep_dir(ep));
udc              1503 drivers/usb/gadget/udc/mv_udc_core.c static void mv_udc_testmode(struct mv_udc *udc, u16 index)
udc              1506 drivers/usb/gadget/udc/mv_udc_core.c 		udc->test_mode = index;
udc              1507 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc_prime_status(udc, EP_DIR_IN, 0, true))
udc              1508 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_stall(udc);
udc              1510 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev,
udc              1514 drivers/usb/gadget/udc/mv_udc_core.c static void ch9setaddress(struct mv_udc *udc, struct usb_ctrlrequest *setup)
udc              1516 drivers/usb/gadget/udc/mv_udc_core.c 	udc->dev_addr = (u8)setup->wValue;
udc              1519 drivers/usb/gadget/udc/mv_udc_core.c 	udc->usb_state = USB_STATE_ADDRESS;
udc              1521 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc_prime_status(udc, EP_DIR_IN, 0, true))
udc              1522 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_stall(udc);
udc              1525 drivers/usb/gadget/udc/mv_udc_core.c static void ch9getstatus(struct mv_udc *udc, u8 ep_num,
udc              1537 drivers/usb/gadget/udc/mv_udc_core.c 		status |= udc->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP;
udc              1549 drivers/usb/gadget/udc/mv_udc_core.c 		status = ep_is_stall(udc, ep_num, direction)
udc              1553 drivers/usb/gadget/udc/mv_udc_core.c 	retval = udc_prime_status(udc, EP_DIR_IN, status, false);
udc              1555 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_stall(udc);
udc              1557 drivers/usb/gadget/udc/mv_udc_core.c 		udc->ep0_state = DATA_STATE_XMIT;
udc              1560 drivers/usb/gadget/udc/mv_udc_core.c static void ch9clearfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup)
udc              1570 drivers/usb/gadget/udc/mv_udc_core.c 			udc->remote_wakeup = 0;
udc              1583 drivers/usb/gadget/udc/mv_udc_core.c 				|| ep_num > udc->max_eps)
udc              1585 drivers/usb/gadget/udc/mv_udc_core.c 			ep = &udc->eps[ep_num * 2 + direction];
udc              1588 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1589 drivers/usb/gadget/udc/mv_udc_core.c 			ep_set_stall(udc, ep_num, direction, 0);
udc              1590 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1598 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc_prime_status(udc, EP_DIR_IN, 0, true))
udc              1599 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_stall(udc);
udc              1604 drivers/usb/gadget/udc/mv_udc_core.c static void ch9setfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup)
udc              1613 drivers/usb/gadget/udc/mv_udc_core.c 			udc->remote_wakeup = 1;
udc              1617 drivers/usb/gadget/udc/mv_udc_core.c 				||  udc->gadget.speed != USB_SPEED_HIGH)
udc              1618 drivers/usb/gadget/udc/mv_udc_core.c 				ep0_stall(udc);
udc              1620 drivers/usb/gadget/udc/mv_udc_core.c 			if (udc->usb_state != USB_STATE_CONFIGURED
udc              1621 drivers/usb/gadget/udc/mv_udc_core.c 				&& udc->usb_state != USB_STATE_ADDRESS
udc              1622 drivers/usb/gadget/udc/mv_udc_core.c 				&& udc->usb_state != USB_STATE_DEFAULT)
udc              1623 drivers/usb/gadget/udc/mv_udc_core.c 				ep0_stall(udc);
udc              1625 drivers/usb/gadget/udc/mv_udc_core.c 			mv_udc_testmode(udc, (setup->wIndex >> 8));
udc              1638 drivers/usb/gadget/udc/mv_udc_core.c 				|| ep_num > udc->max_eps)
udc              1640 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1641 drivers/usb/gadget/udc/mv_udc_core.c 			ep_set_stall(udc, ep_num, direction, 1);
udc              1642 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1650 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc_prime_status(udc, EP_DIR_IN, 0, true))
udc              1651 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_stall(udc);
udc              1656 drivers/usb/gadget/udc/mv_udc_core.c static void handle_setup_packet(struct mv_udc *udc, u8 ep_num,
udc              1658 drivers/usb/gadget/udc/mv_udc_core.c 	__releases(&ep->udc->lock)
udc              1659 drivers/usb/gadget/udc/mv_udc_core.c 	__acquires(&ep->udc->lock)
udc              1663 drivers/usb/gadget/udc/mv_udc_core.c 	nuke(&udc->eps[ep_num * 2 + EP_DIR_OUT], -ESHUTDOWN);
udc              1665 drivers/usb/gadget/udc/mv_udc_core.c 	dev_dbg(&udc->dev->dev, "SETUP %02x.%02x v%04x i%04x l%04x\n",
udc              1672 drivers/usb/gadget/udc/mv_udc_core.c 			ch9getstatus(udc, ep_num, setup);
udc              1676 drivers/usb/gadget/udc/mv_udc_core.c 			ch9setaddress(udc, setup);
udc              1680 drivers/usb/gadget/udc/mv_udc_core.c 			ch9clearfeature(udc, setup);
udc              1684 drivers/usb/gadget/udc/mv_udc_core.c 			ch9setfeature(udc, setup);
udc              1698 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep0_dir = (setup->bRequestType & USB_DIR_IN)
udc              1700 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1701 drivers/usb/gadget/udc/mv_udc_core.c 			if (udc->driver->setup(&udc->gadget,
udc              1702 drivers/usb/gadget/udc/mv_udc_core.c 				&udc->local_setup_buff) < 0)
udc              1703 drivers/usb/gadget/udc/mv_udc_core.c 				ep0_stall(udc);
udc              1704 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1705 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep0_state = (setup->bRequestType & USB_DIR_IN)
udc              1709 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep0_dir = EP_DIR_IN;
udc              1710 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1711 drivers/usb/gadget/udc/mv_udc_core.c 			if (udc->driver->setup(&udc->gadget,
udc              1712 drivers/usb/gadget/udc/mv_udc_core.c 				&udc->local_setup_buff) < 0)
udc              1713 drivers/usb/gadget/udc/mv_udc_core.c 				ep0_stall(udc);
udc              1714 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1715 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep0_state = WAIT_FOR_OUT_STATUS;
udc              1721 drivers/usb/gadget/udc/mv_udc_core.c static void ep0_req_complete(struct mv_udc *udc,
udc              1726 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->usb_state == USB_STATE_ADDRESS) {
udc              1728 drivers/usb/gadget/udc/mv_udc_core.c 		new_addr = (u32)udc->dev_addr;
udc              1730 drivers/usb/gadget/udc/mv_udc_core.c 			&udc->op_regs->deviceaddr);
udc              1735 drivers/usb/gadget/udc/mv_udc_core.c 	switch (udc->ep0_state) {
udc              1738 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc_prime_status(udc, EP_DIR_OUT, 0, true))
udc              1739 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_stall(udc);
udc              1743 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc_prime_status(udc, EP_DIR_IN, 0 , true))
udc              1744 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_stall(udc);
udc              1747 drivers/usb/gadget/udc/mv_udc_core.c 		udc->ep0_state = WAIT_FOR_SETUP;
udc              1750 drivers/usb/gadget/udc/mv_udc_core.c 		dev_err(&udc->dev->dev, "unexpect ep0 packets\n");
udc              1753 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_stall(udc);
udc              1758 drivers/usb/gadget/udc/mv_udc_core.c static void get_setup_data(struct mv_udc *udc, u8 ep_num, u8 *buffer_ptr)
udc              1763 drivers/usb/gadget/udc/mv_udc_core.c 	dqh = &udc->ep_dqh[ep_num * 2 + EP_DIR_OUT];
udc              1766 drivers/usb/gadget/udc/mv_udc_core.c 	writel((1 << ep_num), &udc->op_regs->epsetupstat);
udc              1771 drivers/usb/gadget/udc/mv_udc_core.c 		temp = readl(&udc->op_regs->usbcmd);
udc              1772 drivers/usb/gadget/udc/mv_udc_core.c 		writel(temp | USBCMD_SETUP_TRIPWIRE_SET, &udc->op_regs->usbcmd);
udc              1776 drivers/usb/gadget/udc/mv_udc_core.c 	} while (!(readl(&udc->op_regs->usbcmd) & USBCMD_SETUP_TRIPWIRE_SET));
udc              1779 drivers/usb/gadget/udc/mv_udc_core.c 	temp = readl(&udc->op_regs->usbcmd);
udc              1780 drivers/usb/gadget/udc/mv_udc_core.c 	writel(temp & ~USBCMD_SETUP_TRIPWIRE_SET, &udc->op_regs->usbcmd);
udc              1783 drivers/usb/gadget/udc/mv_udc_core.c static void irq_process_tr_complete(struct mv_udc *udc)
udc              1797 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->epsetupstat);
udc              1800 drivers/usb/gadget/udc/mv_udc_core.c 		for (i = 0; i < udc->max_eps; i++) {
udc              1802 drivers/usb/gadget/udc/mv_udc_core.c 				get_setup_data(udc, i,
udc              1803 drivers/usb/gadget/udc/mv_udc_core.c 					(u8 *)(&udc->local_setup_buff));
udc              1804 drivers/usb/gadget/udc/mv_udc_core.c 				handle_setup_packet(udc, i,
udc              1805 drivers/usb/gadget/udc/mv_udc_core.c 					&udc->local_setup_buff);
udc              1815 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->epcomplete);
udc              1820 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->epcomplete);
udc              1822 drivers/usb/gadget/udc/mv_udc_core.c 	for (i = 0; i < udc->max_eps * 2; i++) {
udc              1832 drivers/usb/gadget/udc/mv_udc_core.c 			curr_ep = &udc->eps[0];
udc              1834 drivers/usb/gadget/udc/mv_udc_core.c 			curr_ep = &udc->eps[i];
udc              1838 drivers/usb/gadget/udc/mv_udc_core.c 			status = process_ep_req(udc, i, curr_req);
udc              1847 drivers/usb/gadget/udc/mv_udc_core.c 				ep0_req_complete(udc, curr_ep, curr_req);
udc              1856 drivers/usb/gadget/udc/mv_udc_core.c static void irq_process_reset(struct mv_udc *udc)
udc              1861 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_dir = EP_DIR_OUT;
udc              1862 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_state = WAIT_FOR_SETUP;
udc              1863 drivers/usb/gadget/udc/mv_udc_core.c 	udc->remote_wakeup = 0;		/* default to 0 on reset */
udc              1866 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->deviceaddr);
udc              1868 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->deviceaddr);
udc              1871 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->epsetupstat);
udc              1872 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->epsetupstat);
udc              1875 drivers/usb/gadget/udc/mv_udc_core.c 	tmp = readl(&udc->op_regs->epcomplete);
udc              1876 drivers/usb/gadget/udc/mv_udc_core.c 	writel(tmp, &udc->op_regs->epcomplete);
udc              1880 drivers/usb/gadget/udc/mv_udc_core.c 	while (readl(&udc->op_regs->epprime) & 0xFFFFFFFF) {
udc              1882 drivers/usb/gadget/udc/mv_udc_core.c 			dev_err(&udc->dev->dev,
udc              1884 drivers/usb/gadget/udc/mv_udc_core.c 				readl(&udc->op_regs->epprime));
udc              1892 drivers/usb/gadget/udc/mv_udc_core.c 	writel((u32)~0, &udc->op_regs->epflush);
udc              1894 drivers/usb/gadget/udc/mv_udc_core.c 	if (readl(&udc->op_regs->portsc[0]) & PORTSCX_PORT_RESET) {
udc              1895 drivers/usb/gadget/udc/mv_udc_core.c 		dev_info(&udc->dev->dev, "usb bus reset\n");
udc              1896 drivers/usb/gadget/udc/mv_udc_core.c 		udc->usb_state = USB_STATE_DEFAULT;
udc              1898 drivers/usb/gadget/udc/mv_udc_core.c 		gadget_reset(udc, udc->driver);
udc              1900 drivers/usb/gadget/udc/mv_udc_core.c 		dev_info(&udc->dev->dev, "USB reset portsc 0x%x\n",
udc              1901 drivers/usb/gadget/udc/mv_udc_core.c 			readl(&udc->op_regs->portsc));
udc              1907 drivers/usb/gadget/udc/mv_udc_core.c 		udc_reset(udc);
udc              1910 drivers/usb/gadget/udc/mv_udc_core.c 		stop_activity(udc, udc->driver);
udc              1913 drivers/usb/gadget/udc/mv_udc_core.c 		ep0_reset(udc);
udc              1916 drivers/usb/gadget/udc/mv_udc_core.c 		udc_start(udc);
udc              1918 drivers/usb/gadget/udc/mv_udc_core.c 		udc->usb_state = USB_STATE_ATTACHED;
udc              1922 drivers/usb/gadget/udc/mv_udc_core.c static void handle_bus_resume(struct mv_udc *udc)
udc              1924 drivers/usb/gadget/udc/mv_udc_core.c 	udc->usb_state = udc->resume_state;
udc              1925 drivers/usb/gadget/udc/mv_udc_core.c 	udc->resume_state = 0;
udc              1928 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->driver) {
udc              1929 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc->driver->resume) {
udc              1930 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1931 drivers/usb/gadget/udc/mv_udc_core.c 			udc->driver->resume(&udc->gadget);
udc              1932 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1937 drivers/usb/gadget/udc/mv_udc_core.c static void irq_process_suspend(struct mv_udc *udc)
udc              1939 drivers/usb/gadget/udc/mv_udc_core.c 	udc->resume_state = udc->usb_state;
udc              1940 drivers/usb/gadget/udc/mv_udc_core.c 	udc->usb_state = USB_STATE_SUSPENDED;
udc              1942 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->driver->suspend) {
udc              1943 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock(&udc->lock);
udc              1944 drivers/usb/gadget/udc/mv_udc_core.c 		udc->driver->suspend(&udc->gadget);
udc              1945 drivers/usb/gadget/udc/mv_udc_core.c 		spin_lock(&udc->lock);
udc              1949 drivers/usb/gadget/udc/mv_udc_core.c static void irq_process_port_change(struct mv_udc *udc)
udc              1953 drivers/usb/gadget/udc/mv_udc_core.c 	portsc = readl(&udc->op_regs->portsc[0]);
udc              1959 drivers/usb/gadget/udc/mv_udc_core.c 			udc->gadget.speed = USB_SPEED_HIGH;
udc              1962 drivers/usb/gadget/udc/mv_udc_core.c 			udc->gadget.speed = USB_SPEED_FULL;
udc              1965 drivers/usb/gadget/udc/mv_udc_core.c 			udc->gadget.speed = USB_SPEED_LOW;
udc              1968 drivers/usb/gadget/udc/mv_udc_core.c 			udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1974 drivers/usb/gadget/udc/mv_udc_core.c 		udc->resume_state = udc->usb_state;
udc              1975 drivers/usb/gadget/udc/mv_udc_core.c 		udc->usb_state = USB_STATE_SUSPENDED;
udc              1976 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc->driver->suspend) {
udc              1977 drivers/usb/gadget/udc/mv_udc_core.c 			spin_unlock(&udc->lock);
udc              1978 drivers/usb/gadget/udc/mv_udc_core.c 			udc->driver->suspend(&udc->gadget);
udc              1979 drivers/usb/gadget/udc/mv_udc_core.c 			spin_lock(&udc->lock);
udc              1984 drivers/usb/gadget/udc/mv_udc_core.c 		&& udc->usb_state == USB_STATE_SUSPENDED) {
udc              1985 drivers/usb/gadget/udc/mv_udc_core.c 		handle_bus_resume(udc);
udc              1988 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->resume_state)
udc              1989 drivers/usb/gadget/udc/mv_udc_core.c 		udc->usb_state = USB_STATE_DEFAULT;
udc              1992 drivers/usb/gadget/udc/mv_udc_core.c static void irq_process_error(struct mv_udc *udc)
udc              1995 drivers/usb/gadget/udc/mv_udc_core.c 	udc->errors++;
udc              2000 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = (struct mv_udc *)dev;
udc              2004 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->stopped)
udc              2007 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock(&udc->lock);
udc              2009 drivers/usb/gadget/udc/mv_udc_core.c 	status = readl(&udc->op_regs->usbsts);
udc              2010 drivers/usb/gadget/udc/mv_udc_core.c 	intr = readl(&udc->op_regs->usbintr);
udc              2014 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock(&udc->lock);
udc              2019 drivers/usb/gadget/udc/mv_udc_core.c 	writel(status, &udc->op_regs->usbsts);
udc              2022 drivers/usb/gadget/udc/mv_udc_core.c 		irq_process_error(udc);
udc              2025 drivers/usb/gadget/udc/mv_udc_core.c 		irq_process_reset(udc);
udc              2028 drivers/usb/gadget/udc/mv_udc_core.c 		irq_process_port_change(udc);
udc              2031 drivers/usb/gadget/udc/mv_udc_core.c 		irq_process_tr_complete(udc);
udc              2034 drivers/usb/gadget/udc/mv_udc_core.c 		irq_process_suspend(udc);
udc              2036 drivers/usb/gadget/udc/mv_udc_core.c 	spin_unlock(&udc->lock);
udc              2043 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc = (struct mv_udc *)dev;
udc              2046 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->qwork)
udc              2047 drivers/usb/gadget/udc/mv_udc_core.c 		queue_work(udc->qwork, &udc->vbus_work);
udc              2054 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2057 drivers/usb/gadget/udc/mv_udc_core.c 	udc = container_of(work, struct mv_udc, vbus_work);
udc              2058 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->pdata->vbus)
udc              2061 drivers/usb/gadget/udc/mv_udc_core.c 	vbus = udc->pdata->vbus->poll();
udc              2062 drivers/usb/gadget/udc/mv_udc_core.c 	dev_info(&udc->dev->dev, "vbus is %d\n", vbus);
udc              2065 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_vbus_session(&udc->gadget, 1);
udc              2067 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_vbus_session(&udc->gadget, 0);
udc              2073 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2075 drivers/usb/gadget/udc/mv_udc_core.c 	udc = dev_get_drvdata(_dev);
udc              2077 drivers/usb/gadget/udc/mv_udc_core.c 	complete(udc->done);
udc              2082 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2084 drivers/usb/gadget/udc/mv_udc_core.c 	udc = platform_get_drvdata(pdev);
udc              2086 drivers/usb/gadget/udc/mv_udc_core.c 	usb_del_gadget_udc(&udc->gadget);
udc              2088 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->qwork) {
udc              2089 drivers/usb/gadget/udc/mv_udc_core.c 		flush_workqueue(udc->qwork);
udc              2090 drivers/usb/gadget/udc/mv_udc_core.c 		destroy_workqueue(udc->qwork);
udc              2094 drivers/usb/gadget/udc/mv_udc_core.c 	dma_pool_destroy(udc->dtd_pool);
udc              2096 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->ep_dqh)
udc              2097 drivers/usb/gadget/udc/mv_udc_core.c 		dma_free_coherent(&pdev->dev, udc->ep_dqh_size,
udc              2098 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep_dqh, udc->ep_dqh_dma);
udc              2100 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_disable(udc);
udc              2103 drivers/usb/gadget/udc/mv_udc_core.c 	wait_for_completion(udc->done);
udc              2111 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2121 drivers/usb/gadget/udc/mv_udc_core.c 	udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL);
udc              2122 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc == NULL)
udc              2125 drivers/usb/gadget/udc/mv_udc_core.c 	udc->done = &release_done;
udc              2126 drivers/usb/gadget/udc/mv_udc_core.c 	udc->pdata = dev_get_platdata(&pdev->dev);
udc              2127 drivers/usb/gadget/udc/mv_udc_core.c 	spin_lock_init(&udc->lock);
udc              2129 drivers/usb/gadget/udc/mv_udc_core.c 	udc->dev = pdev;
udc              2132 drivers/usb/gadget/udc/mv_udc_core.c 		udc->transceiver = devm_usb_get_phy(&pdev->dev,
udc              2134 drivers/usb/gadget/udc/mv_udc_core.c 		if (IS_ERR(udc->transceiver)) {
udc              2135 drivers/usb/gadget/udc/mv_udc_core.c 			retval = PTR_ERR(udc->transceiver);
udc              2140 drivers/usb/gadget/udc/mv_udc_core.c 			udc->transceiver = NULL;
udc              2146 drivers/usb/gadget/udc/mv_udc_core.c 	udc->clk = devm_clk_get(&pdev->dev, NULL);
udc              2147 drivers/usb/gadget/udc/mv_udc_core.c 	if (IS_ERR(udc->clk))
udc              2148 drivers/usb/gadget/udc/mv_udc_core.c 		return PTR_ERR(udc->clk);
udc              2150 drivers/usb/gadget/udc/mv_udc_core.c 	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "capregs");
udc              2156 drivers/usb/gadget/udc/mv_udc_core.c 	udc->cap_regs = (struct mv_cap_regs __iomem *)
udc              2158 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->cap_regs == NULL) {
udc              2163 drivers/usb/gadget/udc/mv_udc_core.c 	r = platform_get_resource_byname(udc->dev, IORESOURCE_MEM, "phyregs");
udc              2169 drivers/usb/gadget/udc/mv_udc_core.c 	udc->phy_regs = devm_ioremap(&pdev->dev, r->start, resource_size(r));
udc              2170 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->phy_regs == NULL) {
udc              2176 drivers/usb/gadget/udc/mv_udc_core.c 	retval = mv_udc_enable_internal(udc);
udc              2180 drivers/usb/gadget/udc/mv_udc_core.c 	udc->op_regs =
udc              2181 drivers/usb/gadget/udc/mv_udc_core.c 		(struct mv_op_regs __iomem *)((unsigned long)udc->cap_regs
udc              2182 drivers/usb/gadget/udc/mv_udc_core.c 		+ (readl(&udc->cap_regs->caplength_hciversion)
udc              2184 drivers/usb/gadget/udc/mv_udc_core.c 	udc->max_eps = readl(&udc->cap_regs->dccparams) & DCCPARAMS_DEN_MASK;
udc              2190 drivers/usb/gadget/udc/mv_udc_core.c 	udc_stop(udc);
udc              2191 drivers/usb/gadget/udc/mv_udc_core.c 	writel(0xFFFFFFFF, &udc->op_regs->usbsts);
udc              2193 drivers/usb/gadget/udc/mv_udc_core.c 	size = udc->max_eps * sizeof(struct mv_dqh) *2;
udc              2195 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep_dqh = dma_alloc_coherent(&pdev->dev, size,
udc              2196 drivers/usb/gadget/udc/mv_udc_core.c 					&udc->ep_dqh_dma, GFP_KERNEL);
udc              2198 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->ep_dqh == NULL) {
udc              2203 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep_dqh_size = size;
udc              2206 drivers/usb/gadget/udc/mv_udc_core.c 	udc->dtd_pool = dma_pool_create("mv_dtd",
udc              2212 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->dtd_pool) {
udc              2217 drivers/usb/gadget/udc/mv_udc_core.c 	size = udc->max_eps * sizeof(struct mv_ep) *2;
udc              2218 drivers/usb/gadget/udc/mv_udc_core.c 	udc->eps = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
udc              2219 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->eps == NULL) {
udc              2225 drivers/usb/gadget/udc/mv_udc_core.c 	udc->status_req = devm_kzalloc(&pdev->dev, sizeof(struct mv_req),
udc              2227 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->status_req) {
udc              2231 drivers/usb/gadget/udc/mv_udc_core.c 	INIT_LIST_HEAD(&udc->status_req->queue);
udc              2234 drivers/usb/gadget/udc/mv_udc_core.c 	udc->status_req->req.buf = kzalloc(8, GFP_KERNEL);
udc              2235 drivers/usb/gadget/udc/mv_udc_core.c 	udc->status_req->req.dma = DMA_ADDR_INVALID;
udc              2237 drivers/usb/gadget/udc/mv_udc_core.c 	udc->resume_state = USB_STATE_NOTATTACHED;
udc              2238 drivers/usb/gadget/udc/mv_udc_core.c 	udc->usb_state = USB_STATE_POWERED;
udc              2239 drivers/usb/gadget/udc/mv_udc_core.c 	udc->ep0_dir = EP_DIR_OUT;
udc              2240 drivers/usb/gadget/udc/mv_udc_core.c 	udc->remote_wakeup = 0;
udc              2242 drivers/usb/gadget/udc/mv_udc_core.c 	r = platform_get_resource(udc->dev, IORESOURCE_IRQ, 0);
udc              2248 drivers/usb/gadget/udc/mv_udc_core.c 	udc->irq = r->start;
udc              2249 drivers/usb/gadget/udc/mv_udc_core.c 	if (devm_request_irq(&pdev->dev, udc->irq, mv_udc_irq,
udc              2250 drivers/usb/gadget/udc/mv_udc_core.c 		IRQF_SHARED, driver_name, udc)) {
udc              2252 drivers/usb/gadget/udc/mv_udc_core.c 			udc->irq);
udc              2258 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.ops = &mv_ops;	/* usb_gadget_ops */
udc              2259 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.ep0 = &udc->eps[0].ep;	/* gadget ep0 */
udc              2260 drivers/usb/gadget/udc/mv_udc_core.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);	/* ep_list */
udc              2261 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;	/* speed */
udc              2262 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.max_speed = USB_SPEED_HIGH;	/* support dual speed */
udc              2265 drivers/usb/gadget/udc/mv_udc_core.c 	udc->gadget.name = driver_name;		/* gadget name */
udc              2267 drivers/usb/gadget/udc/mv_udc_core.c 	eps_init(udc);
udc              2270 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->transceiver)
udc              2271 drivers/usb/gadget/udc/mv_udc_core.c 		udc->clock_gating = 1;
udc              2273 drivers/usb/gadget/udc/mv_udc_core.c 		udc->clock_gating = 1;
udc              2276 drivers/usb/gadget/udc/mv_udc_core.c 				mv_udc_vbus_irq, IRQF_ONESHOT, "vbus", udc);
udc              2281 drivers/usb/gadget/udc/mv_udc_core.c 			udc->clock_gating = 0;
udc              2284 drivers/usb/gadget/udc/mv_udc_core.c 		udc->qwork = create_singlethread_workqueue("mv_udc_queue");
udc              2285 drivers/usb/gadget/udc/mv_udc_core.c 		if (!udc->qwork) {
udc              2291 drivers/usb/gadget/udc/mv_udc_core.c 		INIT_WORK(&udc->vbus_work, mv_udc_vbus_work);
udc              2299 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->clock_gating)
udc              2300 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_disable_internal(udc);
udc              2302 drivers/usb/gadget/udc/mv_udc_core.c 		udc->vbus_active = 1;
udc              2304 drivers/usb/gadget/udc/mv_udc_core.c 	retval = usb_add_gadget_udc_release(&pdev->dev, &udc->gadget,
udc              2309 drivers/usb/gadget/udc/mv_udc_core.c 	platform_set_drvdata(pdev, udc);
udc              2311 drivers/usb/gadget/udc/mv_udc_core.c 		udc->clock_gating ? "with" : "without");
udc              2316 drivers/usb/gadget/udc/mv_udc_core.c 	destroy_workqueue(udc->qwork);
udc              2318 drivers/usb/gadget/udc/mv_udc_core.c 	dma_pool_destroy(udc->dtd_pool);
udc              2320 drivers/usb/gadget/udc/mv_udc_core.c 	dma_free_coherent(&pdev->dev, udc->ep_dqh_size,
udc              2321 drivers/usb/gadget/udc/mv_udc_core.c 			udc->ep_dqh, udc->ep_dqh_dma);
udc              2323 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_disable_internal(udc);
udc              2331 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2333 drivers/usb/gadget/udc/mv_udc_core.c 	udc = dev_get_drvdata(dev);
udc              2336 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->transceiver)
udc              2339 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->pdata->vbus && udc->pdata->vbus->poll)
udc              2340 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc->pdata->vbus->poll() == VBUS_HIGH) {
udc              2341 drivers/usb/gadget/udc/mv_udc_core.c 			dev_info(&udc->dev->dev, "USB cable is connected!\n");
udc              2349 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->clock_gating) {
udc              2350 drivers/usb/gadget/udc/mv_udc_core.c 		udc_stop(udc);
udc              2352 drivers/usb/gadget/udc/mv_udc_core.c 		spin_lock_irq(&udc->lock);
udc              2354 drivers/usb/gadget/udc/mv_udc_core.c 		stop_activity(udc, udc->driver);
udc              2355 drivers/usb/gadget/udc/mv_udc_core.c 		spin_unlock_irq(&udc->lock);
udc              2357 drivers/usb/gadget/udc/mv_udc_core.c 		mv_udc_disable_internal(udc);
udc              2365 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2368 drivers/usb/gadget/udc/mv_udc_core.c 	udc = dev_get_drvdata(dev);
udc              2371 drivers/usb/gadget/udc/mv_udc_core.c 	if (udc->transceiver)
udc              2374 drivers/usb/gadget/udc/mv_udc_core.c 	if (!udc->clock_gating) {
udc              2375 drivers/usb/gadget/udc/mv_udc_core.c 		retval = mv_udc_enable_internal(udc);
udc              2379 drivers/usb/gadget/udc/mv_udc_core.c 		if (udc->driver && udc->softconnect) {
udc              2380 drivers/usb/gadget/udc/mv_udc_core.c 			udc_reset(udc);
udc              2381 drivers/usb/gadget/udc/mv_udc_core.c 			ep0_reset(udc);
udc              2382 drivers/usb/gadget/udc/mv_udc_core.c 			udc_start(udc);
udc              2397 drivers/usb/gadget/udc/mv_udc_core.c 	struct mv_udc *udc;
udc              2400 drivers/usb/gadget/udc/mv_udc_core.c 	udc = platform_get_drvdata(pdev);
udc              2402 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_enable(udc);
udc              2403 drivers/usb/gadget/udc/mv_udc_core.c 	mode = readl(&udc->op_regs->usbmode);
udc              2405 drivers/usb/gadget/udc/mv_udc_core.c 	writel(mode, &udc->op_regs->usbmode);
udc              2406 drivers/usb/gadget/udc/mv_udc_core.c 	mv_udc_disable(udc);
udc               146 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc               190 drivers/usb/gadget/udc/omap_udc.c 	udc = ep->udc;
udc               191 drivers/usb/gadget/udc/omap_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc               196 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               208 drivers/usb/gadget/udc/omap_udc.c 	omap_writew(udc->clr_halt, UDC_CTRL);
udc               213 drivers/usb/gadget/udc/omap_udc.c 		list_add(&ep->iso, &udc->iso);
udc               228 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               246 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc               255 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc               290 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc		*udc = ep->udc;
udc               301 drivers/usb/gadget/udc/omap_udc.c 		usb_gadget_unmap_request(&udc->gadget, &req->req,
udc               313 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock(&ep->udc->lock);
udc               315 drivers/usb/gadget/udc/omap_udc.c 	spin_lock(&ep->udc->lock);
udc               633 drivers/usb/gadget/udc/omap_udc.c static void dma_irq(struct omap_udc *udc, u16 irq_src)
udc               641 drivers/usb/gadget/udc/omap_udc.c 		ep = &udc->ep[16 + UDC_DMA_TX_SRC(dman_stat)];
udc               660 drivers/usb/gadget/udc/omap_udc.c 		ep = &udc->ep[UDC_DMA_RX_SRC(dman_stat)];
udc               678 drivers/usb/gadget/udc/omap_udc.c 		ep = &udc->ep[UDC_DMA_RX_SRC(dman_stat)];
udc               867 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc               899 drivers/usb/gadget/udc/omap_udc.c 	udc = ep->udc;
udc               900 drivers/usb/gadget/udc/omap_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN)
udc               904 drivers/usb/gadget/udc/omap_udc.c 		usb_gadget_map_request(&udc->gadget, &req->req,
udc               910 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               926 drivers/usb/gadget/udc/omap_udc.c 			if (!udc->ep0_pending || !list_empty(&ep->queue)) {
udc               927 drivers/usb/gadget/udc/omap_udc.c 				spin_unlock_irqrestore(&udc->lock, flags);
udc               932 drivers/usb/gadget/udc/omap_udc.c 			is_in = udc->ep0_in;
udc               939 drivers/usb/gadget/udc/omap_udc.c 				if (udc->ep0_set_config) {
udc               943 drivers/usb/gadget/udc/omap_udc.c 					if (!udc->ep0_reset_config)
udc               960 drivers/usb/gadget/udc/omap_udc.c 				udc->ep0_pending = 0;
udc               969 drivers/usb/gadget/udc/omap_udc.c 				if (udc->ep0_setup)
udc               998 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1012 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1020 drivers/usb/gadget/udc/omap_udc.c 		spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1034 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1046 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1050 drivers/usb/gadget/udc/omap_udc.c 		if (!ep->udc->ep0_pending)
udc              1053 drivers/usb/gadget/udc/omap_udc.c 			if (ep->udc->ep0_set_config) {
udc              1058 drivers/usb/gadget/udc/omap_udc.c 			ep->udc->ep0_pending = 0;
udc              1095 drivers/usb/gadget/udc/omap_udc.c 			omap_writew(ep->udc->clr_halt, UDC_CTRL);
udc              1107 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1136 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc              1140 drivers/usb/gadget/udc/omap_udc.c 	udc = container_of(gadget, struct omap_udc, gadget);
udc              1142 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1143 drivers/usb/gadget/udc/omap_udc.c 	if (udc->devstat & UDC_SUS) {
udc              1147 drivers/usb/gadget/udc/omap_udc.c 		if (udc->devstat & (UDC_B_HNP_ENABLE|UDC_R_WK_OK)) {
udc              1154 drivers/usb/gadget/udc/omap_udc.c 	} else if (!(udc->devstat & UDC_ATT)) {
udc              1155 drivers/usb/gadget/udc/omap_udc.c 		if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1156 drivers/usb/gadget/udc/omap_udc.c 			retval = otg_start_srp(udc->transceiver->otg);
udc              1158 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1166 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc              1171 drivers/usb/gadget/udc/omap_udc.c 	udc = container_of(gadget, struct omap_udc, gadget);
udc              1172 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1179 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1184 drivers/usb/gadget/udc/omap_udc.c static int can_pullup(struct omap_udc *udc)
udc              1186 drivers/usb/gadget/udc/omap_udc.c 	return udc->driver && udc->softconnect && udc->vbus_active;
udc              1189 drivers/usb/gadget/udc/omap_udc.c static void pullup_enable(struct omap_udc *udc)
udc              1196 drivers/usb/gadget/udc/omap_udc.c 	if (!gadget_is_otg(&udc->gadget) && !cpu_is_omap15xx()) {
udc              1206 drivers/usb/gadget/udc/omap_udc.c static void pullup_disable(struct omap_udc *udc)
udc              1210 drivers/usb/gadget/udc/omap_udc.c 	if (!gadget_is_otg(&udc->gadget) && !cpu_is_omap15xx()) {
udc              1223 drivers/usb/gadget/udc/omap_udc.c static struct omap_udc *udc;
udc              1227 drivers/usb/gadget/udc/omap_udc.c 	if (udc == NULL || udc->dc_clk == NULL || udc->hhc_clk == NULL)
udc              1231 drivers/usb/gadget/udc/omap_udc.c 		clk_enable(udc->dc_clk);
udc              1232 drivers/usb/gadget/udc/omap_udc.c 		clk_enable(udc->hhc_clk);
udc              1235 drivers/usb/gadget/udc/omap_udc.c 		clk_disable(udc->hhc_clk);
udc              1236 drivers/usb/gadget/udc/omap_udc.c 		clk_disable(udc->dc_clk);
udc              1246 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc              1250 drivers/usb/gadget/udc/omap_udc.c 	udc = container_of(gadget, struct omap_udc, gadget);
udc              1251 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1253 drivers/usb/gadget/udc/omap_udc.c 	udc->vbus_active = (is_active != 0);
udc              1263 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL && is_active) {
udc              1264 drivers/usb/gadget/udc/omap_udc.c 		if (!udc->clk_requested) {
udc              1266 drivers/usb/gadget/udc/omap_udc.c 			udc->clk_requested = 1;
udc              1269 drivers/usb/gadget/udc/omap_udc.c 	if (can_pullup(udc))
udc              1270 drivers/usb/gadget/udc/omap_udc.c 		pullup_enable(udc);
udc              1272 drivers/usb/gadget/udc/omap_udc.c 		pullup_disable(udc);
udc              1273 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL && !is_active) {
udc              1274 drivers/usb/gadget/udc/omap_udc.c 		if (udc->clk_requested) {
udc              1276 drivers/usb/gadget/udc/omap_udc.c 			udc->clk_requested = 0;
udc              1279 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1285 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc              1287 drivers/usb/gadget/udc/omap_udc.c 	udc = container_of(gadget, struct omap_udc, gadget);
udc              1288 drivers/usb/gadget/udc/omap_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1289 drivers/usb/gadget/udc/omap_udc.c 		return usb_phy_set_power(udc->transceiver, mA);
udc              1295 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc;
udc              1298 drivers/usb/gadget/udc/omap_udc.c 	udc = container_of(gadget, struct omap_udc, gadget);
udc              1299 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1300 drivers/usb/gadget/udc/omap_udc.c 	udc->softconnect = (is_on != 0);
udc              1301 drivers/usb/gadget/udc/omap_udc.c 	if (can_pullup(udc))
udc              1302 drivers/usb/gadget/udc/omap_udc.c 		pullup_enable(udc);
udc              1304 drivers/usb/gadget/udc/omap_udc.c 		pullup_disable(udc);
udc              1305 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1348 drivers/usb/gadget/udc/omap_udc.c static void udc_quiesce(struct omap_udc *udc)
udc              1352 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1353 drivers/usb/gadget/udc/omap_udc.c 	nuke(&udc->ep[0], -ESHUTDOWN);
udc              1354 drivers/usb/gadget/udc/omap_udc.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list)
udc              1360 drivers/usb/gadget/udc/omap_udc.c static void update_otg(struct omap_udc *udc)
udc              1364 drivers/usb/gadget/udc/omap_udc.c 	if (!gadget_is_otg(&udc->gadget))
udc              1372 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.b_hnp_enable = !!(devstat & UDC_B_HNP_ENABLE);
udc              1373 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.a_hnp_support = !!(devstat & UDC_A_HNP_SUPPORT);
udc              1374 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.a_alt_hnp_support = !!(devstat & UDC_A_ALT_HNP_SUPPORT);
udc              1379 drivers/usb/gadget/udc/omap_udc.c 	if (udc->gadget.b_hnp_enable) {
udc              1389 drivers/usb/gadget/udc/omap_udc.c static void ep0_irq(struct omap_udc *udc, u16 irq_src)
udc              1391 drivers/usb/gadget/udc/omap_udc.c 	struct omap_ep	*ep0 = &udc->ep[0];
udc              1428 drivers/usb/gadget/udc/omap_udc.c 			if (udc->ep0_in) {
udc              1435 drivers/usb/gadget/udc/omap_udc.c 				if (!req && udc->ep0_pending) {
udc              1440 drivers/usb/gadget/udc/omap_udc.c 					udc->ep0_pending = 0;
udc              1465 drivers/usb/gadget/udc/omap_udc.c 			if (!udc->ep0_in) {
udc              1473 drivers/usb/gadget/udc/omap_udc.c 					udc->ep0_pending = 0;
udc              1488 drivers/usb/gadget/udc/omap_udc.c 					udc->ep0_pending = 0;
udc              1532 drivers/usb/gadget/udc/omap_udc.c 		udc->ep0_in = (u.r.bRequestType & USB_DIR_IN) != 0;
udc              1533 drivers/usb/gadget/udc/omap_udc.c 		udc->ep0_set_config = 0;
udc              1534 drivers/usb/gadget/udc/omap_udc.c 		udc->ep0_pending = 1;
udc              1544 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_set_config = 1;
udc              1545 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_reset_config = (w_value == 0);
udc              1552 drivers/usb/gadget/udc/omap_udc.c 			if (udc->ep0_reset_config)
udc              1556 drivers/usb/gadget/udc/omap_udc.c 			update_otg(udc);
udc              1565 drivers/usb/gadget/udc/omap_udc.c 			ep = &udc->ep[w_index & 0xf];
udc              1573 drivers/usb/gadget/udc/omap_udc.c 				omap_writew(udc->clr_halt, UDC_CTRL);
udc              1594 drivers/usb/gadget/udc/omap_udc.c 			ep = &udc->ep[w_index & 0xf];
udc              1618 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_pending = 0;
udc              1630 drivers/usb/gadget/udc/omap_udc.c 			ep = &udc->ep[w_index & 0xf];
udc              1665 drivers/usb/gadget/udc/omap_udc.c 			if (!udc->ep0_in && w_length) {
udc              1693 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_setup = 1;
udc              1694 drivers/usb/gadget/udc/omap_udc.c 			spin_unlock(&udc->lock);
udc              1695 drivers/usb/gadget/udc/omap_udc.c 			status = udc->driver->setup(&udc->gadget, &u.r);
udc              1696 drivers/usb/gadget/udc/omap_udc.c 			spin_lock(&udc->lock);
udc              1697 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_setup = 0;
udc              1704 drivers/usb/gadget/udc/omap_udc.c 			if (udc->ep0_set_config) {
udc              1705 drivers/usb/gadget/udc/omap_udc.c 				if (udc->ep0_reset_config)
udc              1711 drivers/usb/gadget/udc/omap_udc.c 			udc->ep0_pending = 0;
udc              1720 drivers/usb/gadget/udc/omap_udc.c static void devstate_irq(struct omap_udc *udc, u16 irq_src)
udc              1725 drivers/usb/gadget/udc/omap_udc.c 	change = devstat ^ udc->devstat;
udc              1726 drivers/usb/gadget/udc/omap_udc.c 	udc->devstat = devstat;
udc              1729 drivers/usb/gadget/udc/omap_udc.c 		udc_quiesce(udc);
udc              1736 drivers/usb/gadget/udc/omap_udc.c 				udc->gadget.speed = USB_SPEED_FULL;
udc              1738 drivers/usb/gadget/udc/omap_udc.c 				if (IS_ERR_OR_NULL(udc->transceiver))
udc              1739 drivers/usb/gadget/udc/omap_udc.c 					pullup_enable(udc);
udc              1741 drivers/usb/gadget/udc/omap_udc.c 			} else if (udc->gadget.speed != USB_SPEED_UNKNOWN) {
udc              1742 drivers/usb/gadget/udc/omap_udc.c 				udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1743 drivers/usb/gadget/udc/omap_udc.c 				if (IS_ERR_OR_NULL(udc->transceiver))
udc              1744 drivers/usb/gadget/udc/omap_udc.c 					pullup_disable(udc);
udc              1746 drivers/usb/gadget/udc/omap_udc.c 					udc->driver->driver.name);
udc              1747 drivers/usb/gadget/udc/omap_udc.c 				if (udc->driver->disconnect) {
udc              1748 drivers/usb/gadget/udc/omap_udc.c 					spin_unlock(&udc->lock);
udc              1749 drivers/usb/gadget/udc/omap_udc.c 					udc->driver->disconnect(&udc->gadget);
udc              1750 drivers/usb/gadget/udc/omap_udc.c 					spin_lock(&udc->lock);
udc              1760 drivers/usb/gadget/udc/omap_udc.c 				udc->gadget.speed = USB_SPEED_FULL;
udc              1762 drivers/usb/gadget/udc/omap_udc.c 					udc->driver->driver.name);
udc              1771 drivers/usb/gadget/udc/omap_udc.c 		if (udc->gadget.speed != USB_SPEED_UNKNOWN) {
udc              1775 drivers/usb/gadget/udc/omap_udc.c 				update_otg(udc);
udc              1777 drivers/usb/gadget/udc/omap_udc.c 				if (udc->gadget.speed == USB_SPEED_FULL
udc              1778 drivers/usb/gadget/udc/omap_udc.c 						&& udc->driver->suspend) {
udc              1779 drivers/usb/gadget/udc/omap_udc.c 					spin_unlock(&udc->lock);
udc              1780 drivers/usb/gadget/udc/omap_udc.c 					udc->driver->suspend(&udc->gadget);
udc              1781 drivers/usb/gadget/udc/omap_udc.c 					spin_lock(&udc->lock);
udc              1783 drivers/usb/gadget/udc/omap_udc.c 				if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1785 drivers/usb/gadget/udc/omap_udc.c 							udc->transceiver, 1);
udc              1788 drivers/usb/gadget/udc/omap_udc.c 				if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1790 drivers/usb/gadget/udc/omap_udc.c 							udc->transceiver, 0);
udc              1791 drivers/usb/gadget/udc/omap_udc.c 				if (udc->gadget.speed == USB_SPEED_FULL
udc              1792 drivers/usb/gadget/udc/omap_udc.c 						&& udc->driver->resume) {
udc              1793 drivers/usb/gadget/udc/omap_udc.c 					spin_unlock(&udc->lock);
udc              1794 drivers/usb/gadget/udc/omap_udc.c 					udc->driver->resume(&udc->gadget);
udc              1795 drivers/usb/gadget/udc/omap_udc.c 					spin_lock(&udc->lock);
udc              1802 drivers/usb/gadget/udc/omap_udc.c 		update_otg(udc);
udc              1816 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc = _udc;
udc              1821 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1848 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1863 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&ep->udc->lock, flags);
udc              1883 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&ep->udc->lock, flags);
udc              1892 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc = _dev;
udc              1896 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1905 drivers/usb/gadget/udc/omap_udc.c 		ep = &udc->ep[epnum];
udc              1941 drivers/usb/gadget/udc/omap_udc.c 		ep = &udc->ep[16 + epnum];
udc              1960 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1967 drivers/usb/gadget/udc/omap_udc.c 	struct omap_udc	*udc = _dev;
udc              1972 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1975 drivers/usb/gadget/udc/omap_udc.c 	list_for_each_entry(ep, &udc->iso, iso) {
udc              2025 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2050 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2052 drivers/usb/gadget/udc/omap_udc.c 	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
udc              2059 drivers/usb/gadget/udc/omap_udc.c 	udc->ep0_pending = 0;
udc              2060 drivers/usb/gadget/udc/omap_udc.c 	udc->ep[0].irqs = 0;
udc              2061 drivers/usb/gadget/udc/omap_udc.c 	udc->softconnect = 1;
udc              2065 drivers/usb/gadget/udc/omap_udc.c 	udc->driver = driver;
udc              2066 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2068 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL)
udc              2074 drivers/usb/gadget/udc/omap_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver)) {
udc              2075 drivers/usb/gadget/udc/omap_udc.c 		status = otg_set_peripheral(udc->transceiver->otg,
udc              2076 drivers/usb/gadget/udc/omap_udc.c 						&udc->gadget);
udc              2079 drivers/usb/gadget/udc/omap_udc.c 			udc->driver = NULL;
udc              2084 drivers/usb/gadget/udc/omap_udc.c 		if (can_pullup(udc))
udc              2085 drivers/usb/gadget/udc/omap_udc.c 			pullup_enable(udc);
udc              2087 drivers/usb/gadget/udc/omap_udc.c 			pullup_disable(udc);
udc              2094 drivers/usb/gadget/udc/omap_udc.c 		omap_vbus_session(&udc->gadget, 1);
udc              2097 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL)
udc              2107 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL)
udc              2111 drivers/usb/gadget/udc/omap_udc.c 		omap_vbus_session(&udc->gadget, 0);
udc              2113 drivers/usb/gadget/udc/omap_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              2114 drivers/usb/gadget/udc/omap_udc.c 		(void) otg_set_peripheral(udc->transceiver->otg, NULL);
udc              2116 drivers/usb/gadget/udc/omap_udc.c 		pullup_disable(udc);
udc              2118 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2119 drivers/usb/gadget/udc/omap_udc.c 	udc_quiesce(udc);
udc              2120 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2122 drivers/usb/gadget/udc/omap_udc.c 	udc->driver = NULL;
udc              2124 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk != NULL)
udc              2300 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              2316 drivers/usb/gadget/udc/omap_udc.c 		udc->driver ? udc->driver->driver.name : "(none)",
udc              2318 drivers/usb/gadget/udc/omap_udc.c 		udc->transceiver
udc              2319 drivers/usb/gadget/udc/omap_udc.c 			? udc->transceiver->label
udc              2346 drivers/usb/gadget/udc/omap_udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              2423 drivers/usb/gadget/udc/omap_udc.c 		proc_ep_show(s, &udc->ep[0]);
udc              2425 drivers/usb/gadget/udc/omap_udc.c 			list_for_each_entry(ep, &udc->gadget.ep_list,
udc              2432 drivers/usb/gadget/udc/omap_udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2471 drivers/usb/gadget/udc/omap_udc.c 	ep = &udc->ep[addr & 0xf];
udc              2562 drivers/usb/gadget/udc/omap_udc.c 	ep->udc = udc;
udc              2590 drivers/usb/gadget/udc/omap_udc.c 	list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              2597 drivers/usb/gadget/udc/omap_udc.c 	pullup_disable(udc);
udc              2598 drivers/usb/gadget/udc/omap_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver)) {
udc              2599 drivers/usb/gadget/udc/omap_udc.c 		usb_put_phy(udc->transceiver);
udc              2600 drivers/usb/gadget/udc/omap_udc.c 		udc->transceiver = NULL;
udc              2604 drivers/usb/gadget/udc/omap_udc.c 	if (udc->dc_clk) {
udc              2605 drivers/usb/gadget/udc/omap_udc.c 		if (udc->clk_requested)
udc              2607 drivers/usb/gadget/udc/omap_udc.c 		clk_put(udc->hhc_clk);
udc              2608 drivers/usb/gadget/udc/omap_udc.c 		clk_put(udc->dc_clk);
udc              2610 drivers/usb/gadget/udc/omap_udc.c 	if (udc->done)
udc              2611 drivers/usb/gadget/udc/omap_udc.c 		complete(udc->done);
udc              2612 drivers/usb/gadget/udc/omap_udc.c 	kfree(udc);
udc              2631 drivers/usb/gadget/udc/omap_udc.c 	udc = kzalloc(sizeof(*udc), GFP_KERNEL);
udc              2632 drivers/usb/gadget/udc/omap_udc.c 	if (!udc)
udc              2635 drivers/usb/gadget/udc/omap_udc.c 	spin_lock_init(&udc->lock);
udc              2637 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.ops = &omap_gadget_ops;
udc              2638 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.ep0 = &udc->ep[0].ep;
udc              2639 drivers/usb/gadget/udc/omap_udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              2640 drivers/usb/gadget/udc/omap_udc.c 	INIT_LIST_HEAD(&udc->iso);
udc              2641 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2642 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.max_speed = USB_SPEED_FULL;
udc              2643 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.name = driver_name;
udc              2644 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.quirk_ep_out_aligned_size = 1;
udc              2645 drivers/usb/gadget/udc/omap_udc.c 	udc->transceiver = xceiv;
udc              2650 drivers/usb/gadget/udc/omap_udc.c 	list_del_init(&udc->ep[0].ep.ep_list);
udc              2873 drivers/usb/gadget/udc/omap_udc.c 	pullup_disable(udc);
udc              2875 drivers/usb/gadget/udc/omap_udc.c 	udc->gadget.is_otg = (config->otg != 0);
udc              2880 drivers/usb/gadget/udc/omap_udc.c 		udc->clr_halt = UDC_RESET_EP | UDC_CLRDATA_TOGGLE;
udc              2882 drivers/usb/gadget/udc/omap_udc.c 		udc->clr_halt = UDC_RESET_EP;
udc              2886 drivers/usb/gadget/udc/omap_udc.c 				  omap_udc_irq, 0, driver_name, udc);
udc              2895 drivers/usb/gadget/udc/omap_udc.c 				  omap_udc_pio_irq, 0, "omap_udc pio", udc);
udc              2903 drivers/usb/gadget/udc/omap_udc.c 				  omap_udc_iso_irq, 0, "omap_udc iso", udc);
udc              2911 drivers/usb/gadget/udc/omap_udc.c 		udc->dc_clk = dc_clk;
udc              2912 drivers/usb/gadget/udc/omap_udc.c 		udc->hhc_clk = hhc_clk;
udc              2918 drivers/usb/gadget/udc/omap_udc.c 	return usb_add_gadget_udc_release(&pdev->dev, &udc->gadget,
udc              2922 drivers/usb/gadget/udc/omap_udc.c 	kfree(udc);
udc              2923 drivers/usb/gadget/udc/omap_udc.c 	udc = NULL;
udc              2946 drivers/usb/gadget/udc/omap_udc.c 	udc->done = &done;
udc              2948 drivers/usb/gadget/udc/omap_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              2980 drivers/usb/gadget/udc/omap_udc.c 		omap_pullup(&udc->gadget, 0);
udc              2989 drivers/usb/gadget/udc/omap_udc.c 	omap_pullup(&udc->gadget, 1);
udc              2993 drivers/usb/gadget/udc/omap_udc.c 	return omap_wakeup(&udc->gadget);
udc               156 drivers/usb/gadget/udc/omap_udc.h 	struct omap_udc			*udc;
udc              1128 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc;
udc              1130 drivers/usb/gadget/udc/pxa25x_udc.c 	udc = container_of(_gadget, struct pxa25x_udc, gadget);
udc              1133 drivers/usb/gadget/udc/pxa25x_udc.c 	if ((udc_ep0_get_UDCCS(udc) & UDCCS0_DRWF) == 0)
udc              1135 drivers/usb/gadget/udc/pxa25x_udc.c 	udc_set_mask_UDCCR(udc, UDCCR_RSM);
udc              1146 drivers/usb/gadget/udc/pxa25x_udc.c static int pullup(struct pxa25x_udc *udc)
udc              1148 drivers/usb/gadget/udc/pxa25x_udc.c 	int is_active = udc->vbus && udc->pullup && !udc->suspended;
udc              1151 drivers/usb/gadget/udc/pxa25x_udc.c 		if (!udc->active) {
udc              1152 drivers/usb/gadget/udc/pxa25x_udc.c 			udc->active = 1;
udc              1154 drivers/usb/gadget/udc/pxa25x_udc.c 			clk_enable(udc->clk);
udc              1155 drivers/usb/gadget/udc/pxa25x_udc.c 			udc_enable(udc);
udc              1158 drivers/usb/gadget/udc/pxa25x_udc.c 		if (udc->active) {
udc              1159 drivers/usb/gadget/udc/pxa25x_udc.c 			if (udc->gadget.speed != USB_SPEED_UNKNOWN) {
udc              1160 drivers/usb/gadget/udc/pxa25x_udc.c 				DMSG("disconnect %s\n", udc->driver
udc              1161 drivers/usb/gadget/udc/pxa25x_udc.c 					? udc->driver->driver.name
udc              1163 drivers/usb/gadget/udc/pxa25x_udc.c 				stop_activity(udc, udc->driver);
udc              1165 drivers/usb/gadget/udc/pxa25x_udc.c 			udc_disable(udc);
udc              1167 drivers/usb/gadget/udc/pxa25x_udc.c 			clk_disable(udc->clk);
udc              1168 drivers/usb/gadget/udc/pxa25x_udc.c 			udc->active = 0;
udc              1178 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc;
udc              1180 drivers/usb/gadget/udc/pxa25x_udc.c 	udc = container_of(_gadget, struct pxa25x_udc, gadget);
udc              1181 drivers/usb/gadget/udc/pxa25x_udc.c 	udc->vbus = is_active;
udc              1183 drivers/usb/gadget/udc/pxa25x_udc.c 	pullup(udc);
udc              1190 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc;
udc              1192 drivers/usb/gadget/udc/pxa25x_udc.c 	udc = container_of(_gadget, struct pxa25x_udc, gadget);
udc              1195 drivers/usb/gadget/udc/pxa25x_udc.c 	if (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command)
udc              1198 drivers/usb/gadget/udc/pxa25x_udc.c 	udc->pullup = (is_active != 0);
udc              1199 drivers/usb/gadget/udc/pxa25x_udc.c 	pullup(udc);
udc              1209 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc;
udc              1211 drivers/usb/gadget/udc/pxa25x_udc.c 	udc = container_of(_gadget, struct pxa25x_udc, gadget);
udc              1213 drivers/usb/gadget/udc/pxa25x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1214 drivers/usb/gadget/udc/pxa25x_udc.c 		return usb_phy_set_power(udc->transceiver, mA);
udc              2498 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc = platform_get_drvdata(dev);
udc              2501 drivers/usb/gadget/udc/pxa25x_udc.c 	if (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command)
udc              2503 drivers/usb/gadget/udc/pxa25x_udc.c 	udc->suspended = 1;
udc              2506 drivers/usb/gadget/udc/pxa25x_udc.c 	pullup(udc);
udc              2514 drivers/usb/gadget/udc/pxa25x_udc.c 	struct pxa25x_udc	*udc = platform_get_drvdata(dev);
udc              2517 drivers/usb/gadget/udc/pxa25x_udc.c 	udc->suspended = 0;
udc              2519 drivers/usb/gadget/udc/pxa25x_udc.c 	pullup(udc);
udc                92 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = s->private;
udc                95 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->driver)
udc               103 drivers/usb/gadget/udc/pxa27x_udc.c 		   udc->driver ? udc->driver->driver.name : "(none)");
udc               105 drivers/usb/gadget/udc/pxa27x_udc.c 	tmp = udc_readl(udc, UDCCR);
udc               124 drivers/usb/gadget/udc/pxa27x_udc.c 		   udc_readl(udc, UDCICR0), udc_readl(udc, UDCICR1));
udc               126 drivers/usb/gadget/udc/pxa27x_udc.c 		   udc_readl(udc, UDCISR0), udc_readl(udc, UDCISR1));
udc               127 drivers/usb/gadget/udc/pxa27x_udc.c 	seq_printf(s, "udcfnr=%d\n", udc_readl(udc, UDCFNR));
udc               129 drivers/usb/gadget/udc/pxa27x_udc.c 		   udc->stats.irqs_reset, udc->stats.irqs_suspend,
udc               130 drivers/usb/gadget/udc/pxa27x_udc.c 		   udc->stats.irqs_resume, udc->stats.irqs_reconfig);
udc               138 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = s->private;
udc               143 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->driver)
udc               148 drivers/usb/gadget/udc/pxa27x_udc.c 		ep = &udc->pxa_ep[i];
udc               171 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = s->private;
udc               176 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->driver)
udc               179 drivers/usb/gadget/udc/pxa27x_udc.c 	ep = &udc->pxa_ep[0];
udc               191 drivers/usb/gadget/udc/pxa27x_udc.c 		ep = &udc->pxa_ep[i];
udc               192 drivers/usb/gadget/udc/pxa27x_udc.c 		tmp = i? udc_ep_readl(ep, UDCCR) : udc_readl(udc, UDCCR);
udc               206 drivers/usb/gadget/udc/pxa27x_udc.c static void pxa_init_debugfs(struct pxa_udc *udc)
udc               210 drivers/usb/gadget/udc/pxa27x_udc.c 	root = debugfs_create_dir(udc->gadget.name, NULL);
udc               211 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->debugfs_root = root;
udc               213 drivers/usb/gadget/udc/pxa27x_udc.c 	debugfs_create_file("udcstate", 0400, root, udc, &state_dbg_fops);
udc               214 drivers/usb/gadget/udc/pxa27x_udc.c 	debugfs_create_file("queues", 0400, root, udc, &queues_dbg_fops);
udc               215 drivers/usb/gadget/udc/pxa27x_udc.c 	debugfs_create_file("epstate", 0400, root, udc, &eps_dbg_fops);
udc               218 drivers/usb/gadget/udc/pxa27x_udc.c static void pxa_cleanup_debugfs(struct pxa_udc *udc)
udc               220 drivers/usb/gadget/udc/pxa27x_udc.c 	debugfs_remove_recursive(udc->debugfs_root);
udc               224 drivers/usb/gadget/udc/pxa27x_udc.c static inline void pxa_init_debugfs(struct pxa_udc *udc)
udc               228 drivers/usb/gadget/udc/pxa27x_udc.c static inline void pxa_cleanup_debugfs(struct pxa_udc *udc)
udc               283 drivers/usb/gadget/udc/pxa27x_udc.c static struct pxa_ep *find_pxa_ep(struct pxa_udc *udc,
udc               288 drivers/usb/gadget/udc/pxa27x_udc.c 	int cfg = udc->config;
udc               289 drivers/usb/gadget/udc/pxa27x_udc.c 	int iface = udc->last_interface;
udc               290 drivers/usb/gadget/udc/pxa27x_udc.c 	int alt = udc->last_alternate;
udc               292 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc_usb_ep == &udc->udc_usb_ep[0])
udc               293 drivers/usb/gadget/udc/pxa27x_udc.c 		return &udc->pxa_ep[0];
udc               296 drivers/usb/gadget/udc/pxa27x_udc.c 		ep = &udc->pxa_ep[i];
udc               313 drivers/usb/gadget/udc/pxa27x_udc.c static void update_pxa_ep_matches(struct pxa_udc *udc)
udc               319 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_usb_ep = &udc->udc_usb_ep[i];
udc               321 drivers/usb/gadget/udc/pxa27x_udc.c 			udc_usb_ep->pxa_ep = find_pxa_ep(udc, udc_usb_ep);
udc               331 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = ep->dev;
udc               333 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcicr0 = udc_readl(udc, UDCICR0);
udc               334 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcicr1 = udc_readl(udc, UDCICR1);
udc               337 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCICR0, udcicr0 | (3 << (index * 2)));
udc               339 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCICR1, udcicr1 | (3 << ((index - 16) * 2)));
udc               348 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = ep->dev;
udc               350 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcicr0 = udc_readl(udc, UDCICR0);
udc               351 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcicr1 = udc_readl(udc, UDCICR1);
udc               354 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCICR0, udcicr0 & ~(3 << (index * 2)));
udc               356 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCICR1, udcicr1 & ~(3 << ((index - 16) * 2)));
udc               366 drivers/usb/gadget/udc/pxa27x_udc.c static inline void udc_set_mask_UDCCR(struct pxa_udc *udc, int mask)
udc               368 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udccr = udc_readl(udc, UDCCR);
udc               369 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCCR,
udc               380 drivers/usb/gadget/udc/pxa27x_udc.c static inline void udc_clear_mask_UDCCR(struct pxa_udc *udc, int mask)
udc               382 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udccr = udc_readl(udc, UDCCR);
udc               383 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCCR,
udc               478 drivers/usb/gadget/udc/pxa27x_udc.c static void set_ep0state(struct pxa_udc *udc, int state)
udc               480 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_ep *ep = &udc->pxa_ep[0];
udc               481 drivers/usb/gadget/udc/pxa27x_udc.c 	char *old_stname = EP0_STNAME(udc);
udc               483 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->ep0state = state;
udc               485 drivers/usb/gadget/udc/pxa27x_udc.c 		EP0_STNAME(udc), udc_ep_readl(ep, UDCCSR),
udc              1322 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc		*udc;
udc              1355 drivers/usb/gadget/udc/pxa27x_udc.c 	udc = ep->dev;
udc              1357 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc              1426 drivers/usb/gadget/udc/pxa27x_udc.c static void dplus_pullup(struct pxa_udc *udc, int on)
udc              1428 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->gpiod) {
udc              1429 drivers/usb/gadget/udc/pxa27x_udc.c 		gpiod_set_value(udc->gpiod, on);
udc              1430 drivers/usb/gadget/udc/pxa27x_udc.c 	} else if (udc->udc_command) {
udc              1432 drivers/usb/gadget/udc/pxa27x_udc.c 			udc->udc_command(PXA2XX_UDC_CMD_CONNECT);
udc              1434 drivers/usb/gadget/udc/pxa27x_udc.c 			udc->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
udc              1436 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->pullup_on = on;
udc              1445 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_gadget_udc(_gadget);
udc              1447 drivers/usb/gadget/udc/pxa27x_udc.c 	return (udc_readl(udc, UDCFNR) & 0x7ff);
udc              1458 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_gadget_udc(_gadget);
udc              1461 drivers/usb/gadget/udc/pxa27x_udc.c 	if ((udc_readl(udc, UDCCR) & UDCCR_DWRE) == 0)
udc              1463 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_set_mask_UDCCR(udc, UDCCR_UDR);
udc              1467 drivers/usb/gadget/udc/pxa27x_udc.c static void udc_enable(struct pxa_udc *udc);
udc              1468 drivers/usb/gadget/udc/pxa27x_udc.c static void udc_disable(struct pxa_udc *udc);
udc              1483 drivers/usb/gadget/udc/pxa27x_udc.c static int should_enable_udc(struct pxa_udc *udc)
udc              1487 drivers/usb/gadget/udc/pxa27x_udc.c 	put_on = ((udc->pullup_on) && (udc->driver));
udc              1488 drivers/usb/gadget/udc/pxa27x_udc.c 	put_on &= ((udc->vbus_sensed) || (IS_ERR_OR_NULL(udc->transceiver)));
udc              1504 drivers/usb/gadget/udc/pxa27x_udc.c static int should_disable_udc(struct pxa_udc *udc)
udc              1508 drivers/usb/gadget/udc/pxa27x_udc.c 	put_off = ((!udc->pullup_on) || (!udc->driver));
udc              1509 drivers/usb/gadget/udc/pxa27x_udc.c 	put_off |= ((!udc->vbus_sensed) && (!IS_ERR_OR_NULL(udc->transceiver)));
udc              1523 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_gadget_udc(_gadget);
udc              1525 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->gpiod && !udc->udc_command)
udc              1528 drivers/usb/gadget/udc/pxa27x_udc.c 	dplus_pullup(udc, is_active);
udc              1530 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_enable_udc(udc))
udc              1531 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_enable(udc);
udc              1532 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_disable_udc(udc))
udc              1533 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_disable(udc);
udc              1549 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_gadget_udc(_gadget);
udc              1551 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->vbus_sensed = is_active;
udc              1552 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_enable_udc(udc))
udc              1553 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_enable(udc);
udc              1554 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_disable_udc(udc))
udc              1555 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_disable(udc);
udc              1574 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc;
udc              1576 drivers/usb/gadget/udc/pxa27x_udc.c 	udc = to_gadget_udc(_gadget);
udc              1577 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1578 drivers/usb/gadget/udc/pxa27x_udc.c 		return usb_phy_set_power(udc->transceiver, mA);
udc              1635 drivers/usb/gadget/udc/pxa27x_udc.c static void udc_disable(struct pxa_udc *udc)
udc              1637 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!udc->enabled)
udc              1640 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCICR0, 0);
udc              1641 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCICR1, 0);
udc              1643 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_clear_mask_UDCCR(udc, UDCCR_UDE);
udc              1645 drivers/usb/gadget/udc/pxa27x_udc.c 	ep0_idle(udc);
udc              1646 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1647 drivers/usb/gadget/udc/pxa27x_udc.c 	clk_disable(udc->clk);
udc              1649 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->enabled = 0;
udc              1696 drivers/usb/gadget/udc/pxa27x_udc.c static void udc_enable(struct pxa_udc *udc)
udc              1698 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->enabled)
udc              1701 drivers/usb/gadget/udc/pxa27x_udc.c 	clk_enable(udc->clk);
udc              1702 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCICR0, 0);
udc              1703 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCICR1, 0);
udc              1704 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_clear_mask_UDCCR(udc, UDCCR_UDE);
udc              1706 drivers/usb/gadget/udc/pxa27x_udc.c 	ep0_idle(udc);
udc              1707 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->gadget.speed = USB_SPEED_FULL;
udc              1708 drivers/usb/gadget/udc/pxa27x_udc.c 	memset(&udc->stats, 0, sizeof(udc->stats));
udc              1710 drivers/usb/gadget/udc/pxa27x_udc.c 	pxa_eps_setup(udc);
udc              1711 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_set_mask_UDCCR(udc, UDCCR_UDE);
udc              1712 drivers/usb/gadget/udc/pxa27x_udc.c 	ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_ACM);
udc              1714 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc_readl(udc, UDCCR) & UDCCR_EMCE)
udc              1715 drivers/usb/gadget/udc/pxa27x_udc.c 		dev_err(udc->dev, "Configuration errors, udc disabled\n");
udc              1723 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCICR1,
udc              1728 drivers/usb/gadget/udc/pxa27x_udc.c 	pio_irq_enable(&udc->pxa_ep[0]);
udc              1730 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->enabled = 1;
udc              1751 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_pxa(g);
udc              1755 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->driver = driver;
udc              1757 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver)) {
udc              1758 drivers/usb/gadget/udc/pxa27x_udc.c 		retval = otg_set_peripheral(udc->transceiver->otg,
udc              1759 drivers/usb/gadget/udc/pxa27x_udc.c 						&udc->gadget);
udc              1761 drivers/usb/gadget/udc/pxa27x_udc.c 			dev_err(udc->dev, "can't bind to transceiver\n");
udc              1766 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_enable_udc(udc))
udc              1767 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_enable(udc);
udc              1771 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->driver = NULL;
udc              1783 drivers/usb/gadget/udc/pxa27x_udc.c static void stop_activity(struct pxa_udc *udc)
udc              1787 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1790 drivers/usb/gadget/udc/pxa27x_udc.c 		pxa_ep_disable(&udc->udc_usb_ep[i].usb_ep);
udc              1801 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = to_pxa(g);
udc              1803 drivers/usb/gadget/udc/pxa27x_udc.c 	stop_activity(udc);
udc              1804 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_disable(udc);
udc              1806 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->driver = NULL;
udc              1808 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              1809 drivers/usb/gadget/udc/pxa27x_udc.c 		return otg_set_peripheral(udc->transceiver->otg, NULL);
udc              1818 drivers/usb/gadget/udc/pxa27x_udc.c static void handle_ep0_ctrl_req(struct pxa_udc *udc,
udc              1821 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_ep *ep = &udc->pxa_ep[0];
udc              1863 drivers/usb/gadget/udc/pxa27x_udc.c 		set_ep0state(udc, IN_DATA_STAGE);
udc              1865 drivers/usb/gadget/udc/pxa27x_udc.c 		set_ep0state(udc, OUT_DATA_STAGE);
udc              1871 drivers/usb/gadget/udc/pxa27x_udc.c 	i = udc->driver->setup(&udc->gadget, &u.r);
udc              1882 drivers/usb/gadget/udc/pxa27x_udc.c 	set_ep0state(udc, STALL);
udc              1934 drivers/usb/gadget/udc/pxa27x_udc.c static void handle_ep0(struct pxa_udc *udc, int fifo_irq, int opc_irq)
udc              1937 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_ep		*ep = &udc->pxa_ep[0];
udc              1946 drivers/usb/gadget/udc/pxa27x_udc.c 		EP0_STNAME(udc), req, udccsr0, udc_ep_readl(ep, UDCBCR),
udc              1953 drivers/usb/gadget/udc/pxa27x_udc.c 		ep0_idle(udc);
udc              1958 drivers/usb/gadget/udc/pxa27x_udc.c 		set_ep0state(udc, SETUP_STAGE);
udc              1961 drivers/usb/gadget/udc/pxa27x_udc.c 	switch (udc->ep0state) {
udc              1973 drivers/usb/gadget/udc/pxa27x_udc.c 			handle_ep0_ctrl_req(udc, req);
udc              1999 drivers/usb/gadget/udc/pxa27x_udc.c 			ep0_idle(udc);
udc              2005 drivers/usb/gadget/udc/pxa27x_udc.c 		ep0_idle(udc);
udc              2081 drivers/usb/gadget/udc/pxa27x_udc.c static void pxa27x_change_configuration(struct pxa_udc *udc, int config)
udc              2085 drivers/usb/gadget/udc/pxa27x_udc.c 	dev_dbg(udc->dev, "config=%d\n", config);
udc              2087 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->config = config;
udc              2088 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->last_interface = 0;
udc              2089 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->last_alternate = 0;
udc              2097 drivers/usb/gadget/udc/pxa27x_udc.c 	set_ep0state(udc, WAIT_ACK_SET_CONF_INTERF);
udc              2098 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->driver->setup(&udc->gadget, &req);
udc              2099 drivers/usb/gadget/udc/pxa27x_udc.c 	ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_AREN);
udc              2111 drivers/usb/gadget/udc/pxa27x_udc.c static void pxa27x_change_interface(struct pxa_udc *udc, int iface, int alt)
udc              2115 drivers/usb/gadget/udc/pxa27x_udc.c 	dev_dbg(udc->dev, "interface=%d, alternate setting=%d\n", iface, alt);
udc              2117 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->last_interface = iface;
udc              2118 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->last_alternate = alt;
udc              2126 drivers/usb/gadget/udc/pxa27x_udc.c 	set_ep0state(udc, WAIT_ACK_SET_CONF_INTERF);
udc              2127 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->driver->setup(&udc->gadget, &req);
udc              2128 drivers/usb/gadget/udc/pxa27x_udc.c 	ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_AREN);
udc              2138 drivers/usb/gadget/udc/pxa27x_udc.c static void irq_handle_data(int irq, struct pxa_udc *udc)
udc              2142 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcisr0 = udc_readl(udc, UDCISR0) & UDCCISR0_EP_MASK;
udc              2143 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcisr1 = udc_readl(udc, UDCISR1) & UDCCISR1_EP_MASK;
udc              2146 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->pxa_ep[0].stats.irqs++;
udc              2147 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCISR0, UDCISR_INT(0, UDCISR_INT_MASK));
udc              2148 drivers/usb/gadget/udc/pxa27x_udc.c 		handle_ep0(udc, !!(udcisr0 & UDCICR_FIFOERR),
udc              2157 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCISR0, UDCISR_INT(i, UDCISR_INT_MASK));
udc              2159 drivers/usb/gadget/udc/pxa27x_udc.c 		WARN_ON(i >= ARRAY_SIZE(udc->pxa_ep));
udc              2160 drivers/usb/gadget/udc/pxa27x_udc.c 		if (i < ARRAY_SIZE(udc->pxa_ep)) {
udc              2161 drivers/usb/gadget/udc/pxa27x_udc.c 			ep = &udc->pxa_ep[i];
udc              2168 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_writel(udc, UDCISR1, UDCISR_INT(i - 16, UDCISR_INT_MASK));
udc              2172 drivers/usb/gadget/udc/pxa27x_udc.c 		WARN_ON(i >= ARRAY_SIZE(udc->pxa_ep));
udc              2173 drivers/usb/gadget/udc/pxa27x_udc.c 		if (i < ARRAY_SIZE(udc->pxa_ep)) {
udc              2174 drivers/usb/gadget/udc/pxa27x_udc.c 			ep = &udc->pxa_ep[i];
udc              2186 drivers/usb/gadget/udc/pxa27x_udc.c static void irq_udc_suspend(struct pxa_udc *udc)
udc              2188 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCISR1, UDCISR1_IRSU);
udc              2189 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->stats.irqs_suspend++;
udc              2191 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->gadget.speed != USB_SPEED_UNKNOWN
udc              2192 drivers/usb/gadget/udc/pxa27x_udc.c 			&& udc->driver && udc->driver->suspend)
udc              2193 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->driver->suspend(&udc->gadget);
udc              2194 drivers/usb/gadget/udc/pxa27x_udc.c 	ep0_idle(udc);
udc              2201 drivers/usb/gadget/udc/pxa27x_udc.c static void irq_udc_resume(struct pxa_udc *udc)
udc              2203 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCISR1, UDCISR1_IRRU);
udc              2204 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->stats.irqs_resume++;
udc              2206 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->gadget.speed != USB_SPEED_UNKNOWN
udc              2207 drivers/usb/gadget/udc/pxa27x_udc.c 			&& udc->driver && udc->driver->resume)
udc              2208 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->driver->resume(&udc->gadget);
udc              2215 drivers/usb/gadget/udc/pxa27x_udc.c static void irq_udc_reconfig(struct pxa_udc *udc)
udc              2218 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udccr = udc_readl(udc, UDCCR);
udc              2220 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCISR1, UDCISR1_IRCC);
udc              2221 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->stats.irqs_reconfig++;
udc              2224 drivers/usb/gadget/udc/pxa27x_udc.c 	config_change = (config != udc->config);
udc              2225 drivers/usb/gadget/udc/pxa27x_udc.c 	pxa27x_change_configuration(udc, config);
udc              2229 drivers/usb/gadget/udc/pxa27x_udc.c 	pxa27x_change_interface(udc, interface, alternate);
udc              2232 drivers/usb/gadget/udc/pxa27x_udc.c 		update_pxa_ep_matches(udc);
udc              2233 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_set_mask_UDCCR(udc, UDCCR_SMAC);
udc              2240 drivers/usb/gadget/udc/pxa27x_udc.c static void irq_udc_reset(struct pxa_udc *udc)
udc              2242 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udccr = udc_readl(udc, UDCCR);
udc              2243 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_ep *ep = &udc->pxa_ep[0];
udc              2245 drivers/usb/gadget/udc/pxa27x_udc.c 	dev_info(udc->dev, "USB reset\n");
udc              2246 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_writel(udc, UDCISR1, UDCISR1_IRRS);
udc              2247 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->stats.irqs_reset++;
udc              2250 drivers/usb/gadget/udc/pxa27x_udc.c 		dev_dbg(udc->dev, "USB reset start\n");
udc              2251 drivers/usb/gadget/udc/pxa27x_udc.c 		stop_activity(udc);
udc              2253 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->gadget.speed = USB_SPEED_FULL;
udc              2254 drivers/usb/gadget/udc/pxa27x_udc.c 	memset(&udc->stats, 0, sizeof udc->stats);
udc              2258 drivers/usb/gadget/udc/pxa27x_udc.c 	ep0_idle(udc);
udc              2270 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = _dev;
udc              2271 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcisr0 = udc_readl(udc, UDCISR0);
udc              2272 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udcisr1 = udc_readl(udc, UDCISR1);
udc              2273 drivers/usb/gadget/udc/pxa27x_udc.c 	u32 udccr = udc_readl(udc, UDCCR);
udc              2276 drivers/usb/gadget/udc/pxa27x_udc.c 	dev_vdbg(udc->dev, "Interrupt, UDCISR0:0x%08x, UDCISR1:0x%08x, "
udc              2281 drivers/usb/gadget/udc/pxa27x_udc.c 		irq_udc_suspend(udc);
udc              2283 drivers/usb/gadget/udc/pxa27x_udc.c 		irq_udc_resume(udc);
udc              2285 drivers/usb/gadget/udc/pxa27x_udc.c 		irq_udc_reconfig(udc);
udc              2287 drivers/usb/gadget/udc/pxa27x_udc.c 		irq_udc_reset(udc);
udc              2290 drivers/usb/gadget/udc/pxa27x_udc.c 		irq_handle_data(irq, udc);
udc              2360 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = &memory;
udc              2374 drivers/usb/gadget/udc/pxa27x_udc.c 			udc->gpiod = gpio_to_desc(mach->gpio_pullup);
udc              2376 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->udc_command = mach->udc_command;
udc              2378 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->gpiod = devm_gpiod_get(&pdev->dev, NULL, GPIOD_ASIS);
udc              2382 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->regs = devm_ioremap_resource(&pdev->dev, regs);
udc              2383 drivers/usb/gadget/udc/pxa27x_udc.c 	if (IS_ERR(udc->regs))
udc              2384 drivers/usb/gadget/udc/pxa27x_udc.c 		return PTR_ERR(udc->regs);
udc              2385 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->irq = platform_get_irq(pdev, 0);
udc              2386 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->irq < 0)
udc              2387 drivers/usb/gadget/udc/pxa27x_udc.c 		return udc->irq;
udc              2389 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->dev = &pdev->dev;
udc              2391 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->transceiver =
udc              2392 drivers/usb/gadget/udc/pxa27x_udc.c 			devm_usb_get_phy_by_phandle(udc->dev, "phys", 0);
udc              2393 drivers/usb/gadget/udc/pxa27x_udc.c 		if (IS_ERR(udc->transceiver))
udc              2394 drivers/usb/gadget/udc/pxa27x_udc.c 			return PTR_ERR(udc->transceiver);
udc              2396 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
udc              2399 drivers/usb/gadget/udc/pxa27x_udc.c 	if (IS_ERR(udc->gpiod)) {
udc              2401 drivers/usb/gadget/udc/pxa27x_udc.c 			PTR_ERR(udc->gpiod));
udc              2402 drivers/usb/gadget/udc/pxa27x_udc.c 		return PTR_ERR(udc->gpiod);
udc              2404 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->gpiod)
udc              2405 drivers/usb/gadget/udc/pxa27x_udc.c 		gpiod_direction_output(udc->gpiod, 0);
udc              2407 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->clk = devm_clk_get(&pdev->dev, NULL);
udc              2408 drivers/usb/gadget/udc/pxa27x_udc.c 	if (IS_ERR(udc->clk))
udc              2409 drivers/usb/gadget/udc/pxa27x_udc.c 		return PTR_ERR(udc->clk);
udc              2411 drivers/usb/gadget/udc/pxa27x_udc.c 	retval = clk_prepare(udc->clk);
udc              2415 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->vbus_sensed = 0;
udc              2417 drivers/usb/gadget/udc/pxa27x_udc.c 	the_controller = udc;
udc              2418 drivers/usb/gadget/udc/pxa27x_udc.c 	platform_set_drvdata(pdev, udc);
udc              2419 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_init_data(udc);
udc              2422 drivers/usb/gadget/udc/pxa27x_udc.c 	retval = devm_request_irq(&pdev->dev, udc->irq, pxa_udc_irq,
udc              2423 drivers/usb/gadget/udc/pxa27x_udc.c 				  IRQF_SHARED, driver_name, udc);
udc              2425 drivers/usb/gadget/udc/pxa27x_udc.c 		dev_err(udc->dev, "%s: can't get irq %i, err %d\n",
udc              2426 drivers/usb/gadget/udc/pxa27x_udc.c 			driver_name, udc->irq, retval);
udc              2430 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              2431 drivers/usb/gadget/udc/pxa27x_udc.c 		usb_register_notifier(udc->transceiver, &pxa27x_udc_phy);
udc              2432 drivers/usb/gadget/udc/pxa27x_udc.c 	retval = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
udc              2436 drivers/usb/gadget/udc/pxa27x_udc.c 	pxa_init_debugfs(udc);
udc              2437 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_enable_udc(udc))
udc              2438 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_enable(udc);
udc              2442 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver))
udc              2443 drivers/usb/gadget/udc/pxa27x_udc.c 		usb_unregister_notifier(udc->transceiver, &pxa27x_udc_phy);
udc              2445 drivers/usb/gadget/udc/pxa27x_udc.c 	clk_unprepare(udc->clk);
udc              2455 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = platform_get_drvdata(_dev);
udc              2457 drivers/usb/gadget/udc/pxa27x_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              2458 drivers/usb/gadget/udc/pxa27x_udc.c 	pxa_cleanup_debugfs(udc);
udc              2460 drivers/usb/gadget/udc/pxa27x_udc.c 	if (!IS_ERR_OR_NULL(udc->transceiver)) {
udc              2461 drivers/usb/gadget/udc/pxa27x_udc.c 		usb_unregister_notifier(udc->transceiver, &pxa27x_udc_phy);
udc              2462 drivers/usb/gadget/udc/pxa27x_udc.c 		usb_put_phy(udc->transceiver);
udc              2465 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->transceiver = NULL;
udc              2467 drivers/usb/gadget/udc/pxa27x_udc.c 	clk_unprepare(udc->clk);
udc              2474 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = platform_get_drvdata(_dev);
udc              2476 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc_readl(udc, UDCCR) & UDCCR_UDE)
udc              2477 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_disable(udc);
udc              2497 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = platform_get_drvdata(_dev);
udc              2500 drivers/usb/gadget/udc/pxa27x_udc.c 	ep = &udc->pxa_ep[0];
udc              2501 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->udccsr0 = udc_ep_readl(ep, UDCCSR);
udc              2503 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_disable(udc);
udc              2504 drivers/usb/gadget/udc/pxa27x_udc.c 	udc->pullup_resume = udc->pullup_on;
udc              2505 drivers/usb/gadget/udc/pxa27x_udc.c 	dplus_pullup(udc, 0);
udc              2507 drivers/usb/gadget/udc/pxa27x_udc.c 	if (udc->driver)
udc              2508 drivers/usb/gadget/udc/pxa27x_udc.c 		udc->driver->disconnect(&udc->gadget);
udc              2522 drivers/usb/gadget/udc/pxa27x_udc.c 	struct pxa_udc *udc = platform_get_drvdata(_dev);
udc              2525 drivers/usb/gadget/udc/pxa27x_udc.c 	ep = &udc->pxa_ep[0];
udc              2526 drivers/usb/gadget/udc/pxa27x_udc.c 	udc_ep_writel(ep, UDCCSR, udc->udccsr0 & (UDCCSR0_FST | UDCCSR0_DME));
udc              2528 drivers/usb/gadget/udc/pxa27x_udc.c 	dplus_pullup(udc, udc->pullup_resume);
udc              2529 drivers/usb/gadget/udc/pxa27x_udc.c 	if (should_enable_udc(udc))
udc              2530 drivers/usb/gadget/udc/pxa27x_udc.c 		udc_enable(udc);
udc               190 drivers/usb/gadget/udc/pxa27x_udc.h #define udc_writel(udc, reg, value)	\
udc               191 drivers/usb/gadget/udc/pxa27x_udc.h 	__raw_writel((value), (udc)->regs + (reg))
udc               404 drivers/usb/gadget/udc/pxa27x_udc.h #define EP0_STNAME(udc) ep0_state_name[(udc)->ep0state]
udc               251 drivers/usb/gadget/udc/s3c2410_udc.c static void s3c2410_udc_nuke(struct s3c2410_udc *udc,
udc              1277 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc	*udc;
udc              1290 drivers/usb/gadget/udc/s3c2410_udc.c 	udc = to_s3c2410_udc(ep->gadget);
udc              1415 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = to_s3c2410_udc(gadget);
udc              1421 drivers/usb/gadget/udc/s3c2410_udc.c 		udc->devstatus |= (1 << USB_DEVICE_SELF_POWERED);
udc              1423 drivers/usb/gadget/udc/s3c2410_udc.c 		udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
udc              1431 drivers/usb/gadget/udc/s3c2410_udc.c static int s3c2410_udc_set_pullup(struct s3c2410_udc *udc, int is_on)
udc              1439 drivers/usb/gadget/udc/s3c2410_udc.c 			s3c2410_udc_enable(udc);
udc              1441 drivers/usb/gadget/udc/s3c2410_udc.c 			if (udc->gadget.speed != USB_SPEED_UNKNOWN) {
udc              1442 drivers/usb/gadget/udc/s3c2410_udc.c 				if (udc->driver && udc->driver->disconnect)
udc              1443 drivers/usb/gadget/udc/s3c2410_udc.c 					udc->driver->disconnect(&udc->gadget);
udc              1446 drivers/usb/gadget/udc/s3c2410_udc.c 			s3c2410_udc_disable(udc);
udc              1457 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = to_s3c2410_udc(gadget);
udc              1461 drivers/usb/gadget/udc/s3c2410_udc.c 	udc->vbus = (is_active != 0);
udc              1462 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_set_pullup(udc, is_active);
udc              1468 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = to_s3c2410_udc(gadget);
udc              1472 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_set_pullup(udc, is_on);
udc              1635 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = to_s3c2410(g);
udc              1640 drivers/usb/gadget/udc/s3c2410_udc.c 	udc->driver = driver;
udc              1643 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_enable(udc);
udc              1650 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = to_s3c2410(g);
udc              1652 drivers/usb/gadget/udc/s3c2410_udc.c 	udc->driver = NULL;
udc              1655 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_disable(udc);
udc              1749 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = &memory;
udc              1784 drivers/usb/gadget/udc/s3c2410_udc.c 	spin_lock_init(&udc->lock);
udc              1799 drivers/usb/gadget/udc/s3c2410_udc.c 	the_controller = udc;
udc              1800 drivers/usb/gadget/udc/s3c2410_udc.c 	platform_set_drvdata(pdev, udc);
udc              1802 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_disable(udc);
udc              1803 drivers/usb/gadget/udc/s3c2410_udc.c 	s3c2410_udc_reinit(udc);
udc              1807 drivers/usb/gadget/udc/s3c2410_udc.c 			     0, gadget_name, udc);
udc              1834 drivers/usb/gadget/udc/s3c2410_udc.c 				     gadget_name, udc);
udc              1845 drivers/usb/gadget/udc/s3c2410_udc.c 		udc->vbus = 1;
udc              1859 drivers/usb/gadget/udc/s3c2410_udc.c 	retval = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
udc              1863 drivers/usb/gadget/udc/s3c2410_udc.c 	udc->regs_info = debugfs_create_file("registers", S_IRUGO,
udc              1864 drivers/usb/gadget/udc/s3c2410_udc.c 					     s3c2410_udc_debugfs_root, udc,
udc              1877 drivers/usb/gadget/udc/s3c2410_udc.c 		free_irq(gpio_to_irq(udc_info->vbus_pin), udc);
udc              1882 drivers/usb/gadget/udc/s3c2410_udc.c 	free_irq(IRQ_USBD, udc);
udc              1896 drivers/usb/gadget/udc/s3c2410_udc.c 	struct s3c2410_udc *udc = platform_get_drvdata(pdev);
udc              1901 drivers/usb/gadget/udc/s3c2410_udc.c 	if (udc->driver)
udc              1904 drivers/usb/gadget/udc/s3c2410_udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              1905 drivers/usb/gadget/udc/s3c2410_udc.c 	debugfs_remove(udc->regs_info);
udc              1913 drivers/usb/gadget/udc/s3c2410_udc.c 		free_irq(irq, udc);
udc              1916 drivers/usb/gadget/udc/s3c2410_udc.c 	free_irq(IRQ_USBD, udc);
udc                40 drivers/usb/gadget/udc/snps_udc_core.c static void udc_setup_endpoints(struct udc *dev);
udc                41 drivers/usb/gadget/udc/snps_udc_core.c static void udc_soft_reset(struct udc *dev);
udc                56 drivers/usb/gadget/udc/snps_udc_core.c static struct udc *udc;
udc               100 drivers/usb/gadget/udc/snps_udc_core.c 		(unsigned long) &udc);
udc               190 drivers/usb/gadget/udc/snps_udc_core.c static void print_regs(struct udc *dev)
udc               223 drivers/usb/gadget/udc/snps_udc_core.c int udc_mask_unused_interrupts(struct udc *dev)
udc               246 drivers/usb/gadget/udc/snps_udc_core.c static int udc_enable_ep0_interrupts(struct udc *dev)
udc               263 drivers/usb/gadget/udc/snps_udc_core.c int udc_enable_dev_setup_interrupts(struct udc *dev)
udc               287 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc	*dev;
udc               328 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc		*dev;
udc               566 drivers/usb/gadget/udc/snps_udc_core.c static void udc_free_dma_chain(struct udc *dev, struct udc_request *req)
udc               686 drivers/usb/gadget/udc/snps_udc_core.c static int udc_rxfifo_read_dwords(struct udc *dev, u32 *buf, int dwords)
udc               698 drivers/usb/gadget/udc/snps_udc_core.c static int udc_rxfifo_read_bytes(struct udc *dev, u8 *buf, int bytes)
udc               970 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc		*dev;
udc              1036 drivers/usb/gadget/udc/snps_udc_core.c static void udc_set_rde(struct udc *dev)
udc              1061 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc		*dev;
udc              1084 drivers/usb/gadget/udc/snps_udc_core.c 		retval = usb_gadget_map_request(&udc->gadget, usbreq, ep->in);
udc              1282 drivers/usb/gadget/udc/snps_udc_core.c 				tmp = readl(&udc->regs->ctl);
udc              1284 drivers/usb/gadget/udc/snps_udc_core.c 							&udc->regs->ctl);
udc              1298 drivers/usb/gadget/udc/snps_udc_core.c 				writel(tmp, &udc->regs->ctl);
udc              1396 drivers/usb/gadget/udc/snps_udc_core.c static int udc_remote_wakeup(struct udc *dev)
udc              1418 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc		*dev;
udc              1422 drivers/usb/gadget/udc/snps_udc_core.c 	dev = container_of(gadget, struct udc, gadget);
udc              1440 drivers/usb/gadget/udc/snps_udc_core.c static void make_ep_lists(struct udc *dev)
udc              1461 drivers/usb/gadget/udc/snps_udc_core.c void udc_basic_init(struct udc *dev)
udc              1500 drivers/usb/gadget/udc/snps_udc_core.c static int startup_registers(struct udc *dev)
udc              1527 drivers/usb/gadget/udc/snps_udc_core.c static void udc_setup_endpoints(struct udc *dev)
udc              1619 drivers/usb/gadget/udc/snps_udc_core.c static void usb_connect(struct udc *dev)
udc              1640 drivers/usb/gadget/udc/snps_udc_core.c static void usb_disconnect(struct udc *dev)
udc              1664 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc *dev = (struct udc *)(*((struct udc **) par));
udc              1705 drivers/usb/gadget/udc/snps_udc_core.c static void udc_soft_reset(struct udc *dev)
udc              1744 drivers/usb/gadget/udc/snps_udc_core.c 			tmp = readl(&udc->regs->ctl);
udc              1746 drivers/usb/gadget/udc/snps_udc_core.c 			writel(tmp, &udc->regs->ctl);
udc              1748 drivers/usb/gadget/udc/snps_udc_core.c 		} else if (readl(&udc->regs->sts)
udc              1821 drivers/usb/gadget/udc/snps_udc_core.c 	ep = &udc->ep[UDC_EPIN_IX];
udc              1826 drivers/usb/gadget/udc/snps_udc_core.c 	ep = &udc->ep[UDC_EPOUT_IX];
udc              1845 drivers/usb/gadget/udc/snps_udc_core.c static void activate_control_endpoints(struct udc *dev)
udc              1944 drivers/usb/gadget/udc/snps_udc_core.c static int setup_ep0(struct udc *dev)
udc              1959 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc *dev = to_amd5536_udc(g);
udc              1986 drivers/usb/gadget/udc/snps_udc_core.c shutdown(struct udc *dev, struct usb_gadget_driver *driver)
udc              2004 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc *dev = to_amd5536_udc(g);
udc              2024 drivers/usb/gadget/udc/snps_udc_core.c static void udc_process_cnak_queue(struct udc *dev)
udc              2056 drivers/usb/gadget/udc/snps_udc_core.c static void udc_ep0_set_rde(struct udc *dev)
udc              2083 drivers/usb/gadget/udc/snps_udc_core.c static irqreturn_t udc_data_out_isr(struct udc *dev, int ep_ix)
udc              2297 drivers/usb/gadget/udc/snps_udc_core.c static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix)
udc              2450 drivers/usb/gadget/udc/snps_udc_core.c static irqreturn_t udc_control_out_isr(struct udc *dev)
udc              2560 drivers/usb/gadget/udc/snps_udc_core.c 			ep_tmp = &udc->ep[UDC_EPIN_IX];
udc              2562 drivers/usb/gadget/udc/snps_udc_core.c 			ep_tmp = &udc->ep[UDC_EPOUT_IX];
udc              2666 drivers/usb/gadget/udc/snps_udc_core.c static irqreturn_t udc_control_in_isr(struct udc *dev)
udc              2766 drivers/usb/gadget/udc/snps_udc_core.c static irqreturn_t udc_dev_isr(struct udc *dev, u32 dev_irq)
udc              2987 drivers/usb/gadget/udc/snps_udc_core.c 			usb_disconnect(udc);
udc              2998 drivers/usb/gadget/udc/snps_udc_core.c 	struct udc *dev = pdev;
udc              3059 drivers/usb/gadget/udc/snps_udc_core.c void udc_remove(struct udc *dev)
udc              3071 drivers/usb/gadget/udc/snps_udc_core.c 	udc = NULL;
udc              3076 drivers/usb/gadget/udc/snps_udc_core.c void free_dma_pools(struct udc *dev)
udc              3088 drivers/usb/gadget/udc/snps_udc_core.c int init_dma_pools(struct udc *dev)
udc              3154 drivers/usb/gadget/udc/snps_udc_core.c int udc_probe(struct udc *dev)
udc              3191 drivers/usb/gadget/udc/snps_udc_core.c 	udc = dev;
udc              3193 drivers/usb/gadget/udc/snps_udc_core.c 	retval = usb_add_gadget_udc_release(udc->dev, &dev->gadget,
udc                23 drivers/usb/gadget/udc/snps_udc_plat.c static void start_udc(struct udc *udc)
udc                25 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->driver) {
udc                26 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_info(udc->dev, "Connecting...\n");
udc                27 drivers/usb/gadget/udc/snps_udc_plat.c 		udc_enable_dev_setup_interrupts(udc);
udc                28 drivers/usb/gadget/udc/snps_udc_plat.c 		udc_basic_init(udc);
udc                29 drivers/usb/gadget/udc/snps_udc_plat.c 		udc->connected = 1;
udc                33 drivers/usb/gadget/udc/snps_udc_plat.c static void stop_udc(struct udc *udc)
udc                38 drivers/usb/gadget/udc/snps_udc_plat.c 	spin_lock(&udc->lock);
udc                41 drivers/usb/gadget/udc/snps_udc_plat.c 	reg = readl(&udc->regs->ctl);
udc                43 drivers/usb/gadget/udc/snps_udc_plat.c 	writel(reg, &udc->regs->ctl);
udc                45 drivers/usb/gadget/udc/snps_udc_plat.c 	reg = readl(&udc->regs->ctl);
udc                47 drivers/usb/gadget/udc/snps_udc_plat.c 	writel(reg, &udc->regs->ctl);
udc                48 drivers/usb/gadget/udc/snps_udc_plat.c 	dev_dbg(udc->dev, "ep rx queue flushed\n");
udc                53 drivers/usb/gadget/udc/snps_udc_plat.c 	udc_mask_unused_interrupts(udc);
udc                56 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->driver) {
udc                57 drivers/usb/gadget/udc/snps_udc_plat.c 		spin_unlock(&udc->lock);
udc                58 drivers/usb/gadget/udc/snps_udc_plat.c 		udc->driver->disconnect(&udc->gadget);
udc                59 drivers/usb/gadget/udc/snps_udc_plat.c 		spin_lock(&udc->lock);
udc                63 drivers/usb/gadget/udc/snps_udc_plat.c 			empty_req_queue(&udc->ep[tmp]);
udc                65 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->connected = 0;
udc                67 drivers/usb/gadget/udc/snps_udc_plat.c 	spin_unlock(&udc->lock);
udc                68 drivers/usb/gadget/udc/snps_udc_plat.c 	dev_info(udc->dev, "Device disconnected\n");
udc                73 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *udc;
udc                75 drivers/usb/gadget/udc/snps_udc_plat.c 	udc = container_of(to_delayed_work(work),
udc                76 drivers/usb/gadget/udc/snps_udc_plat.c 			   struct udc, drd_work);
udc                78 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->conn_type) {
udc                79 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_dbg(udc->dev, "idle -> device\n");
udc                80 drivers/usb/gadget/udc/snps_udc_plat.c 		start_udc(udc);
udc                82 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_dbg(udc->dev, "device -> idle\n");
udc                83 drivers/usb/gadget/udc/snps_udc_plat.c 		stop_udc(udc);
udc                90 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *udc = container_of(self, struct udc, nb);
udc                92 drivers/usb/gadget/udc/snps_udc_plat.c 	dev_dbg(udc->dev, "%s: event: %lu\n", __func__, event);
udc                94 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->conn_type = event;
udc                96 drivers/usb/gadget/udc/snps_udc_plat.c 	schedule_delayed_work(&udc->drd_work, 0);
udc               105 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *udc;
udc               108 drivers/usb/gadget/udc/snps_udc_plat.c 	udc = devm_kzalloc(dev, sizeof(*udc), GFP_KERNEL);
udc               109 drivers/usb/gadget/udc/snps_udc_plat.c 	if (!udc)
udc               112 drivers/usb/gadget/udc/snps_udc_plat.c 	spin_lock_init(&udc->lock);
udc               113 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->dev = dev;
udc               116 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->virt_addr = devm_ioremap_resource(dev, res);
udc               117 drivers/usb/gadget/udc/snps_udc_plat.c 	if (IS_ERR(udc->regs))
udc               118 drivers/usb/gadget/udc/snps_udc_plat.c 		return PTR_ERR(udc->regs);
udc               121 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->csr = udc->virt_addr + UDC_CSR_ADDR;
udc               124 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->regs = udc->virt_addr + UDC_DEVCFG_ADDR;
udc               127 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->ep_regs = udc->virt_addr + UDC_EPREGS_ADDR;
udc               130 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->rxfifo = (u32 __iomem *)(udc->virt_addr + UDC_RXFIFO_ADDR);
udc               131 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->txfifo = (u32 __iomem *)(udc->virt_addr + UDC_TXFIFO_ADDR);
udc               133 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->phys_addr = (unsigned long)res->start;
udc               135 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->irq = irq_of_parse_and_map(dev->of_node, 0);
udc               136 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->irq <= 0) {
udc               141 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->udc_phy = devm_of_phy_get_by_index(dev, dev->of_node, 0);
udc               142 drivers/usb/gadget/udc/snps_udc_plat.c 	if (IS_ERR(udc->udc_phy)) {
udc               144 drivers/usb/gadget/udc/snps_udc_plat.c 		return PTR_ERR(udc->udc_phy);
udc               147 drivers/usb/gadget/udc/snps_udc_plat.c 	ret = phy_init(udc->udc_phy);
udc               153 drivers/usb/gadget/udc/snps_udc_plat.c 	ret = phy_power_on(udc->udc_phy);
udc               156 drivers/usb/gadget/udc/snps_udc_plat.c 		phy_exit(udc->udc_phy);
udc               162 drivers/usb/gadget/udc/snps_udc_plat.c 		udc->edev = extcon_get_edev_by_phandle(dev, 0);
udc               163 drivers/usb/gadget/udc/snps_udc_plat.c 		if (IS_ERR(udc->edev)) {
udc               164 drivers/usb/gadget/udc/snps_udc_plat.c 			if (PTR_ERR(udc->edev) == -EPROBE_DEFER)
udc               167 drivers/usb/gadget/udc/snps_udc_plat.c 			ret = PTR_ERR(udc->edev);
udc               171 drivers/usb/gadget/udc/snps_udc_plat.c 		udc->nb.notifier_call = usbd_connect_notify;
udc               172 drivers/usb/gadget/udc/snps_udc_plat.c 		ret = extcon_register_notifier(udc->edev, EXTCON_USB,
udc               173 drivers/usb/gadget/udc/snps_udc_plat.c 					       &udc->nb);
udc               179 drivers/usb/gadget/udc/snps_udc_plat.c 		ret = extcon_get_state(udc->edev, EXTCON_USB);
udc               184 drivers/usb/gadget/udc/snps_udc_plat.c 			udc->conn_type = ret;
udc               186 drivers/usb/gadget/udc/snps_udc_plat.c 		INIT_DELAYED_WORK(&udc->drd_work, udc_drd_work);
udc               191 drivers/usb/gadget/udc/snps_udc_plat.c 		ret = init_dma_pools(udc);
udc               196 drivers/usb/gadget/udc/snps_udc_plat.c 	ret = devm_request_irq(dev, udc->irq, udc_irq, IRQF_SHARED,
udc               197 drivers/usb/gadget/udc/snps_udc_plat.c 			       "snps-udc", udc);
udc               199 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_err(dev, "Request irq %d failed for UDC\n", udc->irq);
udc               203 drivers/usb/gadget/udc/snps_udc_plat.c 	platform_set_drvdata(pdev, udc);
udc               204 drivers/usb/gadget/udc/snps_udc_plat.c 	udc->chiprev = UDC_BCM_REV;
udc               206 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc_probe(udc)) {
udc               216 drivers/usb/gadget/udc/snps_udc_plat.c 		free_dma_pools(udc);
udc               218 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->edev)
udc               219 drivers/usb/gadget/udc/snps_udc_plat.c 		extcon_unregister_notifier(udc->edev, EXTCON_USB, &udc->nb);
udc               221 drivers/usb/gadget/udc/snps_udc_plat.c 	if (udc->udc_phy) {
udc               222 drivers/usb/gadget/udc/snps_udc_plat.c 		phy_power_off(udc->udc_phy);
udc               223 drivers/usb/gadget/udc/snps_udc_plat.c 		phy_exit(udc->udc_phy);
udc               230 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *dev;
udc               263 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *udc;
udc               265 drivers/usb/gadget/udc/snps_udc_plat.c 	udc = dev_get_drvdata(dev);
udc               266 drivers/usb/gadget/udc/snps_udc_plat.c 	stop_udc(udc);
udc               268 drivers/usb/gadget/udc/snps_udc_plat.c 	if (extcon_get_state(udc->edev, EXTCON_USB) > 0) {
udc               269 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_dbg(udc->dev, "device -> idle\n");
udc               270 drivers/usb/gadget/udc/snps_udc_plat.c 		stop_udc(udc);
udc               272 drivers/usb/gadget/udc/snps_udc_plat.c 	phy_power_off(udc->udc_phy);
udc               273 drivers/usb/gadget/udc/snps_udc_plat.c 	phy_exit(udc->udc_phy);
udc               280 drivers/usb/gadget/udc/snps_udc_plat.c 	struct udc *udc;
udc               283 drivers/usb/gadget/udc/snps_udc_plat.c 	udc = dev_get_drvdata(dev);
udc               285 drivers/usb/gadget/udc/snps_udc_plat.c 	ret = phy_init(udc->udc_phy);
udc               287 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_err(udc->dev, "UDC phy init failure");
udc               291 drivers/usb/gadget/udc/snps_udc_plat.c 	ret = phy_power_on(udc->udc_phy);
udc               293 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_err(udc->dev, "UDC phy power on failure");
udc               294 drivers/usb/gadget/udc/snps_udc_plat.c 		phy_exit(udc->udc_phy);
udc               298 drivers/usb/gadget/udc/snps_udc_plat.c 	if (extcon_get_state(udc->edev, EXTCON_USB) > 0) {
udc               299 drivers/usb/gadget/udc/snps_udc_plat.c 		dev_dbg(udc->dev, "idle -> device\n");
udc               300 drivers/usb/gadget/udc/snps_udc_plat.c 		start_udc(udc);
udc               143 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc               258 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_wrstatus(struct xusb_udc *udc)
udc               260 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO];
udc               263 drivers/usb/gadget/udc/udc-xilinx.c 	epcfgreg = udc->read_fn(udc->addr + ep0->offset)|
udc               265 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep0->offset, epcfgreg);
udc               266 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep0->offset + XUSB_EP_BUF0COUNT_OFFSET, 0);
udc               267 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1);
udc               278 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_epconfig(struct xusb_ep *ep, struct xusb_udc *udc)
udc               288 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc               291 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF0COUNT_OFFSET,
udc               293 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF1COUNT_OFFSET,
udc               296 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               299 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               318 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               328 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_DMA_DSAR_ADDR_OFFSET, src);
udc               329 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_DMA_DDAR_ADDR_OFFSET, dst);
udc               330 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_DMA_LENGTH_OFFSET, length);
udc               338 drivers/usb/gadget/udc/udc-xilinx.c 		reg = udc->read_fn(udc->addr + XUSB_DMA_STATUS_OFFSET);
udc               348 drivers/usb/gadget/udc/udc-xilinx.c 			dev_err(udc->dev, "DMA timeout\n");
udc               354 drivers/usb/gadget/udc/udc-xilinx.c 	if ((udc->read_fn(udc->addr + XUSB_DMA_STATUS_OFFSET) &
udc               356 drivers/usb/gadget/udc/udc-xilinx.c 		dev_err(udc->dev, "DMA Error\n");
udc               381 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               385 drivers/usb/gadget/udc/udc-xilinx.c 		dma_sync_single_for_device(udc->dev, src,
udc               389 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr + ep->rambase);
udc               391 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, ep->offset +
udc               393 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_DMA_CONTROL_OFFSET,
udc               399 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr + ep->rambase +
udc               402 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, ep->offset +
udc               404 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_DMA_CONTROL_OFFSET,
udc               435 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               440 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr + ep->rambase);
udc               442 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_DMA_CONTROL_OFFSET,
udc               449 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr +
udc               452 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_DMA_CONTROL_OFFSET,
udc               484 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               487 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->dma_enabled) {
udc               497 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr + ep->rambase);
udc               500 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, ep->offset +
udc               508 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               514 drivers/usb/gadget/udc/udc-xilinx.c 		eprambase = (u32 __force *)(udc->addr + ep->rambase +
udc               518 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, ep->offset +
udc               526 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               548 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               558 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s done %p, status %d\n",
udc               561 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->dma_enabled && ep->epnumber && req->usb_req.length)
udc               562 drivers/usb/gadget/udc/udc-xilinx.c 		usb_gadget_unmap_request(&udc->gadget, &req->usb_req,
udc               566 drivers/usb/gadget/udc/udc-xilinx.c 		spin_unlock(&udc->lock);
udc               568 drivers/usb/gadget/udc/udc-xilinx.c 		spin_lock(&udc->lock);
udc               589 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               592 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Packet NOT ready!\n");
udc               601 drivers/usb/gadget/udc/udc-xilinx.c 	count = udc->read_fn(udc->addr + ep->offset + bufoffset);
udc               618 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "%s overflow %d\n",
udc               629 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "read %s, %d bytes%s req %p %d/%d\n",
udc               635 drivers/usb/gadget/udc/udc-xilinx.c 			if (udc->dma_enabled && req->usb_req.length)
udc               636 drivers/usb/gadget/udc/udc-xilinx.c 				dma_sync_single_for_cpu(udc->dev,
udc               649 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "receive busy\n");
udc               677 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               700 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s: wrote %s %d bytes%s%s %d left %p\n",
udc               711 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Send busy\n");
udc               749 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc               757 drivers/usb/gadget/udc/udc-xilinx.c 	udc = ep->udc;
udc               760 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "requests pending can't halt\n");
udc               765 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "HW buffers busy can't halt\n");
udc               769 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc               773 drivers/usb/gadget/udc/udc-xilinx.c 		epcfgreg = udc->read_fn(udc->addr + ep->offset);
udc               775 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc               778 drivers/usb/gadget/udc/udc-xilinx.c 		epcfgreg = udc->read_fn(udc->addr + ep->offset);
udc               780 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc               783 drivers/usb/gadget/udc/udc-xilinx.c 			epcfgreg = udc->read_fn(ep->udc->addr + ep->offset);
udc               785 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc               789 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               803 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc               819 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "only one control endpoint\n");
udc               827 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "bogus maxpacket %d\n", maxpacket);
udc               836 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "bogus maxpacket %d\n", maxpacket);
udc               850 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_epconfig(ep, udc);
udc               852 drivers/usb/gadget/udc/udc-xilinx.c 	dev_dbg(udc->dev, "Enable Endpoint %d max pkt is %d\n",
udc               856 drivers/usb/gadget/udc/udc-xilinx.c 	epcfg = udc->read_fn(udc->addr + ep->offset);
udc               858 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep->offset, epcfg);
udc               863 drivers/usb/gadget/udc/udc-xilinx.c 	ier = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc               865 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_IER_OFFSET, ier);
udc               869 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               872 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET,
udc               892 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc               902 drivers/usb/gadget/udc/udc-xilinx.c 	udc = ep->udc;
udc               904 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc               905 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "bogus device state\n");
udc               909 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc               911 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               927 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc               935 drivers/usb/gadget/udc/udc-xilinx.c 	udc = ep->udc;
udc               937 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc               945 drivers/usb/gadget/udc/udc-xilinx.c 	dev_dbg(udc->dev, "USB Ep %d disable\n ", ep->epnumber);
udc               947 drivers/usb/gadget/udc/udc-xilinx.c 	epcfg = udc->read_fn(udc->addr + ep->offset);
udc               949 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep->offset, epcfg);
udc               951 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               998 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep0->udc;
udc              1002 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc              1003 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s, bogus device state\n", __func__);
udc              1007 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s:ep0 busy\n", __func__);
udc              1016 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->setup.bRequestType & USB_DIR_IN) {
udc              1020 drivers/usb/gadget/udc/udc-xilinx.c 			   udc->addr);
udc              1024 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, length);
udc              1025 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1);
udc              1027 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->setup.wLength) {
udc              1029 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, 0);
udc              1030 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1);
udc              1032 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_wrstatus(udc);
udc              1052 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc	= ep0->udc;
udc              1056 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1058 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1076 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = ep->udc;
udc              1081 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s: queuing request to disabled %s\n",
udc              1086 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
udc              1087 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "%s, bogus device state\n", __func__);
udc              1091 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1096 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->dma_enabled) {
udc              1097 drivers/usb/gadget/udc/udc-xilinx.c 		ret = usb_gadget_map_request(&udc->gadget, &req->usb_req,
udc              1100 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "gadget_map failed ep%d\n",
udc              1102 drivers/usb/gadget/udc/udc-xilinx.c 			spin_unlock_irqrestore(&udc->lock, flags);
udc              1109 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "xudc_write_fifo from ep_queue\n");
udc              1113 drivers/usb/gadget/udc/udc-xilinx.c 			dev_dbg(udc->dev, "xudc_read_fifo from ep_queue\n");
udc              1122 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1137 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc	= ep->udc;
udc              1140 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1147 drivers/usb/gadget/udc/udc-xilinx.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1151 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1212 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc              1218 drivers/usb/gadget/udc/udc-xilinx.c 	udc = to_udc(gadget);
udc              1219 drivers/usb/gadget/udc/udc-xilinx.c 	frame = udc->read_fn(udc->addr + XUSB_FRAMENUM_OFFSET);
udc              1231 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = to_udc(gadget);
udc              1236 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1239 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc->remote_wkp)
udc              1242 drivers/usb/gadget/udc/udc-xilinx.c 	crtlreg = udc->read_fn(udc->addr + XUSB_CONTROL_OFFSET);
udc              1245 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_CONTROL_OFFSET, crtlreg);
udc              1253 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_CONTROL_OFFSET, crtlreg);
udc              1256 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1271 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = to_udc(gadget);
udc              1275 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1277 drivers/usb/gadget/udc/udc-xilinx.c 	crtlreg = udc->read_fn(udc->addr + XUSB_CONTROL_OFFSET);
udc              1283 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_CONTROL_OFFSET, crtlreg);
udc              1285 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1294 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_eps_init(struct xusb_udc *udc)
udc              1298 drivers/usb/gadget/udc/udc-xilinx.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              1301 drivers/usb/gadget/udc/udc-xilinx.c 		struct xusb_ep *ep = &udc->ep[ep_number];
udc              1305 drivers/usb/gadget/udc/udc-xilinx.c 				      &udc->gadget.ep_list);
udc              1326 drivers/usb/gadget/udc/udc-xilinx.c 		ep->udc = udc;
udc              1337 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_epconfig(ep, udc);
udc              1348 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_stop_activity(struct xusb_udc *udc)
udc              1354 drivers/usb/gadget/udc/udc-xilinx.c 		ep = &udc->ep[i];
udc              1369 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc	= to_udc(gadget);
udc              1370 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0	= &udc->ep[XUSB_EP_NUMBER_ZERO];
udc              1375 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1377 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->driver) {
udc              1378 drivers/usb/gadget/udc/udc-xilinx.c 		dev_err(udc->dev, "%s is already bound to %s\n",
udc              1379 drivers/usb/gadget/udc/udc-xilinx.c 			udc->gadget.name, udc->driver->driver.name);
udc              1385 drivers/usb/gadget/udc/udc-xilinx.c 	udc->driver = driver;
udc              1386 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.speed = driver->max_speed;
udc              1392 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0);
udc              1393 drivers/usb/gadget/udc/udc-xilinx.c 	udc->remote_wkp = 0;
udc              1395 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1408 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = to_udc(gadget);
udc              1411 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1413 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1414 drivers/usb/gadget/udc/udc-xilinx.c 	udc->driver = NULL;
udc              1417 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0);
udc              1418 drivers/usb/gadget/udc/udc-xilinx.c 	udc->remote_wkp = 0;
udc              1420 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_stop_activity(udc);
udc              1422 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1439 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_clear_stall_all_ep(struct xusb_udc *udc)
udc              1446 drivers/usb/gadget/udc/udc-xilinx.c 		ep = &udc->ep[i];
udc              1447 drivers/usb/gadget/udc/udc-xilinx.c 		epcfgreg = udc->read_fn(udc->addr + ep->offset);
udc              1449 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc              1452 drivers/usb/gadget/udc/udc-xilinx.c 			epcfgreg = udc->read_fn(udc->addr + ep->offset);
udc              1454 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, ep->offset, epcfgreg);
udc              1466 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_startup_handler(struct xusb_udc *udc, u32 intrstatus)
udc              1472 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Reset\n");
udc              1475 drivers/usb/gadget/udc/udc-xilinx.c 			udc->gadget.speed = USB_SPEED_HIGH;
udc              1477 drivers/usb/gadget/udc/udc-xilinx.c 			udc->gadget.speed = USB_SPEED_FULL;
udc              1479 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_stop_activity(udc);
udc              1480 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_clear_stall_all_ep(udc);
udc              1481 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_TESTMODE_OFFSET, 0);
udc              1484 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0);
udc              1485 drivers/usb/gadget/udc/udc-xilinx.c 		udc->remote_wkp = 0;
udc              1488 drivers/usb/gadget/udc/udc-xilinx.c 		intrreg = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              1491 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_IER_OFFSET, intrreg);
udc              1495 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Suspend\n");
udc              1498 drivers/usb/gadget/udc/udc-xilinx.c 		intrreg = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              1501 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_IER_OFFSET, intrreg);
udc              1503 drivers/usb/gadget/udc/udc-xilinx.c 		udc->usb_state = USB_STATE_SUSPENDED;
udc              1505 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->driver->suspend) {
udc              1506 drivers/usb/gadget/udc/udc-xilinx.c 			spin_unlock(&udc->lock);
udc              1507 drivers/usb/gadget/udc/udc-xilinx.c 			udc->driver->suspend(&udc->gadget);
udc              1508 drivers/usb/gadget/udc/udc-xilinx.c 			spin_lock(&udc->lock);
udc              1512 drivers/usb/gadget/udc/udc-xilinx.c 		bool condition = (udc->usb_state != USB_STATE_SUSPENDED);
udc              1514 drivers/usb/gadget/udc/udc-xilinx.c 		dev_WARN_ONCE(udc->dev, condition,
udc              1517 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Resume\n");
udc              1520 drivers/usb/gadget/udc/udc-xilinx.c 		intrreg = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              1523 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_IER_OFFSET, intrreg);
udc              1525 drivers/usb/gadget/udc/udc-xilinx.c 		udc->usb_state = 0;
udc              1527 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->driver->resume) {
udc              1528 drivers/usb/gadget/udc/udc-xilinx.c 			spin_unlock(&udc->lock);
udc              1529 drivers/usb/gadget/udc/udc-xilinx.c 			udc->driver->resume(&udc->gadget);
udc              1530 drivers/usb/gadget/udc/udc-xilinx.c 			spin_lock(&udc->lock);
udc              1535 drivers/usb/gadget/udc/udc-xilinx.c 		dev_dbg(udc->dev, "Disconnect\n");
udc              1538 drivers/usb/gadget/udc/udc-xilinx.c 		intrreg = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              1541 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_IER_OFFSET, intrreg);
udc              1543 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->driver && udc->driver->disconnect) {
udc              1544 drivers/usb/gadget/udc/udc-xilinx.c 			spin_unlock(&udc->lock);
udc              1545 drivers/usb/gadget/udc/udc-xilinx.c 			udc->driver->disconnect(&udc->gadget);
udc              1546 drivers/usb/gadget/udc/udc-xilinx.c 			spin_lock(&udc->lock);
udc              1557 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_ep0_stall(struct xusb_udc *udc)
udc              1560 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO];
udc              1562 drivers/usb/gadget/udc/udc-xilinx.c 	epcfgreg = udc->read_fn(udc->addr + ep0->offset);
udc              1564 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, ep0->offset, epcfgreg);
udc              1573 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_setaddress(struct xusb_udc *udc)
udc              1575 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0	= &udc->ep[0];
udc              1576 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_req *req	= udc->req;
udc              1584 drivers/usb/gadget/udc/udc-xilinx.c 	dev_err(udc->dev, "Can't respond to SET ADDRESS request\n");
udc              1585 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_ep0_stall(udc);
udc              1594 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_getstatus(struct xusb_udc *udc)
udc              1596 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0	= &udc->ep[0];
udc              1597 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_req *req	= udc->req;
udc              1605 drivers/usb/gadget/udc/udc-xilinx.c 	switch (udc->setup.bRequestType & USB_RECIP_MASK) {
udc              1609 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->remote_wkp)
udc              1615 drivers/usb/gadget/udc/udc-xilinx.c 		epnum = udc->setup.wIndex & USB_ENDPOINT_NUMBER_MASK;
udc              1616 drivers/usb/gadget/udc/udc-xilinx.c 		target_ep = &udc->ep[epnum];
udc              1617 drivers/usb/gadget/udc/udc-xilinx.c 		epcfgreg = udc->read_fn(udc->addr + target_ep->offset);
udc              1619 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->setup.wIndex & USB_DIR_IN) {
udc              1639 drivers/usb/gadget/udc/udc-xilinx.c 	dev_err(udc->dev, "Can't respond to getstatus request\n");
udc              1640 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_ep0_stall(udc);
udc              1649 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_set_clear_feature(struct xusb_udc *udc)
udc              1651 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0	= &udc->ep[0];
udc              1652 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_req *req	= udc->req;
udc              1657 drivers/usb/gadget/udc/udc-xilinx.c 	int flag = (udc->setup.bRequest == USB_REQ_SET_FEATURE ? 1 : 0);
udc              1660 drivers/usb/gadget/udc/udc-xilinx.c 	switch (udc->setup.bRequestType) {
udc              1662 drivers/usb/gadget/udc/udc-xilinx.c 		switch (udc->setup.wValue) {
udc              1671 drivers/usb/gadget/udc/udc-xilinx.c 				udc->remote_wkp = 1;
udc              1673 drivers/usb/gadget/udc/udc-xilinx.c 				udc->remote_wkp = 0;
udc              1676 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_ep0_stall(udc);
udc              1681 drivers/usb/gadget/udc/udc-xilinx.c 		if (!udc->setup.wValue) {
udc              1682 drivers/usb/gadget/udc/udc-xilinx.c 			endpoint = udc->setup.wIndex & USB_ENDPOINT_NUMBER_MASK;
udc              1683 drivers/usb/gadget/udc/udc-xilinx.c 			target_ep = &udc->ep[endpoint];
udc              1684 drivers/usb/gadget/udc/udc-xilinx.c 			outinbit = udc->setup.wIndex & USB_ENDPOINT_DIR_MASK;
udc              1689 drivers/usb/gadget/udc/udc-xilinx.c 				xudc_ep0_stall(udc);
udc              1692 drivers/usb/gadget/udc/udc-xilinx.c 			epcfgreg = udc->read_fn(udc->addr + target_ep->offset);
udc              1696 drivers/usb/gadget/udc/udc-xilinx.c 				udc->write_fn(udc->addr,
udc              1701 drivers/usb/gadget/udc/udc-xilinx.c 					udc->write_fn(udc->addr,
udc              1708 drivers/usb/gadget/udc/udc-xilinx.c 					udc->write_fn(udc->addr,
udc              1716 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_ep0_stall(udc);
udc              1725 drivers/usb/gadget/udc/udc-xilinx.c 	dev_err(udc->dev, "Can't respond to SET/CLEAR FEATURE\n");
udc              1726 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_ep0_stall(udc);
udc              1735 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_handle_setup(struct xusb_udc *udc)
udc              1737 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0 = &udc->ep[0];
udc              1742 drivers/usb/gadget/udc/udc-xilinx.c 	ep0rambase = (u32 __force *) (udc->addr + XUSB_SETUP_PKT_ADDR_OFFSET);
udc              1745 drivers/usb/gadget/udc/udc-xilinx.c 	udc->setup = setup;
udc              1746 drivers/usb/gadget/udc/udc-xilinx.c 	udc->setup.wValue = cpu_to_le16(setup.wValue);
udc              1747 drivers/usb/gadget/udc/udc-xilinx.c 	udc->setup.wIndex = cpu_to_le16(setup.wIndex);
udc              1748 drivers/usb/gadget/udc/udc-xilinx.c 	udc->setup.wLength = cpu_to_le16(setup.wLength);
udc              1753 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->setup.bRequestType & USB_DIR_IN) {
udc              1755 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqrx = STATUS_PHASE;
udc              1756 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqtx = DATA_PHASE;
udc              1759 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqrx = DATA_PHASE;
udc              1760 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqtx = STATUS_PHASE;
udc              1763 drivers/usb/gadget/udc/udc-xilinx.c 	switch (udc->setup.bRequest) {
udc              1766 drivers/usb/gadget/udc/udc-xilinx.c 		if ((udc->setup.bRequestType &
udc              1770 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_getstatus(udc);
udc              1774 drivers/usb/gadget/udc/udc-xilinx.c 		if (udc->setup.bRequestType != (USB_DIR_OUT |
udc              1777 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_setaddress(udc);
udc              1782 drivers/usb/gadget/udc/udc-xilinx.c 		if ((udc->setup.bRequestType & USB_TYPE_MASK)
udc              1785 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_set_clear_feature(udc);
udc              1791 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock(&udc->lock);
udc              1792 drivers/usb/gadget/udc/udc-xilinx.c 	if (udc->driver->setup(&udc->gadget, &setup) < 0)
udc              1793 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_ep0_stall(udc);
udc              1794 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock(&udc->lock);
udc              1801 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_ep0_out(struct xusb_udc *udc)
udc              1803 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0 = &udc->ep[0];
udc              1811 drivers/usb/gadget/udc/udc-xilinx.c 	switch (udc->setupseqrx) {
udc              1817 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqrx = SETUP_PHASE;
udc              1818 drivers/usb/gadget/udc/udc-xilinx.c 		udc->setupseqtx = SETUP_PHASE;
udc              1823 drivers/usb/gadget/udc/udc-xilinx.c 		bytes_to_rx = udc->read_fn(udc->addr +
udc              1826 drivers/usb/gadget/udc/udc-xilinx.c 		ep0rambase = (u8 __force *) (udc->addr +
udc              1834 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_wrstatus(udc);
udc              1837 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, 0);
udc              1838 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1);
udc              1850 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_ep0_in(struct xusb_udc *udc)
udc              1852 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_ep *ep0 = &udc->ep[0];
udc              1860 drivers/usb/gadget/udc/udc-xilinx.c 	u8 test_mode = udc->setup.wIndex >> 8;
udc              1865 drivers/usb/gadget/udc/udc-xilinx.c 	switch (udc->setupseqtx) {
udc              1867 drivers/usb/gadget/udc/udc-xilinx.c 		switch (udc->setup.bRequest) {
udc              1870 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET,
udc              1871 drivers/usb/gadget/udc/udc-xilinx.c 				      udc->setup.wValue);
udc              1874 drivers/usb/gadget/udc/udc-xilinx.c 			if (udc->setup.bRequestType ==
udc              1876 drivers/usb/gadget/udc/udc-xilinx.c 				if (udc->setup.wValue ==
udc              1878 drivers/usb/gadget/udc/udc-xilinx.c 					udc->write_fn(udc->addr,
udc              1894 drivers/usb/gadget/udc/udc-xilinx.c 			epcfgreg = udc->read_fn(udc->addr + ep0->offset);
udc              1896 drivers/usb/gadget/udc/udc-xilinx.c 			udc->write_fn(udc->addr, ep0->offset, epcfgreg);
udc              1897 drivers/usb/gadget/udc/udc-xilinx.c 			udc->setupseqtx = STATUS_PHASE;
udc              1902 drivers/usb/gadget/udc/udc-xilinx.c 			ep0rambase = (u8 __force *) (udc->addr +
udc              1908 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, count);
udc              1909 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1);
udc              1923 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_ctrl_ep_handler(struct xusb_udc *udc, u32 intrstatus)
udc              1927 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_handle_setup(udc);
udc              1930 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_ep0_out(udc);
udc              1932 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_ep0_in(udc);
udc              1945 drivers/usb/gadget/udc/udc-xilinx.c static void xudc_nonctrl_ep_handler(struct xusb_udc *udc, u8 epnum,
udc              1952 drivers/usb/gadget/udc/udc-xilinx.c 	ep = &udc->ep[epnum];
udc              1979 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = _udc;
udc              1986 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1992 drivers/usb/gadget/udc/udc-xilinx.c 	ier = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              1994 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_IER_OFFSET, ier);
udc              1997 drivers/usb/gadget/udc/udc-xilinx.c 	intrstatus = udc->read_fn(udc->addr + XUSB_STATUS_OFFSET);
udc              2008 drivers/usb/gadget/udc/udc-xilinx.c 		xudc_startup_handler(udc, intrstatus);
udc              2014 drivers/usb/gadget/udc/udc-xilinx.c 		ier = udc->read_fn(udc->addr + XUSB_IER_OFFSET);
udc              2016 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn(udc->addr, XUSB_IER_OFFSET, ier);
udc              2019 drivers/usb/gadget/udc/udc-xilinx.c 			xudc_ctrl_ep_handler(udc, intrstatus);
udc              2028 drivers/usb/gadget/udc/udc-xilinx.c 				xudc_nonctrl_ep_handler(udc, index,
udc              2034 drivers/usb/gadget/udc/udc-xilinx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              2048 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc;
udc              2054 drivers/usb/gadget/udc/udc-xilinx.c 	udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL);
udc              2055 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc)
udc              2059 drivers/usb/gadget/udc/udc-xilinx.c 	udc->req = devm_kzalloc(&pdev->dev, sizeof(struct xusb_req),
udc              2061 drivers/usb/gadget/udc/udc-xilinx.c 	if (!udc->req)
udc              2068 drivers/usb/gadget/udc/udc-xilinx.c 	udc->req->usb_req.buf = buff;
udc              2072 drivers/usb/gadget/udc/udc-xilinx.c 	udc->addr = devm_ioremap_resource(&pdev->dev, res);
udc              2073 drivers/usb/gadget/udc/udc-xilinx.c 	if (IS_ERR(udc->addr))
udc              2074 drivers/usb/gadget/udc/udc-xilinx.c 		return PTR_ERR(udc->addr);
udc              2080 drivers/usb/gadget/udc/udc-xilinx.c 			       dev_name(&pdev->dev), udc);
udc              2086 drivers/usb/gadget/udc/udc-xilinx.c 	udc->dma_enabled = of_property_read_bool(np, "xlnx,has-builtin-dma");
udc              2089 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.ops = &xusb_udc_ops;
udc              2090 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.max_speed = USB_SPEED_HIGH;
udc              2091 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              2092 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO].ep_usb;
udc              2093 drivers/usb/gadget/udc/udc-xilinx.c 	udc->gadget.name = driver_name;
udc              2095 drivers/usb/gadget/udc/udc-xilinx.c 	spin_lock_init(&udc->lock);
udc              2098 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn = xudc_write32_be;
udc              2099 drivers/usb/gadget/udc/udc-xilinx.c 	udc->read_fn = xudc_read32_be;
udc              2100 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_TESTMODE_OFFSET, TEST_J);
udc              2101 drivers/usb/gadget/udc/udc-xilinx.c 	if ((udc->read_fn(udc->addr + XUSB_TESTMODE_OFFSET))
udc              2103 drivers/usb/gadget/udc/udc-xilinx.c 		udc->write_fn = xudc_write32;
udc              2104 drivers/usb/gadget/udc/udc-xilinx.c 		udc->read_fn = xudc_read32;
udc              2106 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_TESTMODE_OFFSET, 0);
udc              2108 drivers/usb/gadget/udc/udc-xilinx.c 	xudc_eps_init(udc);
udc              2111 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0);
udc              2113 drivers/usb/gadget/udc/udc-xilinx.c 	ret = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
udc              2117 drivers/usb/gadget/udc/udc-xilinx.c 	udc->dev = &udc->gadget.dev;
udc              2125 drivers/usb/gadget/udc/udc-xilinx.c 	udc->write_fn(udc->addr, XUSB_IER_OFFSET, ier);
udc              2127 drivers/usb/gadget/udc/udc-xilinx.c 	platform_set_drvdata(pdev, udc);
udc              2130 drivers/usb/gadget/udc/udc-xilinx.c 		 driver_name, (u32)res->start, udc->addr,
udc              2131 drivers/usb/gadget/udc/udc-xilinx.c 		 udc->dma_enabled ? "with DMA" : "without DMA");
udc              2147 drivers/usb/gadget/udc/udc-xilinx.c 	struct xusb_udc *udc = platform_get_drvdata(pdev);
udc              2149 drivers/usb/gadget/udc/udc-xilinx.c 	usb_del_gadget_udc(&udc->gadget);
udc                46 drivers/usb/isp1760/isp1760-core.h 	struct isp1760_udc udc;
udc                48 drivers/usb/isp1760/isp1760-udc.c static inline u32 isp1760_udc_read(struct isp1760_udc *udc, u16 reg)
udc                50 drivers/usb/isp1760/isp1760-udc.c 	return isp1760_read32(udc->regs, reg);
udc                53 drivers/usb/isp1760/isp1760-udc.c static inline void isp1760_udc_write(struct isp1760_udc *udc, u16 reg, u32 val)
udc                55 drivers/usb/isp1760/isp1760-udc.c 	isp1760_write32(udc->regs, reg, val);
udc                62 drivers/usb/isp1760/isp1760-udc.c static struct isp1760_ep *isp1760_udc_find_ep(struct isp1760_udc *udc,
udc                68 drivers/usb/isp1760/isp1760-udc.c 		return &udc->ep[0];
udc                70 drivers/usb/isp1760/isp1760-udc.c 	for (i = 1; i < ARRAY_SIZE(udc->ep); ++i) {
udc                71 drivers/usb/isp1760/isp1760-udc.c 		if (udc->ep[i].addr == index)
udc                72 drivers/usb/isp1760/isp1760-udc.c 			return udc->ep[i].desc ? &udc->ep[i] : NULL;
udc                80 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(ep->udc, DC_EPINDEX,
udc               104 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               111 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPINDEX, DC_ENDPIDX(0) |
udc               113 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_STATUS);
udc               119 drivers/usb/isp1760/isp1760-udc.c 	udc->ep0_state = ISP1760_CTRL_SETUP;
udc               127 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               130 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(ep->udc->isp->dev, "completing request %p with status %d\n",
udc               137 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               144 drivers/usb/isp1760/isp1760-udc.c 	if (status == 0 && ep->addr == 0 && udc->ep0_dir == USB_DIR_OUT)
udc               147 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               152 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               155 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(ep->udc->isp->dev, "%s(ep%02x)\n", __func__, ep->addr);
udc               157 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               161 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_STALL);
udc               163 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_STALL);
udc               166 drivers/usb/isp1760/isp1760-udc.c 	udc->ep0_state = ISP1760_CTRL_SETUP;
udc               168 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               179 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               185 drivers/usb/isp1760/isp1760-udc.c 	len = isp1760_udc_read(udc, DC_BUFLEN) & DC_DATACOUNT_MASK;
udc               187 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s: received %u bytes (%u/%u done)\n",
udc               201 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_CTRLFUNC, DC_CLBUF);
udc               212 drivers/usb/isp1760/isp1760-udc.c 		*buf = le32_to_cpu(isp1760_udc_read(udc, DC_DATAPORT));
udc               214 drivers/usb/isp1760/isp1760-udc.c 		*(u16 *)buf = le16_to_cpu(readw(udc->regs + DC_DATAPORT));
udc               223 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev,
udc               245 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               252 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s: transferring %u bytes (%u/%u done)\n",
udc               259 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_BUFLEN, req->packet_size);
udc               268 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_DATAPORT, cpu_to_le32(*buf));
udc               270 drivers/usb/isp1760/isp1760-udc.c 		writew(cpu_to_le16(*(u16 *)buf), udc->regs + DC_DATAPORT);
udc               273 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_CTRLFUNC, DC_DSEN);
udc               275 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_CTRLFUNC, DC_VENDP);
udc               280 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               284 drivers/usb/isp1760/isp1760-udc.c 	spin_lock(&udc->lock);
udc               286 drivers/usb/isp1760/isp1760-udc.c 	if (ep->addr == 0 && udc->ep0_state != ISP1760_CTRL_DATA_OUT) {
udc               287 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               288 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: invalid ep0 state %u\n", __func__,
udc               289 drivers/usb/isp1760/isp1760-udc.c 			udc->ep0_state);
udc               294 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               295 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: ep%02x is disabled\n", __func__,
udc               302 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               303 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: ep%02x (%p) has no request queued\n",
udc               312 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock(&udc->lock);
udc               320 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               325 drivers/usb/isp1760/isp1760-udc.c 	spin_lock(&udc->lock);
udc               327 drivers/usb/isp1760/isp1760-udc.c 	if (ep->addr == 0 && udc->ep0_state != ISP1760_CTRL_DATA_IN) {
udc               328 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               329 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "TX IRQ: invalid endpoint state %u\n",
udc               330 drivers/usb/isp1760/isp1760-udc.c 			udc->ep0_state);
udc               342 drivers/usb/isp1760/isp1760-udc.c 			spin_unlock(&udc->lock);
udc               346 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               347 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: ep%02x has no request queued\n",
udc               360 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev,
udc               392 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock(&udc->lock);
udc               400 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = ep->udc;
udc               402 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s: %s halt on ep%02x\n", __func__,
udc               406 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: ep%02x is isochronous\n", __func__,
udc               412 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, halt ? DC_STALL : 0);
udc               417 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_CTRLFUNC, halt ? DC_STALL : 0);
udc               420 drivers/usb/isp1760/isp1760-udc.c 		u16 eptype = isp1760_udc_read(udc, DC_EPTYPE);
udc               422 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_EPTYPE, eptype & ~DC_EPENABLE);
udc               423 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_write(udc, DC_EPTYPE, eptype);
udc               450 drivers/usb/isp1760/isp1760-udc.c static int isp1760_udc_get_status(struct isp1760_udc *udc,
udc               461 drivers/usb/isp1760/isp1760-udc.c 		status = udc->devstatus;
udc               469 drivers/usb/isp1760/isp1760-udc.c 		ep = isp1760_udc_find_ep(udc, le16_to_cpu(req->wIndex));
udc               482 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPINDEX, DC_ENDPIDX(0) | DC_EPDIR);
udc               483 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_BUFLEN, 2);
udc               485 drivers/usb/isp1760/isp1760-udc.c 	writew(cpu_to_le16(status), udc->regs + DC_DATAPORT);
udc               487 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_DSEN);
udc               489 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s: status 0x%04x\n", __func__, status);
udc               494 drivers/usb/isp1760/isp1760-udc.c static int isp1760_udc_set_address(struct isp1760_udc *udc, u16 addr)
udc               497 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "invalid device address %u\n", addr);
udc               501 drivers/usb/isp1760/isp1760-udc.c 	if (udc->gadget.state != USB_STATE_DEFAULT &&
udc               502 drivers/usb/isp1760/isp1760-udc.c 	    udc->gadget.state != USB_STATE_ADDRESS) {
udc               503 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "can't set address in state %u\n",
udc               504 drivers/usb/isp1760/isp1760-udc.c 			udc->gadget.state);
udc               508 drivers/usb/isp1760/isp1760-udc.c 	usb_gadget_set_state(&udc->gadget, addr ? USB_STATE_ADDRESS :
udc               511 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_ADDRESS, DC_DEVEN | addr);
udc               513 drivers/usb/isp1760/isp1760-udc.c 	spin_lock(&udc->lock);
udc               514 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_ctrl_send_status(&udc->ep[0], USB_DIR_OUT);
udc               515 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock(&udc->lock);
udc               520 drivers/usb/isp1760/isp1760-udc.c static bool isp1760_ep0_setup_standard(struct isp1760_udc *udc,
udc               527 drivers/usb/isp1760/isp1760-udc.c 		return isp1760_udc_get_status(udc, req);
udc               544 drivers/usb/isp1760/isp1760-udc.c 			ep = isp1760_udc_find_ep(udc, index);
udc               548 drivers/usb/isp1760/isp1760-udc.c 			spin_lock(&udc->lock);
udc               561 drivers/usb/isp1760/isp1760-udc.c 				isp1760_udc_ctrl_send_status(&udc->ep[0],
udc               564 drivers/usb/isp1760/isp1760-udc.c 			spin_unlock(&udc->lock);
udc               588 drivers/usb/isp1760/isp1760-udc.c 			ep = isp1760_udc_find_ep(udc, index);
udc               592 drivers/usb/isp1760/isp1760-udc.c 			spin_lock(&udc->lock);
udc               596 drivers/usb/isp1760/isp1760-udc.c 				isp1760_udc_ctrl_send_status(&udc->ep[0],
udc               599 drivers/usb/isp1760/isp1760-udc.c 			spin_unlock(&udc->lock);
udc               612 drivers/usb/isp1760/isp1760-udc.c 		return isp1760_udc_set_address(udc, le16_to_cpu(req->wValue));
udc               618 drivers/usb/isp1760/isp1760-udc.c 		if (udc->gadget.state != USB_STATE_ADDRESS &&
udc               619 drivers/usb/isp1760/isp1760-udc.c 		    udc->gadget.state != USB_STATE_CONFIGURED)
udc               622 drivers/usb/isp1760/isp1760-udc.c 		stall = udc->driver->setup(&udc->gadget, req) < 0;
udc               626 drivers/usb/isp1760/isp1760-udc.c 		usb_gadget_set_state(&udc->gadget, req->wValue ?
udc               638 drivers/usb/isp1760/isp1760-udc.c 		return udc->driver->setup(&udc->gadget, req) < 0;
udc               642 drivers/usb/isp1760/isp1760-udc.c static void isp1760_ep0_setup(struct isp1760_udc *udc)
udc               651 drivers/usb/isp1760/isp1760-udc.c 	spin_lock(&udc->lock);
udc               653 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPINDEX, DC_EP0SETUP);
udc               655 drivers/usb/isp1760/isp1760-udc.c 	count = isp1760_udc_read(udc, DC_BUFLEN) & DC_DATACOUNT_MASK;
udc               657 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               659 drivers/usb/isp1760/isp1760-udc.c 		dev_err(udc->isp->dev, "invalid length %u for setup packet\n",
udc               662 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_ctrl_send_stall(&udc->ep[0]);
udc               666 drivers/usb/isp1760/isp1760-udc.c 	req.data[0] = isp1760_udc_read(udc, DC_DATAPORT);
udc               667 drivers/usb/isp1760/isp1760-udc.c 	req.data[1] = isp1760_udc_read(udc, DC_DATAPORT);
udc               669 drivers/usb/isp1760/isp1760-udc.c 	if (udc->ep0_state != ISP1760_CTRL_SETUP) {
udc               670 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc               671 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "unexpected SETUP packet\n");
udc               677 drivers/usb/isp1760/isp1760-udc.c 		udc->ep0_state = ISP1760_CTRL_STATUS;
udc               679 drivers/usb/isp1760/isp1760-udc.c 		udc->ep0_state = ISP1760_CTRL_DATA_IN;
udc               681 drivers/usb/isp1760/isp1760-udc.c 		udc->ep0_state = ISP1760_CTRL_DATA_OUT;
udc               683 drivers/usb/isp1760/isp1760-udc.c 	udc->ep0_dir = req.r.bRequestType & USB_DIR_IN;
udc               684 drivers/usb/isp1760/isp1760-udc.c 	udc->ep0_length = le16_to_cpu(req.r.wLength);
udc               686 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock(&udc->lock);
udc               688 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev,
udc               695 drivers/usb/isp1760/isp1760-udc.c 		stall = isp1760_ep0_setup_standard(udc, &req.r);
udc               697 drivers/usb/isp1760/isp1760-udc.c 		stall = udc->driver->setup(&udc->gadget, &req.r) < 0;
udc               700 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_ctrl_send_stall(&udc->ep[0]);
udc               711 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc               715 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(uep->udc->isp->dev, "%s\n", __func__);
udc               725 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev,
udc               745 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: control endpoints unsupported\n",
udc               750 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               759 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPMAXPKTSZ, uep->maxpacket);
udc               760 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_BUFLEN, uep->maxpacket);
udc               761 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPTYPE, DC_EPENABLE | type);
udc               763 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               771 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc               776 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s\n", __func__);
udc               778 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               781 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: endpoint not enabled\n", __func__);
udc               782 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               790 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_EPTYPE, 0);
udc               796 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               830 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc               838 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               840 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev,
udc               847 drivers/usb/isp1760/isp1760-udc.c 		if (_req->length != udc->ep0_length &&
udc               848 drivers/usb/isp1760/isp1760-udc.c 		    udc->ep0_state != ISP1760_CTRL_DATA_IN) {
udc               849 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev,
udc               856 drivers/usb/isp1760/isp1760-udc.c 		switch (udc->ep0_state) {
udc               858 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev, "%s: transmitting req %p\n",
udc               868 drivers/usb/isp1760/isp1760-udc.c 			isp1760_udc_write(udc, DC_CTRLFUNC, DC_DSEN);
udc               876 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev, "%s: invalid ep0 state\n",
udc               890 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev,
udc               900 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               912 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc               915 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(uep->udc->isp->dev, "%s(ep%02x)\n", __func__, uep->addr);
udc               917 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc               924 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               935 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc               945 drivers/usb/isp1760/isp1760-udc.c 		if (WARN_ON(udc->ep0_state == ISP1760_CTRL_SETUP || !stall ||
udc               952 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s: ep%02x is disabled\n", __func__,
udc               960 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev,
udc               976 drivers/usb/isp1760/isp1760-udc.c 		udc->ep0_state = ISP1760_CTRL_SETUP;
udc               994 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(uep->udc->isp->dev, "%s: %s halt on ep%02x\n", __func__,
udc               997 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&uep->udc->lock, flags);
udc               999 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&uep->udc->lock, flags);
udc              1010 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(uep->udc->isp->dev, "%s: set wedge on ep%02x)\n", __func__,
udc              1013 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&uep->udc->lock, flags);
udc              1015 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&uep->udc->lock, flags);
udc              1023 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = uep->udc;
udc              1026 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1034 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_CLBUF);
udc              1035 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_CTRLFUNC, DC_CLBUF);
udc              1037 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1057 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_connect(struct isp1760_udc *udc)
udc              1059 drivers/usb/isp1760/isp1760-udc.c 	usb_gadget_set_state(&udc->gadget, USB_STATE_POWERED);
udc              1060 drivers/usb/isp1760/isp1760-udc.c 	mod_timer(&udc->vbus_timer, jiffies + ISP1760_VBUS_POLL_INTERVAL);
udc              1064 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_disconnect(struct isp1760_udc *udc)
udc              1066 drivers/usb/isp1760/isp1760-udc.c 	if (udc->gadget.state < USB_STATE_POWERED)
udc              1069 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "Device disconnected in state %u\n",
udc              1070 drivers/usb/isp1760/isp1760-udc.c 		 udc->gadget.state);
udc              1072 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1073 drivers/usb/isp1760/isp1760-udc.c 	usb_gadget_set_state(&udc->gadget, USB_STATE_ATTACHED);
udc              1075 drivers/usb/isp1760/isp1760-udc.c 	if (udc->driver->disconnect)
udc              1076 drivers/usb/isp1760/isp1760-udc.c 		udc->driver->disconnect(&udc->gadget);
udc              1078 drivers/usb/isp1760/isp1760-udc.c 	del_timer(&udc->vbus_timer);
udc              1083 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_init_hw(struct isp1760_udc *udc)
udc              1094 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_INTCONF, DC_CDBGMOD_ACK | DC_DDBGMODIN_ACK |
udc              1097 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_INTENABLE, DC_IEPRXTX(7) | DC_IEPRXTX(6) |
udc              1103 drivers/usb/isp1760/isp1760-udc.c 	if (udc->connected)
udc              1104 drivers/usb/isp1760/isp1760-udc.c 		isp1760_set_pullup(udc->isp, true);
udc              1106 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_ADDRESS, DC_DEVEN);
udc              1109 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_reset(struct isp1760_udc *udc)
udc              1113 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1119 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_init_hw(udc);
udc              1121 drivers/usb/isp1760/isp1760-udc.c 	udc->ep0_state = ISP1760_CTRL_SETUP;
udc              1122 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.speed = USB_SPEED_FULL;
udc              1124 drivers/usb/isp1760/isp1760-udc.c 	usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc              1126 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1129 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_suspend(struct isp1760_udc *udc)
udc              1131 drivers/usb/isp1760/isp1760-udc.c 	if (udc->gadget.state < USB_STATE_DEFAULT)
udc              1134 drivers/usb/isp1760/isp1760-udc.c 	if (udc->driver->suspend)
udc              1135 drivers/usb/isp1760/isp1760-udc.c 		udc->driver->suspend(&udc->gadget);
udc              1138 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_resume(struct isp1760_udc *udc)
udc              1140 drivers/usb/isp1760/isp1760-udc.c 	if (udc->gadget.state < USB_STATE_DEFAULT)
udc              1143 drivers/usb/isp1760/isp1760-udc.c 	if (udc->driver->resume)
udc              1144 drivers/usb/isp1760/isp1760-udc.c 		udc->driver->resume(&udc->gadget);
udc              1153 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1155 drivers/usb/isp1760/isp1760-udc.c 	return isp1760_udc_read(udc, DC_FRAMENUM) & ((1 << 11) - 1);
udc              1160 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1162 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s\n", __func__);
udc              1169 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1172 drivers/usb/isp1760/isp1760-udc.c 		udc->devstatus |= 1 << USB_DEVICE_SELF_POWERED;
udc              1174 drivers/usb/isp1760/isp1760-udc.c 		udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
udc              1181 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1183 drivers/usb/isp1760/isp1760-udc.c 	isp1760_set_pullup(udc->isp, is_on);
udc              1184 drivers/usb/isp1760/isp1760-udc.c 	udc->connected = is_on;
udc              1192 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1197 drivers/usb/isp1760/isp1760-udc.c 		dev_err(udc->isp->dev, "Invalid gadget driver\n");
udc              1201 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1203 drivers/usb/isp1760/isp1760-udc.c 	if (udc->driver) {
udc              1204 drivers/usb/isp1760/isp1760-udc.c 		dev_err(udc->isp->dev, "UDC already has a gadget driver\n");
udc              1205 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc              1209 drivers/usb/isp1760/isp1760-udc.c 	udc->driver = driver;
udc              1211 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1213 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "starting UDC with driver %s\n",
udc              1216 drivers/usb/isp1760/isp1760-udc.c 	udc->devstatus = 0;
udc              1217 drivers/usb/isp1760/isp1760-udc.c 	udc->connected = true;
udc              1219 drivers/usb/isp1760/isp1760-udc.c 	usb_gadget_set_state(&udc->gadget, USB_STATE_ATTACHED);
udc              1222 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_MODE, DC_GLINTENA);
udc              1224 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_init_hw(udc);
udc              1226 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "UDC started with driver %s\n",
udc              1234 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = gadget_to_udc(gadget);
udc              1237 drivers/usb/isp1760/isp1760-udc.c 	dev_dbg(udc->isp->dev, "%s\n", __func__);
udc              1239 drivers/usb/isp1760/isp1760-udc.c 	del_timer_sync(&udc->vbus_timer);
udc              1241 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_MODE, 0);
udc              1243 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1244 drivers/usb/isp1760/isp1760-udc.c 	udc->driver = NULL;
udc              1245 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1265 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = dev;
udc              1269 drivers/usb/isp1760/isp1760-udc.c 	status = isp1760_udc_read(udc, DC_INTERRUPT)
udc              1270 drivers/usb/isp1760/isp1760-udc.c 	       & isp1760_udc_read(udc, DC_INTENABLE);
udc              1271 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_INTERRUPT, status);
udc              1274 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(VBUS)\n", __func__);
udc              1276 drivers/usb/isp1760/isp1760-udc.c 		spin_lock(&udc->lock);
udc              1277 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_connect(udc);
udc              1278 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc              1282 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(BRST)\n", __func__);
udc              1284 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_reset(udc);
udc              1288 drivers/usb/isp1760/isp1760-udc.c 		struct isp1760_ep *ep = &udc->ep[i*2];
udc              1291 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev, "%s(EPTX%u)\n", __func__, i);
udc              1296 drivers/usb/isp1760/isp1760-udc.c 			dev_dbg(udc->isp->dev, "%s(EPRX%u)\n", __func__, i);
udc              1302 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(EP0SETUP)\n", __func__);
udc              1304 drivers/usb/isp1760/isp1760-udc.c 		isp1760_ep0_setup(udc);
udc              1308 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(RESM)\n", __func__);
udc              1309 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_resume(udc);
udc              1313 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(SUSP)\n", __func__);
udc              1315 drivers/usb/isp1760/isp1760-udc.c 		spin_lock(&udc->lock);
udc              1316 drivers/usb/isp1760/isp1760-udc.c 		if (!(isp1760_udc_read(udc, DC_MODE) & DC_VBUSSTAT))
udc              1317 drivers/usb/isp1760/isp1760-udc.c 			isp1760_udc_disconnect(udc);
udc              1319 drivers/usb/isp1760/isp1760-udc.c 			isp1760_udc_suspend(udc);
udc              1320 drivers/usb/isp1760/isp1760-udc.c 		spin_unlock(&udc->lock);
udc              1324 drivers/usb/isp1760/isp1760-udc.c 		dev_dbg(udc->isp->dev, "%s(HS_STA)\n", __func__);
udc              1325 drivers/usb/isp1760/isp1760-udc.c 		udc->gadget.speed = USB_SPEED_HIGH;
udc              1333 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = from_timer(udc, t, vbus_timer);
udc              1336 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_irqsave(&udc->lock, flags);
udc              1338 drivers/usb/isp1760/isp1760-udc.c 	if (!(isp1760_udc_read(udc, DC_MODE) & DC_VBUSSTAT))
udc              1339 drivers/usb/isp1760/isp1760-udc.c 		isp1760_udc_disconnect(udc);
udc              1340 drivers/usb/isp1760/isp1760-udc.c 	else if (udc->gadget.state >= USB_STATE_POWERED)
udc              1341 drivers/usb/isp1760/isp1760-udc.c 		mod_timer(&udc->vbus_timer,
udc              1344 drivers/usb/isp1760/isp1760-udc.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc              1351 drivers/usb/isp1760/isp1760-udc.c static void isp1760_udc_init_eps(struct isp1760_udc *udc)
udc              1355 drivers/usb/isp1760/isp1760-udc.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc              1357 drivers/usb/isp1760/isp1760-udc.c 	for (i = 0; i < ARRAY_SIZE(udc->ep); ++i) {
udc              1358 drivers/usb/isp1760/isp1760-udc.c 		struct isp1760_ep *ep = &udc->ep[i];
udc              1362 drivers/usb/isp1760/isp1760-udc.c 		ep->udc = udc;
udc              1387 drivers/usb/isp1760/isp1760-udc.c 			udc->gadget.ep0 = &ep->ep;
udc              1394 drivers/usb/isp1760/isp1760-udc.c 			list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc              1404 drivers/usb/isp1760/isp1760-udc.c static int isp1760_udc_init(struct isp1760_udc *udc)
udc              1415 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_SCRATCH, 0xbabe);
udc              1416 drivers/usb/isp1760/isp1760-udc.c 	chipid = isp1760_udc_read(udc, DC_CHIPID);
udc              1417 drivers/usb/isp1760/isp1760-udc.c 	scratch = isp1760_udc_read(udc, DC_SCRATCH);
udc              1420 drivers/usb/isp1760/isp1760-udc.c 		dev_err(udc->isp->dev,
udc              1427 drivers/usb/isp1760/isp1760-udc.c 		dev_err(udc->isp->dev, "udc: invalid chip ID 0x%08x\n", chipid);
udc              1432 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_MODE, DC_SFRESET);
udc              1434 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_write(udc, DC_MODE, 0);
udc              1443 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = &isp->udc;
udc              1446 drivers/usb/isp1760/isp1760-udc.c 	udc->irq = -1;
udc              1447 drivers/usb/isp1760/isp1760-udc.c 	udc->isp = isp;
udc              1448 drivers/usb/isp1760/isp1760-udc.c 	udc->regs = isp->regs;
udc              1450 drivers/usb/isp1760/isp1760-udc.c 	spin_lock_init(&udc->lock);
udc              1451 drivers/usb/isp1760/isp1760-udc.c 	timer_setup(&udc->vbus_timer, isp1760_udc_vbus_poll, 0);
udc              1453 drivers/usb/isp1760/isp1760-udc.c 	ret = isp1760_udc_init(udc);
udc              1457 drivers/usb/isp1760/isp1760-udc.c 	udc->irqname = kasprintf(GFP_KERNEL, "%s (udc)", dev_name(isp->dev));
udc              1458 drivers/usb/isp1760/isp1760-udc.c 	if (!udc->irqname)
udc              1462 drivers/usb/isp1760/isp1760-udc.c 			  udc->irqname, udc);
udc              1466 drivers/usb/isp1760/isp1760-udc.c 	udc->irq = irq;
udc              1473 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.ops = &isp1760_udc_ops;
udc              1474 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.speed = USB_SPEED_UNKNOWN;
udc              1475 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.max_speed = USB_SPEED_HIGH;
udc              1476 drivers/usb/isp1760/isp1760-udc.c 	udc->gadget.name = "isp1761_udc";
udc              1478 drivers/usb/isp1760/isp1760-udc.c 	isp1760_udc_init_eps(udc);
udc              1480 drivers/usb/isp1760/isp1760-udc.c 	ret = usb_add_gadget_udc(isp->dev, &udc->gadget);
udc              1487 drivers/usb/isp1760/isp1760-udc.c 	if (udc->irq >= 0)
udc              1488 drivers/usb/isp1760/isp1760-udc.c 		free_irq(udc->irq, udc);
udc              1489 drivers/usb/isp1760/isp1760-udc.c 	kfree(udc->irqname);
udc              1496 drivers/usb/isp1760/isp1760-udc.c 	struct isp1760_udc *udc = &isp->udc;
udc              1498 drivers/usb/isp1760/isp1760-udc.c 	if (!udc->isp)
udc              1501 drivers/usb/isp1760/isp1760-udc.c 	usb_del_gadget_udc(&udc->gadget);
udc              1503 drivers/usb/isp1760/isp1760-udc.c 	free_irq(udc->irq, udc);
udc              1504 drivers/usb/isp1760/isp1760-udc.c 	kfree(udc->irqname);
udc                31 drivers/usb/isp1760/isp1760-udc.h 	struct isp1760_udc *udc;
udc                27 drivers/usb/roles/class.c 	struct device *udc;
udc               303 drivers/usb/roles/class.c 	sw->udc = desc->udc;
udc                41 drivers/usb/usbip/vudc.h 	struct vudc *udc;
udc               146 drivers/usb/usbip/vudc.h int get_gadget_descs(struct vudc *udc);
udc               151 drivers/usb/usbip/vudc.h void v_enqueue_ret_unlink(struct vudc *udc, __u32 seqnum, __u32 status);
udc               152 drivers/usb/usbip/vudc.h void v_enqueue_ret_submit(struct vudc *udc, struct urbp *urb_p);
udc               160 drivers/usb/usbip/vudc.h void v_init_timer(struct vudc *udc);
udc               161 drivers/usb/usbip/vudc.h void v_start_timer(struct vudc *udc);
udc               162 drivers/usb/usbip/vudc.h void v_kick_timer(struct vudc *udc, unsigned long time);
udc               163 drivers/usb/usbip/vudc.h void v_stop_timer(struct vudc *udc);
udc               170 drivers/usb/usbip/vudc.h struct vep *vudc_find_endpoint(struct vudc *udc, u8 address);
udc                73 drivers/usb/usbip/vudc_dev.c static void nuke(struct vudc *udc, struct vep *ep)
udc                83 drivers/usb/usbip/vudc_dev.c 		spin_unlock(&udc->lock);
udc                85 drivers/usb/usbip/vudc_dev.c 		spin_lock(&udc->lock);
udc                90 drivers/usb/usbip/vudc_dev.c static void stop_activity(struct vudc *udc)
udc                95 drivers/usb/usbip/vudc_dev.c 	udc->address = 0;
udc                98 drivers/usb/usbip/vudc_dev.c 		nuke(udc, &udc->ep[i]);
udc               100 drivers/usb/usbip/vudc_dev.c 	list_for_each_entry_safe(urb_p, tmp, &udc->urb_queue, urb_entry) {
udc               106 drivers/usb/usbip/vudc_dev.c struct vep *vudc_find_endpoint(struct vudc *udc, u8 address)
udc               111 drivers/usb/usbip/vudc_dev.c 		return &udc->ep[0];
udc               114 drivers/usb/usbip/vudc_dev.c 		struct vep *ep = &udc->ep[i];
udc               129 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = usb_gadget_to_vudc(_gadget);
udc               132 drivers/usb/usbip/vudc_dev.c 	return ((now.tv_sec - udc->start_time.tv_sec) * 1000 +
udc               133 drivers/usb/usbip/vudc_dev.c 		(now.tv_nsec - udc->start_time.tv_nsec) / NSEC_PER_MSEC)
udc               139 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = usb_gadget_to_vudc(_gadget);
udc               142 drivers/usb/usbip/vudc_dev.c 		udc->devstatus |= (1 << USB_DEVICE_SELF_POWERED);
udc               144 drivers/usb/usbip/vudc_dev.c 		udc->devstatus &= ~(1 << USB_DEVICE_SELF_POWERED);
udc               150 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = usb_gadget_to_vudc(_gadget);
udc               155 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               157 drivers/usb/usbip/vudc_dev.c 	if (value == udc->pullup)
udc               160 drivers/usb/usbip/vudc_dev.c 	udc->pullup = value;
udc               162 drivers/usb/usbip/vudc_dev.c 		udc->gadget.speed = min_t(u8, USB_SPEED_HIGH,
udc               163 drivers/usb/usbip/vudc_dev.c 					   udc->driver->max_speed);
udc               164 drivers/usb/usbip/vudc_dev.c 		udc->ep[0].ep.maxpacket = 64;
udc               169 drivers/usb/usbip/vudc_dev.c 		ret = get_gadget_descs(udc);
udc               171 drivers/usb/usbip/vudc_dev.c 			dev_err(&udc->gadget.dev, "Unable go get desc: %d", ret);
udc               175 drivers/usb/usbip/vudc_dev.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               176 drivers/usb/usbip/vudc_dev.c 		usbip_start_eh(&udc->ud);
udc               179 drivers/usb/usbip/vudc_dev.c 		udc->desc_cached = 0;
udc               181 drivers/usb/usbip/vudc_dev.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               182 drivers/usb/usbip/vudc_dev.c 		usbip_event_add(&udc->ud, VUDC_EVENT_REMOVED);
udc               183 drivers/usb/usbip/vudc_dev.c 		usbip_stop_eh(&udc->ud); /* Wait for eh completion */
udc               189 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               196 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = usb_gadget_to_vudc(g);
udc               199 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               200 drivers/usb/usbip/vudc_dev.c 	udc->driver = driver;
udc               201 drivers/usb/usbip/vudc_dev.c 	udc->pullup = udc->connected = udc->desc_cached = 0;
udc               202 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               209 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = usb_gadget_to_vudc(g);
udc               212 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               213 drivers/usb/usbip/vudc_dev.c 	udc->driver = NULL;
udc               214 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               233 drivers/usb/usbip/vudc_dev.c 	struct vudc	*udc;
udc               238 drivers/usb/usbip/vudc_dev.c 	udc = ep_to_vudc(ep);
udc               244 drivers/usb/usbip/vudc_dev.c 	if (!udc->driver)
udc               247 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               255 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               263 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc;
udc               267 drivers/usb/usbip/vudc_dev.c 	udc = ep_to_vudc(ep);
udc               271 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               273 drivers/usb/usbip/vudc_dev.c 	nuke(udc, ep);
udc               274 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               313 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc;
udc               321 drivers/usb/usbip/vudc_dev.c 	udc = ep_to_vudc(ep);
udc               323 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               328 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               337 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc;
udc               347 drivers/usb/usbip/vudc_dev.c 	udc = req->udc;
udc               349 drivers/usb/usbip/vudc_dev.c 	if (!udc->driver)
udc               352 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               361 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               373 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc;
udc               381 drivers/usb/usbip/vudc_dev.c 	udc = ep_to_vudc(ep);
udc               382 drivers/usb/usbip/vudc_dev.c 	if (!udc->driver)
udc               385 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               397 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               431 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = container_of(ud, struct vudc, ud);
udc               435 drivers/usb/usbip/vudc_dev.c 	dev_dbg(&udc->pdev->dev, "device shutdown");
udc               453 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               454 drivers/usb/usbip/vudc_dev.c 	stop_activity(udc);
udc               455 drivers/usb/usbip/vudc_dev.c 	if (udc->connected && udc->driver->disconnect)
udc               457 drivers/usb/usbip/vudc_dev.c 	udc->connected = 0;
udc               458 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               460 drivers/usb/usbip/vudc_dev.c 		udc->driver->disconnect(&udc->gadget);
udc               465 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = container_of(ud, struct vudc, ud);
udc               468 drivers/usb/usbip/vudc_dev.c 	dev_dbg(&udc->pdev->dev, "device reset");
udc               469 drivers/usb/usbip/vudc_dev.c 	spin_lock_irqsave(&udc->lock, flags);
udc               470 drivers/usb/usbip/vudc_dev.c 	stop_activity(udc);
udc               471 drivers/usb/usbip/vudc_dev.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               472 drivers/usb/usbip/vudc_dev.c 	if (udc->driver)
udc               473 drivers/usb/usbip/vudc_dev.c 		usb_gadget_udc_reset(&udc->gadget, udc->driver);
udc               516 drivers/usb/usbip/vudc_dev.c static int init_vudc_hw(struct vudc *udc)
udc               519 drivers/usb/usbip/vudc_dev.c 	struct usbip_device *ud = &udc->ud;
udc               522 drivers/usb/usbip/vudc_dev.c 	udc->ep = kcalloc(VIRTUAL_ENDPOINTS, sizeof(*udc->ep), GFP_KERNEL);
udc               523 drivers/usb/usbip/vudc_dev.c 	if (!udc->ep)
udc               526 drivers/usb/usbip/vudc_dev.c 	INIT_LIST_HEAD(&udc->gadget.ep_list);
udc               533 drivers/usb/usbip/vudc_dev.c 		ep = &udc->ep[i];
udc               543 drivers/usb/usbip/vudc_dev.c 		ep->gadget = &udc->gadget;
udc               552 drivers/usb/usbip/vudc_dev.c 			udc->gadget.ep0 = &ep->ep;
udc               564 drivers/usb/usbip/vudc_dev.c 			list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
udc               568 drivers/usb/usbip/vudc_dev.c 	spin_lock_init(&udc->lock);
udc               569 drivers/usb/usbip/vudc_dev.c 	spin_lock_init(&udc->lock_tx);
udc               570 drivers/usb/usbip/vudc_dev.c 	INIT_LIST_HEAD(&udc->urb_queue);
udc               571 drivers/usb/usbip/vudc_dev.c 	INIT_LIST_HEAD(&udc->tx_queue);
udc               572 drivers/usb/usbip/vudc_dev.c 	init_waitqueue_head(&udc->tx_waitq);
udc               582 drivers/usb/usbip/vudc_dev.c 	v_init_timer(udc);
udc               589 drivers/usb/usbip/vudc_dev.c static void cleanup_vudc_hw(struct vudc *udc)
udc               591 drivers/usb/usbip/vudc_dev.c 	kfree(udc->ep);
udc               598 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc;
udc               601 drivers/usb/usbip/vudc_dev.c 	udc = kzalloc(sizeof(*udc), GFP_KERNEL);
udc               602 drivers/usb/usbip/vudc_dev.c 	if (!udc)
udc               605 drivers/usb/usbip/vudc_dev.c 	udc->gadget.name = GADGET_NAME;
udc               606 drivers/usb/usbip/vudc_dev.c 	udc->gadget.ops = &vgadget_ops;
udc               607 drivers/usb/usbip/vudc_dev.c 	udc->gadget.max_speed = USB_SPEED_HIGH;
udc               608 drivers/usb/usbip/vudc_dev.c 	udc->gadget.dev.parent = &pdev->dev;
udc               609 drivers/usb/usbip/vudc_dev.c 	udc->pdev = pdev;
udc               611 drivers/usb/usbip/vudc_dev.c 	ret = init_vudc_hw(udc);
udc               615 drivers/usb/usbip/vudc_dev.c 	ret = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
udc               619 drivers/usb/usbip/vudc_dev.c 	platform_set_drvdata(pdev, udc);
udc               624 drivers/usb/usbip/vudc_dev.c 	cleanup_vudc_hw(udc);
udc               626 drivers/usb/usbip/vudc_dev.c 	kfree(udc);
udc               633 drivers/usb/usbip/vudc_dev.c 	struct vudc *udc = platform_get_drvdata(pdev);
udc               635 drivers/usb/usbip/vudc_dev.c 	usb_del_gadget_udc(&udc->gadget);
udc               636 drivers/usb/usbip/vudc_dev.c 	cleanup_vudc_hw(udc);
udc               637 drivers/usb/usbip/vudc_dev.c 	kfree(udc);
udc                62 drivers/usb/usbip/vudc_rx.c static int v_recv_cmd_unlink(struct vudc *udc,
udc                68 drivers/usb/usbip/vudc_rx.c 	spin_lock_irqsave(&udc->lock, flags);
udc                69 drivers/usb/usbip/vudc_rx.c 	list_for_each_entry(urb_p, &udc->urb_queue, urb_entry) {
udc                74 drivers/usb/usbip/vudc_rx.c 		v_kick_timer(udc, jiffies);
udc                75 drivers/usb/usbip/vudc_rx.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc                79 drivers/usb/usbip/vudc_rx.c 	spin_lock(&udc->lock_tx);
udc                80 drivers/usb/usbip/vudc_rx.c 	v_enqueue_ret_unlink(udc, pdu->base.seqnum, 0);
udc                81 drivers/usb/usbip/vudc_rx.c 	wake_up(&udc->tx_waitq);
udc                82 drivers/usb/usbip/vudc_rx.c 	spin_unlock(&udc->lock_tx);
udc                83 drivers/usb/usbip/vudc_rx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc                88 drivers/usb/usbip/vudc_rx.c static int v_recv_cmd_submit(struct vudc *udc,
udc                98 drivers/usb/usbip/vudc_rx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_MALLOC);
udc               107 drivers/usb/usbip/vudc_rx.c 	spin_lock_irq(&udc->lock);
udc               108 drivers/usb/usbip/vudc_rx.c 	urb_p->ep = vudc_find_endpoint(udc, address);
udc               111 drivers/usb/usbip/vudc_rx.c 		dev_err(&udc->pdev->dev, "request to nonexistent endpoint");
udc               112 drivers/usb/usbip/vudc_rx.c 		spin_unlock_irq(&udc->lock);
udc               113 drivers/usb/usbip/vudc_rx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP);
udc               118 drivers/usb/usbip/vudc_rx.c 	spin_unlock_irq(&udc->lock);
udc               134 drivers/usb/usbip/vudc_rx.c 			dev_err(&udc->gadget.dev,
udc               144 drivers/usb/usbip/vudc_rx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_MALLOC);
udc               167 drivers/usb/usbip/vudc_rx.c 	ret = usbip_recv_xbuff(&udc->ud, urb_p->urb);
udc               171 drivers/usb/usbip/vudc_rx.c 	ret = usbip_recv_iso(&udc->ud, urb_p->urb);
udc               175 drivers/usb/usbip/vudc_rx.c 	spin_lock_irqsave(&udc->lock, flags);
udc               176 drivers/usb/usbip/vudc_rx.c 	v_kick_timer(udc, jiffies);
udc               177 drivers/usb/usbip/vudc_rx.c 	list_add_tail(&urb_p->urb_entry, &udc->urb_queue);
udc               178 drivers/usb/usbip/vudc_rx.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               191 drivers/usb/usbip/vudc_rx.c 	struct vudc *udc = container_of(ud, struct vudc, ud);
udc               213 drivers/usb/usbip/vudc_rx.c 		ret = v_recv_cmd_unlink(udc, &pdu);
udc               216 drivers/usb/usbip/vudc_rx.c 		ret = v_recv_cmd_submit(udc, &pdu);
udc                23 drivers/usb/usbip/vudc_sysfs.c int get_gadget_descs(struct vudc *udc)
udc                26 drivers/usb/usbip/vudc_sysfs.c 	struct vep *ep0 = to_vep(udc->gadget.ep0);
udc                27 drivers/usb/usbip/vudc_sysfs.c 	struct usb_device_descriptor *ddesc = &udc->dev_desc;
udc                31 drivers/usb/usbip/vudc_sysfs.c 	if (!udc->driver || !udc->pullup)
udc                40 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock(&udc->lock);
udc                41 drivers/usb/usbip/vudc_sysfs.c 	ret = udc->driver->setup(&(udc->gadget), &req);
udc                42 drivers/usb/usbip/vudc_sysfs.c 	spin_lock(&udc->lock);
udc                56 drivers/usb/usbip/vudc_sysfs.c 	udc->desc_cached = 1;
udc                74 drivers/usb/usbip/vudc_sysfs.c 	struct vudc *udc = (struct vudc *)dev_get_drvdata(dev);
udc                75 drivers/usb/usbip/vudc_sysfs.c 	char *desc_ptr = (char *) &udc->dev_desc;
udc                79 drivers/usb/usbip/vudc_sysfs.c 	spin_lock_irqsave(&udc->lock, flags);
udc                80 drivers/usb/usbip/vudc_sysfs.c 	if (!udc->desc_cached) {
udc                88 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc                96 drivers/usb/usbip/vudc_sysfs.c 	struct vudc *udc = (struct vudc *) dev_get_drvdata(dev);
udc               108 drivers/usb/usbip/vudc_sysfs.c 	if (!udc) {
udc               112 drivers/usb/usbip/vudc_sysfs.c 	spin_lock_irqsave(&udc->lock, flags);
udc               114 drivers/usb/usbip/vudc_sysfs.c 	if (!udc->driver || !udc->pullup) {
udc               121 drivers/usb/usbip/vudc_sysfs.c 		if (udc->connected) {
udc               127 drivers/usb/usbip/vudc_sysfs.c 		spin_lock_irq(&udc->ud.lock);
udc               129 drivers/usb/usbip/vudc_sysfs.c 		if (udc->ud.status != SDEV_ST_AVAILABLE) {
udc               141 drivers/usb/usbip/vudc_sysfs.c 		udc->ud.tcp_socket = socket;
udc               143 drivers/usb/usbip/vudc_sysfs.c 		spin_unlock_irq(&udc->ud.lock);
udc               144 drivers/usb/usbip/vudc_sysfs.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               146 drivers/usb/usbip/vudc_sysfs.c 		udc->ud.tcp_rx = kthread_get_run(&v_rx_loop,
udc               147 drivers/usb/usbip/vudc_sysfs.c 						    &udc->ud, "vudc_rx");
udc               148 drivers/usb/usbip/vudc_sysfs.c 		udc->ud.tcp_tx = kthread_get_run(&v_tx_loop,
udc               149 drivers/usb/usbip/vudc_sysfs.c 						    &udc->ud, "vudc_tx");
udc               151 drivers/usb/usbip/vudc_sysfs.c 		spin_lock_irqsave(&udc->lock, flags);
udc               152 drivers/usb/usbip/vudc_sysfs.c 		spin_lock_irq(&udc->ud.lock);
udc               153 drivers/usb/usbip/vudc_sysfs.c 		udc->ud.status = SDEV_ST_USED;
udc               154 drivers/usb/usbip/vudc_sysfs.c 		spin_unlock_irq(&udc->ud.lock);
udc               156 drivers/usb/usbip/vudc_sysfs.c 		ktime_get_ts64(&udc->start_time);
udc               157 drivers/usb/usbip/vudc_sysfs.c 		v_start_timer(udc);
udc               158 drivers/usb/usbip/vudc_sysfs.c 		udc->connected = 1;
udc               160 drivers/usb/usbip/vudc_sysfs.c 		if (!udc->connected) {
udc               166 drivers/usb/usbip/vudc_sysfs.c 		spin_lock_irq(&udc->ud.lock);
udc               167 drivers/usb/usbip/vudc_sysfs.c 		if (udc->ud.status != SDEV_ST_USED) {
udc               171 drivers/usb/usbip/vudc_sysfs.c 		spin_unlock_irq(&udc->ud.lock);
udc               173 drivers/usb/usbip/vudc_sysfs.c 		usbip_event_add(&udc->ud, VUDC_EVENT_DOWN);
udc               176 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               181 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock_irq(&udc->ud.lock);
udc               183 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               192 drivers/usb/usbip/vudc_sysfs.c 	struct vudc *udc = (struct vudc *) dev_get_drvdata(dev);
udc               195 drivers/usb/usbip/vudc_sysfs.c 	if (!udc) {
udc               199 drivers/usb/usbip/vudc_sysfs.c 	spin_lock_irq(&udc->ud.lock);
udc               200 drivers/usb/usbip/vudc_sysfs.c 	status = udc->ud.status;
udc               201 drivers/usb/usbip/vudc_sysfs.c 	spin_unlock_irq(&udc->ud.lock);
udc                58 drivers/usb/usbip/vudc_transfer.c static int handle_control_request(struct vudc *udc, struct urb *urb,
udc                73 drivers/usb/usbip/vudc_transfer.c 		udc->address = w_value;
udc                84 drivers/usb/usbip/vudc_transfer.c 				udc->gadget.b_hnp_enable = 1;
udc                87 drivers/usb/usbip/vudc_transfer.c 				udc->gadget.a_hnp_support = 1;
udc                90 drivers/usb/usbip/vudc_transfer.c 				udc->gadget.a_alt_hnp_support = 1;
udc                96 drivers/usb/usbip/vudc_transfer.c 				udc->devstatus |= (1 << w_value);
udc               101 drivers/usb/usbip/vudc_transfer.c 			ep2 = vudc_find_endpoint(udc, w_index);
udc               102 drivers/usb/usbip/vudc_transfer.c 			if (!ep2 || ep2->ep.name == udc->ep[0].ep.name) {
udc               129 drivers/usb/usbip/vudc_transfer.c 				udc->devstatus &= ~(1 << w_value);
udc               134 drivers/usb/usbip/vudc_transfer.c 			ep2 = vudc_find_endpoint(udc, w_index);
udc               158 drivers/usb/usbip/vudc_transfer.c 					ep2 = vudc_find_endpoint(udc, w_index);
udc               166 drivers/usb/usbip/vudc_transfer.c 					buf[0] = (u8)udc->devstatus;
udc               183 drivers/usb/usbip/vudc_transfer.c static int transfer(struct vudc *udc,
udc               283 drivers/usb/usbip/vudc_transfer.c 			spin_unlock(&udc->lock);
udc               285 drivers/usb/usbip/vudc_transfer.c 			spin_lock(&udc->lock);
udc               304 drivers/usb/usbip/vudc_transfer.c 	struct vudc *udc = from_timer(udc, t, tr_timer.timer);
udc               305 drivers/usb/usbip/vudc_transfer.c 	struct transfer_timer *timer = &udc->tr_timer;
udc               313 drivers/usb/usbip/vudc_transfer.c 	spin_lock_irqsave(&udc->lock, flags);
udc               315 drivers/usb/usbip/vudc_transfer.c 	total = get_frame_limit(udc->gadget.speed);
udc               318 drivers/usb/usbip/vudc_transfer.c 		spin_unlock_irqrestore(&udc->lock, flags);
udc               331 drivers/usb/usbip/vudc_transfer.c 	udc->ep[0].already_seen = 0;
udc               332 drivers/usb/usbip/vudc_transfer.c 	list_for_each_entry(_ep, &udc->gadget.ep_list, ep_list) {
udc               338 drivers/usb/usbip/vudc_transfer.c 	list_for_each_entry_safe(urb_p, tmp, &udc->urb_queue, urb_entry) {
udc               359 drivers/usb/usbip/vudc_transfer.c 		if (ep == &udc->ep[0] && urb_p->new) {
udc               368 drivers/usb/usbip/vudc_transfer.c 		if (ep == &udc->ep[0] && ep->setup_stage) {
udc               373 drivers/usb/usbip/vudc_transfer.c 			ret = handle_control_request(udc, urb,
udc               377 drivers/usb/usbip/vudc_transfer.c 				spin_unlock(&udc->lock);
udc               378 drivers/usb/usbip/vudc_transfer.c 				ret = udc->driver->setup(&udc->gadget,
udc               381 drivers/usb/usbip/vudc_transfer.c 				spin_lock(&udc->lock);
udc               410 drivers/usb/usbip/vudc_transfer.c 			total -= transfer(udc, urb, ep, limit);
udc               419 drivers/usb/usbip/vudc_transfer.c 		spin_lock(&udc->lock_tx);
udc               422 drivers/usb/usbip/vudc_transfer.c 			v_enqueue_ret_submit(udc, urb_p);
udc               424 drivers/usb/usbip/vudc_transfer.c 			v_enqueue_ret_unlink(udc, urb_p->seqnum,
udc               428 drivers/usb/usbip/vudc_transfer.c 		wake_up(&udc->tx_waitq);
udc               429 drivers/usb/usbip/vudc_transfer.c 		spin_unlock(&udc->lock_tx);
udc               435 drivers/usb/usbip/vudc_transfer.c 	if (list_empty(&udc->urb_queue))
udc               441 drivers/usb/usbip/vudc_transfer.c 	spin_unlock_irqrestore(&udc->lock, flags);
udc               446 drivers/usb/usbip/vudc_transfer.c void v_init_timer(struct vudc *udc)
udc               448 drivers/usb/usbip/vudc_transfer.c 	struct transfer_timer *t = &udc->tr_timer;
udc               454 drivers/usb/usbip/vudc_transfer.c void v_start_timer(struct vudc *udc)
udc               456 drivers/usb/usbip/vudc_transfer.c 	struct transfer_timer *t = &udc->tr_timer;
udc               458 drivers/usb/usbip/vudc_transfer.c 	dev_dbg(&udc->pdev->dev, "timer start");
udc               463 drivers/usb/usbip/vudc_transfer.c 		return v_kick_timer(udc, jiffies);
udc               467 drivers/usb/usbip/vudc_transfer.c 		t->frame_limit = get_frame_limit(udc->gadget.speed);
udc               468 drivers/usb/usbip/vudc_transfer.c 		return v_kick_timer(udc, jiffies);
udc               472 drivers/usb/usbip/vudc_transfer.c void v_kick_timer(struct vudc *udc, unsigned long time)
udc               474 drivers/usb/usbip/vudc_transfer.c 	struct transfer_timer *t = &udc->tr_timer;
udc               476 drivers/usb/usbip/vudc_transfer.c 	dev_dbg(&udc->pdev->dev, "timer kick");
udc               489 drivers/usb/usbip/vudc_transfer.c void v_stop_timer(struct vudc *udc)
udc               491 drivers/usb/usbip/vudc_transfer.c 	struct transfer_timer *t = &udc->tr_timer;
udc               494 drivers/usb/usbip/vudc_transfer.c 	dev_dbg(&udc->pdev->dev, "timer stop");
udc                38 drivers/usb/usbip/vudc_tx.c static int v_send_ret_unlink(struct vudc *udc, struct v_unlink *unlink)
udc                60 drivers/usb/usbip/vudc_tx.c 	ret = kernel_sendmsg(udc->ud.tcp_socket, &msg, iov,
udc                63 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP);
udc                73 drivers/usb/usbip/vudc_tx.c static int v_send_ret_submit(struct vudc *udc, struct urbp *urb_p)
udc                89 drivers/usb/usbip/vudc_tx.c 		dev_err(&udc->gadget.dev,
udc               102 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_MALLOC);
udc               141 drivers/usb/usbip/vudc_tx.c 			usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP);
udc               154 drivers/usb/usbip/vudc_tx.c 			usbip_event_add(&udc->ud,
udc               166 drivers/usb/usbip/vudc_tx.c 	ret = kernel_sendmsg(udc->ud.tcp_socket, &msg,
udc               169 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP);
udc               184 drivers/usb/usbip/vudc_tx.c static int v_send_ret(struct vudc *udc)
udc               191 drivers/usb/usbip/vudc_tx.c 	spin_lock_irqsave(&udc->lock_tx, flags);
udc               192 drivers/usb/usbip/vudc_tx.c 	while (!list_empty(&udc->tx_queue)) {
udc               193 drivers/usb/usbip/vudc_tx.c 		txi = list_first_entry(&udc->tx_queue, struct tx_item,
udc               196 drivers/usb/usbip/vudc_tx.c 		spin_unlock_irqrestore(&udc->lock_tx, flags);
udc               200 drivers/usb/usbip/vudc_tx.c 			ret = v_send_ret_submit(udc, txi->s);
udc               203 drivers/usb/usbip/vudc_tx.c 			ret = v_send_ret_unlink(udc, txi->u);
udc               213 drivers/usb/usbip/vudc_tx.c 		spin_lock_irqsave(&udc->lock_tx, flags);
udc               216 drivers/usb/usbip/vudc_tx.c 	spin_unlock_irqrestore(&udc->lock_tx, flags);
udc               224 drivers/usb/usbip/vudc_tx.c 	struct vudc *udc = container_of(ud, struct vudc, ud);
udc               228 drivers/usb/usbip/vudc_tx.c 		if (usbip_event_happened(&udc->ud))
udc               230 drivers/usb/usbip/vudc_tx.c 		ret = v_send_ret(udc);
udc               235 drivers/usb/usbip/vudc_tx.c 		wait_event_interruptible(udc->tx_waitq,
udc               236 drivers/usb/usbip/vudc_tx.c 					 (!list_empty(&udc->tx_queue) ||
udc               244 drivers/usb/usbip/vudc_tx.c void v_enqueue_ret_unlink(struct vudc *udc, __u32 seqnum, __u32 status)
udc               251 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VDEV_EVENT_ERROR_MALLOC);
udc               257 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VDEV_EVENT_ERROR_MALLOC);
udc               266 drivers/usb/usbip/vudc_tx.c 	list_add_tail(&txi->tx_entry, &udc->tx_queue);
udc               270 drivers/usb/usbip/vudc_tx.c void v_enqueue_ret_submit(struct vudc *udc, struct urbp *urb_p)
udc               276 drivers/usb/usbip/vudc_tx.c 		usbip_event_add(&udc->ud, VDEV_EVENT_ERROR_MALLOC);
udc               283 drivers/usb/usbip/vudc_tx.c 	list_add_tail(&txi->tx_entry, &udc->tx_queue);
udc               397 include/linux/usb/gadget.h 	struct usb_udc			*udc;
udc               556 net/bridge/netfilter/ebtables.c 		      unsigned int *n, struct ebt_cl_stack *udc)
udc               571 net/bridge/netfilter/ebtables.c 	udc[*n].cs.chaininfo = (struct ebt_entries *)e;
udc               573 net/bridge/netfilter/ebtables.c 	udc[*n].cs.n = 0;
udc               574 net/bridge/netfilter/ebtables.c 	udc[*n].hookmask = 0;