m66592             34 drivers/usb/gadget/udc/m66592-udc.c static void disable_controller(struct m66592 *m66592);
m66592             44 drivers/usb/gadget/udc/m66592-udc.c static inline u16 get_usb_speed(struct m66592 *m66592)
m66592             46 drivers/usb/gadget/udc/m66592-udc.c 	return (m66592_read(m66592, M66592_DVSTCTR) & M66592_RHST);
m66592             49 drivers/usb/gadget/udc/m66592-udc.c static void enable_pipe_irq(struct m66592 *m66592, u16 pipenum,
m66592             54 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, M66592_INTENB0);
m66592             55 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_BEMPE | M66592_NRDYE | M66592_BRDYE,
m66592             57 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, (1 << pipenum), reg);
m66592             58 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, tmp, M66592_INTENB0);
m66592             61 drivers/usb/gadget/udc/m66592-udc.c static void disable_pipe_irq(struct m66592 *m66592, u16 pipenum,
m66592             66 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, M66592_INTENB0);
m66592             67 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_BEMPE | M66592_NRDYE | M66592_BRDYE,
m66592             69 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, (1 << pipenum), reg);
m66592             70 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, tmp, M66592_INTENB0);
m66592             73 drivers/usb/gadget/udc/m66592-udc.c static void m66592_usb_connect(struct m66592 *m66592)
m66592             75 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_CTRE, M66592_INTENB0);
m66592             76 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_WDST | M66592_RDST | M66592_CMPL,
m66592             78 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_BEMPE | M66592_BRDYE, M66592_INTENB0);
m66592             80 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592             83 drivers/usb/gadget/udc/m66592-udc.c static void m66592_usb_disconnect(struct m66592 *m66592)
m66592             84 drivers/usb/gadget/udc/m66592-udc.c __releases(m66592->lock)
m66592             85 drivers/usb/gadget/udc/m66592-udc.c __acquires(m66592->lock)
m66592             87 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_CTRE, M66592_INTENB0);
m66592             88 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_WDST | M66592_RDST | M66592_CMPL,
m66592             90 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_BEMPE | M66592_BRDYE, M66592_INTENB0);
m66592             91 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592             93 drivers/usb/gadget/udc/m66592-udc.c 	m66592->gadget.speed = USB_SPEED_UNKNOWN;
m66592             94 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock(&m66592->lock);
m66592             95 drivers/usb/gadget/udc/m66592-udc.c 	m66592->driver->disconnect(&m66592->gadget);
m66592             96 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock(&m66592->lock);
m66592             98 drivers/usb/gadget/udc/m66592-udc.c 	disable_controller(m66592);
m66592             99 drivers/usb/gadget/udc/m66592-udc.c 	INIT_LIST_HEAD(&m66592->ep[0].queue);
m66592            102 drivers/usb/gadget/udc/m66592-udc.c static inline u16 control_reg_get_pid(struct m66592 *m66592, u16 pipenum)
m66592            108 drivers/usb/gadget/udc/m66592-udc.c 		pid = m66592_read(m66592, M66592_DCPCTR) & M66592_PID;
m66592            111 drivers/usb/gadget/udc/m66592-udc.c 		pid = m66592_read(m66592, offset) & M66592_PID;
m66592            118 drivers/usb/gadget/udc/m66592-udc.c static inline void control_reg_set_pid(struct m66592 *m66592, u16 pipenum,
m66592            124 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, pid, M66592_PID, M66592_DCPCTR);
m66592            127 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, pid, M66592_PID, offset);
m66592            132 drivers/usb/gadget/udc/m66592-udc.c static inline void pipe_start(struct m66592 *m66592, u16 pipenum)
m66592            134 drivers/usb/gadget/udc/m66592-udc.c 	control_reg_set_pid(m66592, pipenum, M66592_PID_BUF);
m66592            137 drivers/usb/gadget/udc/m66592-udc.c static inline void pipe_stop(struct m66592 *m66592, u16 pipenum)
m66592            139 drivers/usb/gadget/udc/m66592-udc.c 	control_reg_set_pid(m66592, pipenum, M66592_PID_NAK);
m66592            142 drivers/usb/gadget/udc/m66592-udc.c static inline void pipe_stall(struct m66592 *m66592, u16 pipenum)
m66592            144 drivers/usb/gadget/udc/m66592-udc.c 	control_reg_set_pid(m66592, pipenum, M66592_PID_STALL);
m66592            147 drivers/usb/gadget/udc/m66592-udc.c static inline u16 control_reg_get(struct m66592 *m66592, u16 pipenum)
m66592            153 drivers/usb/gadget/udc/m66592-udc.c 		ret = m66592_read(m66592, M66592_DCPCTR);
m66592            156 drivers/usb/gadget/udc/m66592-udc.c 		ret = m66592_read(m66592, offset);
m66592            163 drivers/usb/gadget/udc/m66592-udc.c static inline void control_reg_sqclr(struct m66592 *m66592, u16 pipenum)
m66592            167 drivers/usb/gadget/udc/m66592-udc.c 	pipe_stop(m66592, pipenum);
m66592            170 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_SQCLR, M66592_DCPCTR);
m66592            173 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_SQCLR, offset);
m66592            178 drivers/usb/gadget/udc/m66592-udc.c static inline int get_buffer_size(struct m66592 *m66592, u16 pipenum)
m66592            184 drivers/usb/gadget/udc/m66592-udc.c 		tmp = m66592_read(m66592, M66592_DCPCFG);
m66592            188 drivers/usb/gadget/udc/m66592-udc.c 			tmp = m66592_read(m66592, M66592_DCPMAXP);
m66592            192 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, pipenum, M66592_PIPESEL);
m66592            193 drivers/usb/gadget/udc/m66592-udc.c 		tmp = m66592_read(m66592, M66592_PIPECFG);
m66592            195 drivers/usb/gadget/udc/m66592-udc.c 			tmp = m66592_read(m66592, M66592_PIPEBUF);
m66592            198 drivers/usb/gadget/udc/m66592-udc.c 			tmp = m66592_read(m66592, M66592_PIPEMAXP);
m66592            206 drivers/usb/gadget/udc/m66592-udc.c static inline void pipe_change(struct m66592 *m66592, u16 pipenum)
m66592            208 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592_ep *ep = m66592->pipenum2ep[pipenum];
m66592            214 drivers/usb/gadget/udc/m66592-udc.c 	m66592_mdfy(m66592, pipenum, M66592_CURPIPE, ep->fifosel);
m66592            218 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip)
m66592            223 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, mbw, ep->fifosel);
m66592            226 drivers/usb/gadget/udc/m66592-udc.c static int pipe_buffer_setting(struct m66592 *m66592,
m66592            235 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, info->pipe, M66592_PIPESEL);
m66592            271 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, pipecfg, M66592_PIPECFG);
m66592            272 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, (buf_bsize << 10) | (bufnum), M66592_PIPEBUF);
m66592            273 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, info->maxpacket, M66592_PIPEMAXP);
m66592            276 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, info->interval, M66592_PIPEPERI);
m66592            281 drivers/usb/gadget/udc/m66592-udc.c static void pipe_buffer_release(struct m66592 *m66592,
m66592            288 drivers/usb/gadget/udc/m66592-udc.c 		m66592->bulk--;
m66592            290 drivers/usb/gadget/udc/m66592-udc.c 		m66592->interrupt--;
m66592            292 drivers/usb/gadget/udc/m66592-udc.c 		m66592->isochronous--;
m66592            294 drivers/usb/gadget/udc/m66592-udc.c 			m66592->bulk--;
m66592            302 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            305 drivers/usb/gadget/udc/m66592-udc.c 	m66592_mdfy(m66592, 0, M66592_CURPIPE, ep->fifosel);
m66592            307 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, M66592_ACLRM, ep->pipectr);
m66592            308 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, 0, ep->pipectr);
m66592            309 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, M66592_SQCLR, ep->pipectr);
m66592            311 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, ep->pipenum, M66592_CURPIPE, ep->fifosel);
m66592            315 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->pdata->on_chip)
m66592            320 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, mbw, ep->fifosel);
m66592            324 drivers/usb/gadget/udc/m66592-udc.c static void m66592_ep_setting(struct m66592 *m66592, struct m66592_ep *ep,
m66592            329 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->num_dma == 0) {
m66592            330 drivers/usb/gadget/udc/m66592-udc.c 			m66592->num_dma++;
m66592            336 drivers/usb/gadget/udc/m66592-udc.c 		} else if (!m66592->pdata->on_chip && m66592->num_dma == 1) {
m66592            337 drivers/usb/gadget/udc/m66592-udc.c 			m66592->num_dma++;
m66592            361 drivers/usb/gadget/udc/m66592-udc.c 	m66592->pipenum2ep[pipenum] = ep;
m66592            362 drivers/usb/gadget/udc/m66592-udc.c 	m66592->epaddr2ep[desc->bEndpointAddress&USB_ENDPOINT_NUMBER_MASK] = ep;
m66592            368 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            375 drivers/usb/gadget/udc/m66592-udc.c 		m66592->num_dma--;
m66592            384 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            396 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->bulk >= M66592_MAX_NUM_BULK) {
m66592            397 drivers/usb/gadget/udc/m66592-udc.c 			if (m66592->isochronous >= M66592_MAX_NUM_ISOC) {
m66592            402 drivers/usb/gadget/udc/m66592-udc.c 						+ m66592->isochronous;
m66592            403 drivers/usb/gadget/udc/m66592-udc.c 				counter = &m66592->isochronous;
m66592            406 drivers/usb/gadget/udc/m66592-udc.c 			info.pipe = M66592_BASE_PIPENUM_BULK + m66592->bulk;
m66592            407 drivers/usb/gadget/udc/m66592-udc.c 			counter = &m66592->bulk;
m66592            413 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->interrupt >= M66592_MAX_NUM_INT) {
m66592            417 drivers/usb/gadget/udc/m66592-udc.c 		info.pipe = M66592_BASE_PIPENUM_INT + m66592->interrupt;
m66592            419 drivers/usb/gadget/udc/m66592-udc.c 		counter = &m66592->interrupt;
m66592            422 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->isochronous >= M66592_MAX_NUM_ISOC) {
m66592            426 drivers/usb/gadget/udc/m66592-udc.c 		info.pipe = M66592_BASE_PIPENUM_ISOC + m66592->isochronous;
m66592            428 drivers/usb/gadget/udc/m66592-udc.c 		counter = &m66592->isochronous;
m66592            444 drivers/usb/gadget/udc/m66592-udc.c 	ret = pipe_buffer_setting(m66592, &info);
m66592            451 drivers/usb/gadget/udc/m66592-udc.c 	if ((counter == &m66592->isochronous) && info.type == M66592_BULK)
m66592            452 drivers/usb/gadget/udc/m66592-udc.c 		m66592->bulk++;
m66592            454 drivers/usb/gadget/udc/m66592-udc.c 	m66592_ep_setting(m66592, ep, desc, info.pipe, dma);
m66592            462 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            467 drivers/usb/gadget/udc/m66592-udc.c 	pipe_buffer_release(m66592, &info);
m66592            474 drivers/usb/gadget/udc/m66592-udc.c static void pipe_irq_enable(struct m66592 *m66592, u16 pipenum)
m66592            476 drivers/usb/gadget/udc/m66592-udc.c 	enable_irq_ready(m66592, pipenum);
m66592            477 drivers/usb/gadget/udc/m66592-udc.c 	enable_irq_nrdy(m66592, pipenum);
m66592            480 drivers/usb/gadget/udc/m66592-udc.c static void pipe_irq_disable(struct m66592 *m66592, u16 pipenum)
m66592            482 drivers/usb/gadget/udc/m66592-udc.c 	disable_irq_ready(m66592, pipenum);
m66592            483 drivers/usb/gadget/udc/m66592-udc.c 	disable_irq_nrdy(m66592, pipenum);
m66592            487 drivers/usb/gadget/udc/m66592-udc.c static void control_end(struct m66592 *m66592, unsigned ccpl)
m66592            489 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].internal_ccpl = ccpl;
m66592            490 drivers/usb/gadget/udc/m66592-udc.c 	pipe_start(m66592, 0);
m66592            491 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_CCPL, M66592_DCPCTR);
m66592            496 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            498 drivers/usb/gadget/udc/m66592-udc.c 	pipe_change(m66592, ep->pipenum);
m66592            499 drivers/usb/gadget/udc/m66592-udc.c 	m66592_mdfy(m66592, M66592_ISEL | M66592_PIPE0,
m66592            502 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, M66592_BCLR, ep->fifoctr);
m66592            504 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
m66592            505 drivers/usb/gadget/udc/m66592-udc.c 		pipe_start(m66592, 0);
m66592            508 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, ~M66592_BEMP0, M66592_BEMPSTS);
m66592            515 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            518 drivers/usb/gadget/udc/m66592-udc.c 	pipe_change(m66592, ep->pipenum);
m66592            519 drivers/usb/gadget/udc/m66592-udc.c 	disable_irq_empty(m66592, ep->pipenum);
m66592            520 drivers/usb/gadget/udc/m66592-udc.c 	pipe_start(m66592, ep->pipenum);
m66592            522 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, ep->fifoctr);
m66592            524 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_enable(m66592, ep->pipenum);
m66592            531 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            535 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, M66592_PIPE0,
m66592            538 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, M66592_BCLR, ep->fifoctr);
m66592            539 drivers/usb/gadget/udc/m66592-udc.c 		pipe_start(m66592, pipenum);
m66592            540 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_enable(m66592, pipenum);
m66592            543 drivers/usb/gadget/udc/m66592-udc.c 			m66592_bset(m66592, M66592_TRCLR, ep->fifosel);
m66592            544 drivers/usb/gadget/udc/m66592-udc.c 			pipe_change(m66592, pipenum);
m66592            545 drivers/usb/gadget/udc/m66592-udc.c 			m66592_bset(m66592, M66592_TRENB, ep->fifosel);
m66592            546 drivers/usb/gadget/udc/m66592-udc.c 			m66592_write(m66592,
m66592            551 drivers/usb/gadget/udc/m66592-udc.c 		pipe_start(m66592, pipenum);	/* trigger once */
m66592            552 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_enable(m66592, pipenum);
m66592            568 drivers/usb/gadget/udc/m66592-udc.c 	ctsq = m66592_read(ep->m66592, M66592_INTSTS0) & M66592_CTSQ;
m66592            579 drivers/usb/gadget/udc/m66592-udc.c 		control_end(ep->m66592, 0);
m66592            587 drivers/usb/gadget/udc/m66592-udc.c static void init_controller(struct m66592 *m66592)
m66592            591 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip) {
m66592            592 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->pdata->endian)
m66592            597 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_HSE, M66592_SYSCFG);	/* High spd */
m66592            598 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_USBE, M66592_SYSCFG);
m66592            599 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592            600 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_USBE, M66592_SYSCFG);
m66592            603 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, 0x8000, M66592_DVSTCTR);
m66592            604 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, 0x1000, M66592_TESTMODE);
m66592            605 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, 0x8000, M66592_DVSTCTR);
m66592            607 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_INTL, M66592_INTENB1);
m66592            609 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, 0, M66592_CFBCFG);
m66592            610 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, 0, M66592_D0FBCFG);
m66592            611 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, endian, M66592_CFBCFG);
m66592            612 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, endian, M66592_D0FBCFG);
m66592            616 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->pdata->endian)
m66592            621 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->pdata->vif)
m66592            626 drivers/usb/gadget/udc/m66592-udc.c 		switch (m66592->pdata->xtal) {
m66592            641 drivers/usb/gadget/udc/m66592-udc.c 		switch (m66592->irq_trigger) {
m66592            653 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592,
m66592            656 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_HSE, M66592_SYSCFG);	/* High spd */
m66592            657 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, clock & M66592_XTAL, M66592_XTAL,
m66592            659 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_USBE, M66592_SYSCFG);
m66592            660 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592            661 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_USBE, M66592_SYSCFG);
m66592            663 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_XCKE, M66592_SYSCFG);
m66592            667 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_RCKE | M66592_PLLC, M66592_SYSCFG);
m66592            671 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_SCKE, M66592_SYSCFG);
m66592            673 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, irq_sense & M66592_INTL, M66592_INTENB1);
m66592            674 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, M66592_BURST | M66592_CPU_ADR_RD_WR,
m66592            679 drivers/usb/gadget/udc/m66592-udc.c static void disable_controller(struct m66592 *m66592)
m66592            681 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_UTST, M66592_TESTMODE);
m66592            682 drivers/usb/gadget/udc/m66592-udc.c 	if (!m66592->pdata->on_chip) {
m66592            683 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_SCKE, M66592_SYSCFG);
m66592            685 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_PLLC, M66592_SYSCFG);
m66592            687 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_RCKE, M66592_SYSCFG);
m66592            689 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_XCKE, M66592_SYSCFG);
m66592            693 drivers/usb/gadget/udc/m66592-udc.c static void m66592_start_xclock(struct m66592 *m66592)
m66592            697 drivers/usb/gadget/udc/m66592-udc.c 	if (!m66592->pdata->on_chip) {
m66592            698 drivers/usb/gadget/udc/m66592-udc.c 		tmp = m66592_read(m66592, M66592_SYSCFG);
m66592            700 drivers/usb/gadget/udc/m66592-udc.c 			m66592_bset(m66592, M66592_XCKE, M66592_SYSCFG);
m66592            707 drivers/usb/gadget/udc/m66592-udc.c __releases(m66592->lock)
m66592            708 drivers/usb/gadget/udc/m66592-udc.c __acquires(m66592->lock)
m66592            720 drivers/usb/gadget/udc/m66592-udc.c 	if (ep->m66592->gadget.speed == USB_SPEED_UNKNOWN)
m66592            728 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock(&ep->m66592->lock);
m66592            730 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock(&ep->m66592->lock);
m66592            747 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            749 drivers/usb/gadget/udc/m66592-udc.c 	pipe_change(m66592, pipenum);
m66592            750 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_ISEL, ep->fifosel);
m66592            754 drivers/usb/gadget/udc/m66592-udc.c 		tmp = m66592_read(m66592, ep->fifoctr);
m66592            764 drivers/usb/gadget/udc/m66592-udc.c 	bufsize = get_buffer_size(m66592, pipenum);
m66592            771 drivers/usb/gadget/udc/m66592-udc.c 			m66592_write_fifo(m66592, ep, buf, size);
m66592            773 drivers/usb/gadget/udc/m66592-udc.c 			m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
m66592            783 drivers/usb/gadget/udc/m66592-udc.c 		disable_irq_ready(m66592, pipenum);
m66592            784 drivers/usb/gadget/udc/m66592-udc.c 		disable_irq_empty(m66592, pipenum);
m66592            786 drivers/usb/gadget/udc/m66592-udc.c 		disable_irq_ready(m66592, pipenum);
m66592            787 drivers/usb/gadget/udc/m66592-udc.c 		enable_irq_empty(m66592, pipenum);
m66592            789 drivers/usb/gadget/udc/m66592-udc.c 	pipe_start(m66592, pipenum);
m66592            799 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            801 drivers/usb/gadget/udc/m66592-udc.c 	pipe_change(m66592, pipenum);
m66592            802 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, ep->fifoctr);
m66592            804 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(m66592, pipenum);
m66592            805 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_disable(m66592, pipenum);
m66592            811 drivers/usb/gadget/udc/m66592-udc.c 	bufsize = get_buffer_size(m66592, pipenum);
m66592            817 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write_fifo(m66592, ep, buf, size);
m66592            822 drivers/usb/gadget/udc/m66592-udc.c 			m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
m66592            831 drivers/usb/gadget/udc/m66592-udc.c 		disable_irq_ready(m66592, pipenum);
m66592            832 drivers/usb/gadget/udc/m66592-udc.c 		enable_irq_empty(m66592, pipenum);
m66592            834 drivers/usb/gadget/udc/m66592-udc.c 		disable_irq_empty(m66592, pipenum);
m66592            835 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_enable(m66592, pipenum);
m66592            846 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = ep->m66592;
m66592            849 drivers/usb/gadget/udc/m66592-udc.c 	pipe_change(m66592, pipenum);
m66592            850 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, ep->fifoctr);
m66592            853 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(m66592, pipenum);
m66592            854 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_disable(m66592, pipenum);
m66592            861 drivers/usb/gadget/udc/m66592-udc.c 	bufsize = get_buffer_size(m66592, pipenum);
m66592            877 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(m66592, pipenum);
m66592            878 drivers/usb/gadget/udc/m66592-udc.c 		pipe_irq_disable(m66592, pipenum);
m66592            885 drivers/usb/gadget/udc/m66592-udc.c 			m66592_write(m66592, M66592_BCLR, ep->fifoctr);
m66592            887 drivers/usb/gadget/udc/m66592-udc.c 			m66592_read_fifo(m66592, ep->fifoaddr, buf, size);
m66592            894 drivers/usb/gadget/udc/m66592-udc.c static void irq_pipe_ready(struct m66592 *m66592, u16 status, u16 enb)
m66592            902 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, ~M66592_BRDY0, M66592_BRDYSTS);
m66592            903 drivers/usb/gadget/udc/m66592-udc.c 		m66592_mdfy(m66592, M66592_PIPE0, M66592_CURPIPE,
m66592            906 drivers/usb/gadget/udc/m66592-udc.c 		ep = &m66592->ep[0];
m66592            913 drivers/usb/gadget/udc/m66592-udc.c 				m66592_write(m66592, ~check, M66592_BRDYSTS);
m66592            914 drivers/usb/gadget/udc/m66592-udc.c 				ep = m66592->pipenum2ep[pipenum];
m66592            926 drivers/usb/gadget/udc/m66592-udc.c static void irq_pipe_empty(struct m66592 *m66592, u16 status, u16 enb)
m66592            935 drivers/usb/gadget/udc/m66592-udc.c 		m66592_write(m66592, ~M66592_BEMP0, M66592_BEMPSTS);
m66592            937 drivers/usb/gadget/udc/m66592-udc.c 		ep = &m66592->ep[0];
m66592            944 drivers/usb/gadget/udc/m66592-udc.c 				m66592_write(m66592, ~check, M66592_BEMPSTS);
m66592            945 drivers/usb/gadget/udc/m66592-udc.c 				tmp = control_reg_get(m66592, pipenum);
m66592            947 drivers/usb/gadget/udc/m66592-udc.c 					disable_irq_empty(m66592, pipenum);
m66592            948 drivers/usb/gadget/udc/m66592-udc.c 					pipe_irq_disable(m66592, pipenum);
m66592            949 drivers/usb/gadget/udc/m66592-udc.c 					pipe_stop(m66592, pipenum);
m66592            950 drivers/usb/gadget/udc/m66592-udc.c 					ep = m66592->pipenum2ep[pipenum];
m66592            962 drivers/usb/gadget/udc/m66592-udc.c static void get_status(struct m66592 *m66592, struct usb_ctrlrequest *ctrl)
m66592            963 drivers/usb/gadget/udc/m66592-udc.c __releases(m66592->lock)
m66592            964 drivers/usb/gadget/udc/m66592-udc.c __acquires(m66592->lock)
m66592            979 drivers/usb/gadget/udc/m66592-udc.c 		ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
m66592            980 drivers/usb/gadget/udc/m66592-udc.c 		pid = control_reg_get_pid(m66592, ep->pipenum);
m66592            987 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stall(m66592, 0);
m66592            991 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep0_data = cpu_to_le16(status);
m66592            992 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep0_req->buf = &m66592->ep0_data;
m66592            993 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep0_req->length = 2;
m66592            995 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock(&m66592->lock);
m66592            996 drivers/usb/gadget/udc/m66592-udc.c 	m66592_queue(m66592->gadget.ep0, m66592->ep0_req, GFP_KERNEL);
m66592            997 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock(&m66592->lock);
m66592           1000 drivers/usb/gadget/udc/m66592-udc.c static void clear_feature(struct m66592 *m66592, struct usb_ctrlrequest *ctrl)
m66592           1004 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 1);
m66592           1007 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 1);
m66592           1014 drivers/usb/gadget/udc/m66592-udc.c 		ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
m66592           1015 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(m66592, ep->pipenum);
m66592           1016 drivers/usb/gadget/udc/m66592-udc.c 		control_reg_sqclr(m66592, ep->pipenum);
m66592           1018 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 1);
m66592           1028 drivers/usb/gadget/udc/m66592-udc.c 			pipe_start(m66592, ep->pipenum);
m66592           1032 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stall(m66592, 0);
m66592           1037 drivers/usb/gadget/udc/m66592-udc.c static void set_feature(struct m66592 *m66592, struct usb_ctrlrequest *ctrl)
m66592           1046 drivers/usb/gadget/udc/m66592-udc.c 			control_end(m66592, 1);
m66592           1049 drivers/usb/gadget/udc/m66592-udc.c 				tmp = m66592_read(m66592, M66592_INTSTS0) &
m66592           1055 drivers/usb/gadget/udc/m66592-udc.c 				m66592_bset(m66592,
m66592           1060 drivers/usb/gadget/udc/m66592-udc.c 			pipe_stall(m66592, 0);
m66592           1065 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 1);
m66592           1071 drivers/usb/gadget/udc/m66592-udc.c 		ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
m66592           1072 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stall(m66592, ep->pipenum);
m66592           1074 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 1);
m66592           1078 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stall(m66592, 0);
m66592           1084 drivers/usb/gadget/udc/m66592-udc.c static int setup_packet(struct m66592 *m66592, struct usb_ctrlrequest *ctrl)
m66592           1091 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, ~M66592_VALID, M66592_INTSTS0);
m66592           1094 drivers/usb/gadget/udc/m66592-udc.c 		p[i] = m66592_read(m66592, offset + i*2);
m66592           1100 drivers/usb/gadget/udc/m66592-udc.c 			get_status(m66592, ctrl);
m66592           1103 drivers/usb/gadget/udc/m66592-udc.c 			clear_feature(m66592, ctrl);
m66592           1106 drivers/usb/gadget/udc/m66592-udc.c 			set_feature(m66592, ctrl);
m66592           1117 drivers/usb/gadget/udc/m66592-udc.c static void m66592_update_usb_speed(struct m66592 *m66592)
m66592           1119 drivers/usb/gadget/udc/m66592-udc.c 	u16 speed = get_usb_speed(m66592);
m66592           1123 drivers/usb/gadget/udc/m66592-udc.c 		m66592->gadget.speed = USB_SPEED_HIGH;
m66592           1126 drivers/usb/gadget/udc/m66592-udc.c 		m66592->gadget.speed = USB_SPEED_FULL;
m66592           1129 drivers/usb/gadget/udc/m66592-udc.c 		m66592->gadget.speed = USB_SPEED_UNKNOWN;
m66592           1134 drivers/usb/gadget/udc/m66592-udc.c static void irq_device_state(struct m66592 *m66592)
m66592           1138 drivers/usb/gadget/udc/m66592-udc.c 	dvsq = m66592_read(m66592, M66592_INTSTS0) & M66592_DVSQ;
m66592           1139 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, ~M66592_DVST, M66592_INTSTS0);
m66592           1142 drivers/usb/gadget/udc/m66592-udc.c 		usb_gadget_udc_reset(&m66592->gadget, m66592->driver);
m66592           1143 drivers/usb/gadget/udc/m66592-udc.c 		m66592_update_usb_speed(m66592);
m66592           1145 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->old_dvsq == M66592_DS_CNFG && dvsq != M66592_DS_CNFG)
m66592           1146 drivers/usb/gadget/udc/m66592-udc.c 		m66592_update_usb_speed(m66592);
m66592           1148 drivers/usb/gadget/udc/m66592-udc.c 			&& m66592->gadget.speed == USB_SPEED_UNKNOWN)
m66592           1149 drivers/usb/gadget/udc/m66592-udc.c 		m66592_update_usb_speed(m66592);
m66592           1151 drivers/usb/gadget/udc/m66592-udc.c 	m66592->old_dvsq = dvsq;
m66592           1154 drivers/usb/gadget/udc/m66592-udc.c static void irq_control_stage(struct m66592 *m66592)
m66592           1155 drivers/usb/gadget/udc/m66592-udc.c __releases(m66592->lock)
m66592           1156 drivers/usb/gadget/udc/m66592-udc.c __acquires(m66592->lock)
m66592           1161 drivers/usb/gadget/udc/m66592-udc.c 	ctsq = m66592_read(m66592, M66592_INTSTS0) & M66592_CTSQ;
m66592           1162 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, ~M66592_CTRT, M66592_INTSTS0);
m66592           1168 drivers/usb/gadget/udc/m66592-udc.c 		ep = &m66592->ep[0];
m66592           1177 drivers/usb/gadget/udc/m66592-udc.c 		if (setup_packet(m66592, &ctrl)) {
m66592           1178 drivers/usb/gadget/udc/m66592-udc.c 			spin_unlock(&m66592->lock);
m66592           1179 drivers/usb/gadget/udc/m66592-udc.c 			if (m66592->driver->setup(&m66592->gadget, &ctrl) < 0)
m66592           1180 drivers/usb/gadget/udc/m66592-udc.c 				pipe_stall(m66592, 0);
m66592           1181 drivers/usb/gadget/udc/m66592-udc.c 			spin_lock(&m66592->lock);
m66592           1186 drivers/usb/gadget/udc/m66592-udc.c 		control_end(m66592, 0);
m66592           1196 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = _m66592;
m66592           1202 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock(&m66592->lock);
m66592           1204 drivers/usb/gadget/udc/m66592-udc.c 	intsts0 = m66592_read(m66592, M66592_INTSTS0);
m66592           1205 drivers/usb/gadget/udc/m66592-udc.c 	intenb0 = m66592_read(m66592, M66592_INTENB0);
m66592           1207 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip && !intsts0 && !intenb0) {
m66592           1213 drivers/usb/gadget/udc/m66592-udc.c 		m66592_start_xclock(m66592);
m66592           1214 drivers/usb/gadget/udc/m66592-udc.c 		intsts0 = m66592_read(m66592, M66592_INTSTS0);
m66592           1215 drivers/usb/gadget/udc/m66592-udc.c 		intenb0 = m66592_read(m66592, M66592_INTENB0);
m66592           1218 drivers/usb/gadget/udc/m66592-udc.c 	savepipe = m66592_read(m66592, M66592_CFIFOSEL);
m66592           1222 drivers/usb/gadget/udc/m66592-udc.c 		u16 brdysts = m66592_read(m66592, M66592_BRDYSTS);
m66592           1223 drivers/usb/gadget/udc/m66592-udc.c 		u16 bempsts = m66592_read(m66592, M66592_BEMPSTS);
m66592           1224 drivers/usb/gadget/udc/m66592-udc.c 		u16 brdyenb = m66592_read(m66592, M66592_BRDYENB);
m66592           1225 drivers/usb/gadget/udc/m66592-udc.c 		u16 bempenb = m66592_read(m66592, M66592_BEMPENB);
m66592           1228 drivers/usb/gadget/udc/m66592-udc.c 			m66592_write(m66592,  0xffff & ~M66592_VBINT,
m66592           1230 drivers/usb/gadget/udc/m66592-udc.c 			m66592_start_xclock(m66592);
m66592           1233 drivers/usb/gadget/udc/m66592-udc.c 			m66592->old_vbus = m66592_read(m66592, M66592_INTSTS0)
m66592           1235 drivers/usb/gadget/udc/m66592-udc.c 			m66592->scount = M66592_MAX_SAMPLING;
m66592           1237 drivers/usb/gadget/udc/m66592-udc.c 			mod_timer(&m66592->timer,
m66592           1241 drivers/usb/gadget/udc/m66592-udc.c 			irq_device_state(m66592);
m66592           1245 drivers/usb/gadget/udc/m66592-udc.c 			irq_pipe_ready(m66592, brdysts, brdyenb);
m66592           1249 drivers/usb/gadget/udc/m66592-udc.c 			irq_pipe_empty(m66592, bempsts, bempenb);
m66592           1253 drivers/usb/gadget/udc/m66592-udc.c 			irq_control_stage(m66592);
m66592           1256 drivers/usb/gadget/udc/m66592-udc.c 	m66592_write(m66592, savepipe, M66592_CFIFOSEL);
m66592           1258 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock(&m66592->lock);
m66592           1264 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = from_timer(m66592, t, timer);
m66592           1268 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&m66592->lock, flags);
m66592           1269 drivers/usb/gadget/udc/m66592-udc.c 	tmp = m66592_read(m66592, M66592_SYSCFG);
m66592           1271 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_RCKE | M66592_PLLC, M66592_SYSCFG);
m66592           1273 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_SCKE, M66592_SYSCFG);
m66592           1275 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->scount > 0) {
m66592           1276 drivers/usb/gadget/udc/m66592-udc.c 		tmp = m66592_read(m66592, M66592_INTSTS0) & M66592_VBSTS;
m66592           1277 drivers/usb/gadget/udc/m66592-udc.c 		if (tmp == m66592->old_vbus) {
m66592           1278 drivers/usb/gadget/udc/m66592-udc.c 			m66592->scount--;
m66592           1279 drivers/usb/gadget/udc/m66592-udc.c 			if (m66592->scount == 0) {
m66592           1281 drivers/usb/gadget/udc/m66592-udc.c 					m66592_usb_connect(m66592);
m66592           1283 drivers/usb/gadget/udc/m66592-udc.c 					m66592_usb_disconnect(m66592);
m66592           1285 drivers/usb/gadget/udc/m66592-udc.c 				mod_timer(&m66592->timer,
m66592           1289 drivers/usb/gadget/udc/m66592-udc.c 			m66592->scount = M66592_MAX_SAMPLING;
m66592           1290 drivers/usb/gadget/udc/m66592-udc.c 			m66592->old_vbus = tmp;
m66592           1291 drivers/usb/gadget/udc/m66592-udc.c 			mod_timer(&m66592->timer,
m66592           1295 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&m66592->lock, flags);
m66592           1319 drivers/usb/gadget/udc/m66592-udc.c 		spin_lock_irqsave(&ep->m66592->lock, flags);
m66592           1321 drivers/usb/gadget/udc/m66592-udc.c 		spin_unlock_irqrestore(&ep->m66592->lock, flags);
m66592           1324 drivers/usb/gadget/udc/m66592-udc.c 	pipe_irq_disable(ep->m66592, ep->pipenum);
m66592           1361 drivers/usb/gadget/udc/m66592-udc.c 	if (ep->m66592->gadget.speed == USB_SPEED_UNKNOWN)
m66592           1364 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&ep->m66592->lock, flags);
m66592           1380 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&ep->m66592->lock, flags);
m66592           1394 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&ep->m66592->lock, flags);
m66592           1397 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&ep->m66592->lock, flags);
m66592           1408 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&ep->m66592->lock, flags);
m66592           1413 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stall(ep->m66592, ep->pipenum);
m66592           1416 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(ep->m66592, ep->pipenum);
m66592           1418 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&ep->m66592->lock, flags);
m66592           1428 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&ep->m66592->lock, flags);
m66592           1430 drivers/usb/gadget/udc/m66592-udc.c 		pipe_stop(ep->m66592, ep->pipenum);
m66592           1431 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(ep->m66592, M66592_BCLR, ep->fifoctr);
m66592           1433 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&ep->m66592->lock, flags);
m66592           1454 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = to_m66592(g);
m66592           1458 drivers/usb/gadget/udc/m66592-udc.c 	m66592->driver = driver;
m66592           1460 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bset(m66592, M66592_VBSE | M66592_URST, M66592_INTENB0);
m66592           1461 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592_read(m66592, M66592_INTSTS0) & M66592_VBSTS) {
m66592           1462 drivers/usb/gadget/udc/m66592-udc.c 		m66592_start_xclock(m66592);
m66592           1464 drivers/usb/gadget/udc/m66592-udc.c 		m66592->old_vbus = m66592_read(m66592,
m66592           1466 drivers/usb/gadget/udc/m66592-udc.c 		m66592->scount = M66592_MAX_SAMPLING;
m66592           1467 drivers/usb/gadget/udc/m66592-udc.c 		mod_timer(&m66592->timer, jiffies + msecs_to_jiffies(50));
m66592           1475 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = to_m66592(g);
m66592           1477 drivers/usb/gadget/udc/m66592-udc.c 	m66592_bclr(m66592, M66592_VBSE | M66592_URST, M66592_INTENB0);
m66592           1479 drivers/usb/gadget/udc/m66592-udc.c 	init_controller(m66592);
m66592           1480 drivers/usb/gadget/udc/m66592-udc.c 	disable_controller(m66592);
m66592           1482 drivers/usb/gadget/udc/m66592-udc.c 	m66592->driver = NULL;
m66592           1490 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = gadget_to_m66592(_gadget);
m66592           1491 drivers/usb/gadget/udc/m66592-udc.c 	return m66592_read(m66592, M66592_FRMNUM) & 0x03FF;
m66592           1496 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = gadget_to_m66592(gadget);
m66592           1499 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_irqsave(&m66592->lock, flags);
m66592           1501 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bset(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592           1503 drivers/usb/gadget/udc/m66592-udc.c 		m66592_bclr(m66592, M66592_DPRPU, M66592_SYSCFG);
m66592           1504 drivers/usb/gadget/udc/m66592-udc.c 	spin_unlock_irqrestore(&m66592->lock, flags);
m66592           1518 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592		*m66592 = platform_get_drvdata(pdev);
m66592           1520 drivers/usb/gadget/udc/m66592-udc.c 	usb_del_gadget_udc(&m66592->gadget);
m66592           1522 drivers/usb/gadget/udc/m66592-udc.c 	del_timer_sync(&m66592->timer);
m66592           1523 drivers/usb/gadget/udc/m66592-udc.c 	iounmap(m66592->reg);
m66592           1524 drivers/usb/gadget/udc/m66592-udc.c 	free_irq(platform_get_irq(pdev, 0), m66592);
m66592           1525 drivers/usb/gadget/udc/m66592-udc.c 	m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
m66592           1526 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip) {
m66592           1527 drivers/usb/gadget/udc/m66592-udc.c 		clk_disable(m66592->clk);
m66592           1528 drivers/usb/gadget/udc/m66592-udc.c 		clk_put(m66592->clk);
m66592           1530 drivers/usb/gadget/udc/m66592-udc.c 	kfree(m66592);
m66592           1542 drivers/usb/gadget/udc/m66592-udc.c 	struct m66592 *m66592 = NULL;
m66592           1576 drivers/usb/gadget/udc/m66592-udc.c 	m66592 = kzalloc(sizeof(struct m66592), GFP_KERNEL);
m66592           1577 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592 == NULL) {
m66592           1582 drivers/usb/gadget/udc/m66592-udc.c 	m66592->pdata = dev_get_platdata(&pdev->dev);
m66592           1583 drivers/usb/gadget/udc/m66592-udc.c 	m66592->irq_trigger = ires->flags & IRQF_TRIGGER_MASK;
m66592           1585 drivers/usb/gadget/udc/m66592-udc.c 	spin_lock_init(&m66592->lock);
m66592           1586 drivers/usb/gadget/udc/m66592-udc.c 	platform_set_drvdata(pdev, m66592);
m66592           1588 drivers/usb/gadget/udc/m66592-udc.c 	m66592->gadget.ops = &m66592_gadget_ops;
m66592           1589 drivers/usb/gadget/udc/m66592-udc.c 	m66592->gadget.max_speed = USB_SPEED_HIGH;
m66592           1590 drivers/usb/gadget/udc/m66592-udc.c 	m66592->gadget.name = udc_name;
m66592           1592 drivers/usb/gadget/udc/m66592-udc.c 	timer_setup(&m66592->timer, m66592_timer, 0);
m66592           1593 drivers/usb/gadget/udc/m66592-udc.c 	m66592->reg = reg;
m66592           1596 drivers/usb/gadget/udc/m66592-udc.c 			udc_name, m66592);
m66592           1602 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip) {
m66592           1604 drivers/usb/gadget/udc/m66592-udc.c 		m66592->clk = clk_get(&pdev->dev, clk_name);
m66592           1605 drivers/usb/gadget/udc/m66592-udc.c 		if (IS_ERR(m66592->clk)) {
m66592           1608 drivers/usb/gadget/udc/m66592-udc.c 			ret = PTR_ERR(m66592->clk);
m66592           1611 drivers/usb/gadget/udc/m66592-udc.c 		clk_enable(m66592->clk);
m66592           1614 drivers/usb/gadget/udc/m66592-udc.c 	INIT_LIST_HEAD(&m66592->gadget.ep_list);
m66592           1615 drivers/usb/gadget/udc/m66592-udc.c 	m66592->gadget.ep0 = &m66592->ep[0].ep;
m66592           1616 drivers/usb/gadget/udc/m66592-udc.c 	INIT_LIST_HEAD(&m66592->gadget.ep0->ep_list);
m66592           1618 drivers/usb/gadget/udc/m66592-udc.c 		struct m66592_ep *ep = &m66592->ep[i];
m66592           1621 drivers/usb/gadget/udc/m66592-udc.c 			INIT_LIST_HEAD(&m66592->ep[i].ep.ep_list);
m66592           1622 drivers/usb/gadget/udc/m66592-udc.c 			list_add_tail(&m66592->ep[i].ep.ep_list,
m66592           1623 drivers/usb/gadget/udc/m66592-udc.c 					&m66592->gadget.ep_list);
m66592           1625 drivers/usb/gadget/udc/m66592-udc.c 		ep->m66592 = m66592;
m66592           1642 drivers/usb/gadget/udc/m66592-udc.c 	usb_ep_set_maxpacket_limit(&m66592->ep[0].ep, 64);
m66592           1643 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].pipenum = 0;
m66592           1644 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].fifoaddr = M66592_CFIFO;
m66592           1645 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].fifosel = M66592_CFIFOSEL;
m66592           1646 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].fifoctr = M66592_CFIFOCTR;
m66592           1647 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].fifotrn = 0;
m66592           1648 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep[0].pipectr = get_pipectr_addr(0);
m66592           1649 drivers/usb/gadget/udc/m66592-udc.c 	m66592->pipenum2ep[0] = &m66592->ep[0];
m66592           1650 drivers/usb/gadget/udc/m66592-udc.c 	m66592->epaddr2ep[0] = &m66592->ep[0];
m66592           1652 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep0_req = m66592_alloc_request(&m66592->ep[0].ep, GFP_KERNEL);
m66592           1653 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->ep0_req == NULL) {
m66592           1657 drivers/usb/gadget/udc/m66592-udc.c 	m66592->ep0_req->complete = nop_completion;
m66592           1659 drivers/usb/gadget/udc/m66592-udc.c 	init_controller(m66592);
m66592           1661 drivers/usb/gadget/udc/m66592-udc.c 	ret = usb_add_gadget_udc(&pdev->dev, &m66592->gadget);
m66592           1669 drivers/usb/gadget/udc/m66592-udc.c 	m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
m66592           1672 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592->pdata->on_chip) {
m66592           1673 drivers/usb/gadget/udc/m66592-udc.c 		clk_disable(m66592->clk);
m66592           1674 drivers/usb/gadget/udc/m66592-udc.c 		clk_put(m66592->clk);
m66592           1677 drivers/usb/gadget/udc/m66592-udc.c 	free_irq(ires->start, m66592);
m66592           1679 drivers/usb/gadget/udc/m66592-udc.c 	if (m66592) {
m66592           1680 drivers/usb/gadget/udc/m66592-udc.c 		if (m66592->ep0_req)
m66592           1681 drivers/usb/gadget/udc/m66592-udc.c 			m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
m66592           1682 drivers/usb/gadget/udc/m66592-udc.c 		kfree(m66592);
m66592            443 drivers/usb/gadget/udc/m66592-udc.h 	struct m66592		*m66592;
m66592            492 drivers/usb/gadget/udc/m66592-udc.h #define to_m66592(g)	(container_of((g), struct m66592, gadget))
m66592            494 drivers/usb/gadget/udc/m66592-udc.h #define gadget_to_m66592(_gadget) container_of(_gadget, struct m66592, gadget)
m66592            495 drivers/usb/gadget/udc/m66592-udc.h #define m66592_to_gadget(m66592) (&m66592->gadget)
m66592            507 drivers/usb/gadget/udc/m66592-udc.h #define enable_irq_ready(m66592, pipenum)	\
m66592            508 drivers/usb/gadget/udc/m66592-udc.h 	enable_pipe_irq(m66592, pipenum, M66592_BRDYENB)
m66592            509 drivers/usb/gadget/udc/m66592-udc.h #define disable_irq_ready(m66592, pipenum)	\
m66592            510 drivers/usb/gadget/udc/m66592-udc.h 	disable_pipe_irq(m66592, pipenum, M66592_BRDYENB)
m66592            511 drivers/usb/gadget/udc/m66592-udc.h #define enable_irq_empty(m66592, pipenum)	\
m66592            512 drivers/usb/gadget/udc/m66592-udc.h 	enable_pipe_irq(m66592, pipenum, M66592_BEMPENB)
m66592            513 drivers/usb/gadget/udc/m66592-udc.h #define disable_irq_empty(m66592, pipenum)	\
m66592            514 drivers/usb/gadget/udc/m66592-udc.h 	disable_pipe_irq(m66592, pipenum, M66592_BEMPENB)
m66592            515 drivers/usb/gadget/udc/m66592-udc.h #define enable_irq_nrdy(m66592, pipenum)	\
m66592            516 drivers/usb/gadget/udc/m66592-udc.h 	enable_pipe_irq(m66592, pipenum, M66592_NRDYENB)
m66592            517 drivers/usb/gadget/udc/m66592-udc.h #define disable_irq_nrdy(m66592, pipenum)	\
m66592            518 drivers/usb/gadget/udc/m66592-udc.h 	disable_pipe_irq(m66592, pipenum, M66592_NRDYENB)
m66592            521 drivers/usb/gadget/udc/m66592-udc.h static inline u16 m66592_read(struct m66592 *m66592, unsigned long offset)
m66592            523 drivers/usb/gadget/udc/m66592-udc.h 	return ioread16(m66592->reg + offset);
m66592            526 drivers/usb/gadget/udc/m66592-udc.h static inline void m66592_read_fifo(struct m66592 *m66592,
m66592            530 drivers/usb/gadget/udc/m66592-udc.h 	void __iomem *fifoaddr = m66592->reg + offset;
m66592            532 drivers/usb/gadget/udc/m66592-udc.h 	if (m66592->pdata->on_chip) {
m66592            541 drivers/usb/gadget/udc/m66592-udc.h static inline void m66592_write(struct m66592 *m66592, u16 val,
m66592            544 drivers/usb/gadget/udc/m66592-udc.h 	iowrite16(val, m66592->reg + offset);
m66592            547 drivers/usb/gadget/udc/m66592-udc.h static inline void m66592_mdfy(struct m66592 *m66592, u16 val, u16 pat,
m66592            551 drivers/usb/gadget/udc/m66592-udc.h 	tmp = m66592_read(m66592, offset);
m66592            554 drivers/usb/gadget/udc/m66592-udc.h 	m66592_write(m66592, tmp, offset);
m66592            557 drivers/usb/gadget/udc/m66592-udc.h #define m66592_bclr(m66592, val, offset)	\
m66592            558 drivers/usb/gadget/udc/m66592-udc.h 			m66592_mdfy(m66592, 0, val, offset)
m66592            559 drivers/usb/gadget/udc/m66592-udc.h #define m66592_bset(m66592, val, offset)	\
m66592            560 drivers/usb/gadget/udc/m66592-udc.h 			m66592_mdfy(m66592, val, 0, offset)
m66592            562 drivers/usb/gadget/udc/m66592-udc.h static inline void m66592_write_fifo(struct m66592 *m66592,
m66592            566 drivers/usb/gadget/udc/m66592-udc.h 	void __iomem *fifoaddr = m66592->reg + ep->fifoaddr;
m66592            568 drivers/usb/gadget/udc/m66592-udc.h 	if (m66592->pdata->on_chip) {
m66592            579 drivers/usb/gadget/udc/m66592-udc.h 				if (m66592_read(m66592, M66592_CFBCFG))	/* le */
m66592            592 drivers/usb/gadget/udc/m66592-udc.h 			if (m66592->pdata->wr0_shorted_to_wr1)
m66592            593 drivers/usb/gadget/udc/m66592-udc.h 				m66592_bclr(m66592, M66592_MBW_16, ep->fifosel);
m66592            595 drivers/usb/gadget/udc/m66592-udc.h 			if (m66592->pdata->wr0_shorted_to_wr1)
m66592            596 drivers/usb/gadget/udc/m66592-udc.h 				m66592_bset(m66592, M66592_MBW_16, ep->fifosel);