Home
last modified time | relevance | path

Searched refs:ep_num (Results 1 - 25 of 66) sorted by relevance

123

/kernel/linux/linux-5.10/drivers/usb/gadget/udc/
H A Dmv_u3d_core.c119 int direction, ep_num; in mv_u3d_process_ep_req() local
124 ep_num = index / 2; in mv_u3d_process_ep_req()
139 tmp = ioread32(&u3d->vuc_regs->rxst[ep_num].statuslo); in mv_u3d_process_ep_req()
141 tmp = ioread32(&u3d->vuc_regs->txst[ep_num].statuslo); in mv_u3d_process_ep_req()
229 if (ep->ep_num == 0) in mv_u3d_queue_trb()
232 ep_context = &(u3d->ep_context[ep->ep_num * 2 + direction]); in mv_u3d_queue_trb()
256 if (ep->ep_num == 0) in mv_u3d_queue_trb()
259 tmp = ep->ep_num * 2 in mv_u3d_queue_trb()
309 if (req->ep->ep_num == 0) in mv_u3d_build_trb_one()
355 if (req->ep->ep_num in mv_u3d_build_trb_chain()
918 mv_u3d_ep_set_stall(struct mv_u3d *u3d, u8 ep_num, u8 direction, int stall) mv_u3d_ep_set_stall() argument
1581 mv_u3d_get_setup_data(struct mv_u3d *u3d, u8 ep_num, u8 *buffer_ptr) mv_u3d_get_setup_data() argument
1613 int i, ep_num = 0, direction = 0; mv_u3d_irq_process_tr_complete() local
[all...]
H A Dfsl_udc_core.c228 unsigned int tmp, portctrl, ep_num; in dr_controller_setup() local
318 for (ep_num = 1; ep_num < max_no_of_ep; ep_num++) { in dr_controller_setup()
319 tmp = fsl_readl(&dr_regs->endptctrl[ep_num]); in dr_controller_setup()
323 fsl_writel(tmp, &dr_regs->endptctrl[ep_num]); in dr_controller_setup()
408 static void dr_ep_setup(unsigned char ep_num, unsigned char dir, in dr_ep_setup() argument
413 tmp_epctrl = fsl_readl(&dr_regs->endptctrl[ep_num]); in dr_ep_setup()
415 if (ep_num) in dr_ep_setup()
422 if (ep_num) in dr_ep_setup()
434 dr_ep_change_stall(unsigned char ep_num, unsigned char dir, int value) dr_ep_change_stall() argument
461 dr_ep_get_stall(unsigned char ep_num, unsigned char dir) dr_ep_get_stall() argument
481 struct_ep_qh_setup(struct fsl_udc *udc, unsigned char ep_num, unsigned char dir, unsigned char ep_type, unsigned int max_pkt_len, unsigned int zlt, unsigned char mult) struct_ep_qh_setup() argument
636 int ep_num; fsl_ep_disable() local
926 int ep_num, stopped, ret = 0; fsl_ep_dequeue() local
1006 unsigned char ep_dir = 0, ep_num = 0; fsl_ep_set_halt() local
1080 int ep_num, ep_dir; fsl_ep_fifo_flush() local
1557 tripwire_handler(struct fsl_udc *udc, u8 ep_num, u8 *buffer_ptr) tripwire_handler() argument
1671 int i, ep_num, direction, bit_mask, status; dtd_complete_irq() local
[all...]
H A Dmv_udc_core.c39 #define ep_dir(ep) (((ep)->ep_num == 0) ? \
183 bit_pos = 1 << curr_req->ep->ep_num; in process_ep_req()
185 bit_pos = 1 << (16 + curr_req->ep->ep_num); in process_ep_req()
262 dqh = &(udc->ep_dqh[ep->ep_num * 2 + direction]); in queue_dtd()
263 bit_pos = 1 << (((direction == EP_DIR_OUT) ? 0 : 16) + ep->ep_num); in queue_dtd()
463 bit_pos = 1 << ((direction == EP_DIR_OUT ? 0 : 16) + ep->ep_num); in mv_ep_enable()
471 (unsigned)ep->ep_num, direction ? "SEND" : "RECV", in mv_ep_enable()
514 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
526 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
532 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
853 ep_set_stall(struct mv_udc *udc, u8 ep_num, u8 direction, int stall) ep_set_stall() argument
876 ep_is_stall(struct mv_udc *udc, u8 ep_num, u8 direction) ep_is_stall() argument
1524 ch9getstatus(struct mv_udc *udc, u8 ep_num, struct usb_ctrlrequest *setup) ch9getstatus() argument
1543 u8 ep_num, direction; ch9getstatus() local
1561 u8 ep_num; ch9clearfeature() local
1605 u8 ep_num; ch9setfeature() local
1757 get_setup_data(struct mv_udc *udc, u8 ep_num, u8 *buffer_ptr) get_setup_data() argument
1785 int i, ep_num = 0, direction = 0; irq_process_tr_complete() local
[all...]
H A Dbcm63xx_udc.c147 * @ep_num: USB endpoint number.
156 int ep_num; member
173 ep_num ep_type n_fifo_slots max_pkt_fs
189 * @ep_num: USB endpoint number. -1 for ep0 RX.
212 int ep_num; member
231 * @ep_num: USB endpoint number.
239 unsigned int ep_num; member
451 (bep->ep_num << USBD_STALL_EPNUM_SHIFT); in bcm63xx_set_stall()
500 * @ep_num: Endpoint number.
502 static void bcm63xx_fifo_reset_ep(struct bcm63xx_udc *udc, int ep_num) in bcm63xx_fifo_reset_ep() argument
[all...]
/kernel/linux/linux-6.6/drivers/usb/gadget/udc/
H A Dmv_u3d_core.c119 int direction, ep_num; in mv_u3d_process_ep_req() local
124 ep_num = index / 2; in mv_u3d_process_ep_req()
139 tmp = ioread32(&u3d->vuc_regs->rxst[ep_num].statuslo); in mv_u3d_process_ep_req()
141 tmp = ioread32(&u3d->vuc_regs->txst[ep_num].statuslo); in mv_u3d_process_ep_req()
229 if (ep->ep_num == 0) in mv_u3d_queue_trb()
232 ep_context = &(u3d->ep_context[ep->ep_num * 2 + direction]); in mv_u3d_queue_trb()
256 if (ep->ep_num == 0) in mv_u3d_queue_trb()
259 tmp = ep->ep_num * 2 in mv_u3d_queue_trb()
309 if (req->ep->ep_num == 0) in mv_u3d_build_trb_one()
355 if (req->ep->ep_num in mv_u3d_build_trb_chain()
920 mv_u3d_ep_set_stall(struct mv_u3d *u3d, u8 ep_num, u8 direction, int stall) mv_u3d_ep_set_stall() argument
1582 mv_u3d_get_setup_data(struct mv_u3d *u3d, u8 ep_num, u8 *buffer_ptr) mv_u3d_get_setup_data() argument
1614 int i, ep_num = 0, direction = 0; mv_u3d_irq_process_tr_complete() local
[all...]
H A Dfsl_udc_core.c226 unsigned int tmp, portctrl, ep_num; in dr_controller_setup() local
316 for (ep_num = 1; ep_num < max_no_of_ep; ep_num++) { in dr_controller_setup()
317 tmp = fsl_readl(&dr_regs->endptctrl[ep_num]); in dr_controller_setup()
321 fsl_writel(tmp, &dr_regs->endptctrl[ep_num]); in dr_controller_setup()
404 static void dr_ep_setup(unsigned char ep_num, unsigned char dir, in dr_ep_setup() argument
409 tmp_epctrl = fsl_readl(&dr_regs->endptctrl[ep_num]); in dr_ep_setup()
411 if (ep_num) in dr_ep_setup()
418 if (ep_num) in dr_ep_setup()
430 dr_ep_change_stall(unsigned char ep_num, unsigned char dir, int value) dr_ep_change_stall() argument
457 dr_ep_get_stall(unsigned char ep_num, unsigned char dir) dr_ep_get_stall() argument
477 struct_ep_qh_setup(struct fsl_udc *udc, unsigned char ep_num, unsigned char dir, unsigned char ep_type, unsigned int max_pkt_len, unsigned int zlt, unsigned char mult) struct_ep_qh_setup() argument
632 int ep_num; fsl_ep_disable() local
923 int ep_num, stopped, ret = 0; fsl_ep_dequeue() local
1005 unsigned char ep_dir = 0, ep_num = 0; fsl_ep_set_halt() local
1079 int ep_num, ep_dir; fsl_ep_fifo_flush() local
1556 tripwire_handler(struct fsl_udc *udc, u8 ep_num, u8 *buffer_ptr) tripwire_handler() argument
1670 int i, ep_num, direction, bit_mask, status; dtd_complete_irq() local
[all...]
H A Dmv_udc_core.c39 #define ep_dir(ep) (((ep)->ep_num == 0) ? \
183 bit_pos = 1 << curr_req->ep->ep_num; in process_ep_req()
185 bit_pos = 1 << (16 + curr_req->ep->ep_num); in process_ep_req()
262 dqh = &(udc->ep_dqh[ep->ep_num * 2 + direction]); in queue_dtd()
263 bit_pos = 1 << (((direction == EP_DIR_OUT) ? 0 : 16) + ep->ep_num); in queue_dtd()
463 bit_pos = 1 << ((direction == EP_DIR_OUT ? 0 : 16) + ep->ep_num); in mv_ep_enable()
471 (unsigned)ep->ep_num, direction ? "SEND" : "RECV", in mv_ep_enable()
514 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
526 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
532 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); in mv_ep_enable()
855 ep_set_stall(struct mv_udc *udc, u8 ep_num, u8 direction, int stall) ep_set_stall() argument
878 ep_is_stall(struct mv_udc *udc, u8 ep_num, u8 direction) ep_is_stall() argument
1525 ch9getstatus(struct mv_udc *udc, u8 ep_num, struct usb_ctrlrequest *setup) ch9getstatus() argument
1544 u8 ep_num, direction; ch9getstatus() local
1562 u8 ep_num; ch9clearfeature() local
1606 u8 ep_num; ch9setfeature() local
1758 get_setup_data(struct mv_udc *udc, u8 ep_num, u8 *buffer_ptr) get_setup_data() argument
1786 int i, ep_num = 0, direction = 0; irq_process_tr_complete() local
[all...]
H A Dbcm63xx_udc.c147 * @ep_num: USB endpoint number.
156 int ep_num; member
173 ep_num ep_type n_fifo_slots max_pkt_fs
189 * @ep_num: USB endpoint number. -1 for ep0 RX.
212 int ep_num; member
231 * @ep_num: USB endpoint number.
239 unsigned int ep_num; member
448 (bep->ep_num << USBD_STALL_EPNUM_SHIFT); in bcm63xx_set_stall()
497 * @ep_num: Endpoint number.
499 static void bcm63xx_fifo_reset_ep(struct bcm63xx_udc *udc, int ep_num) in bcm63xx_fifo_reset_ep() argument
[all...]
/kernel/linux/linux-5.10/drivers/usb/gadget/udc/aspeed-vhub/
H A Ddev.c133 int ep_num; in ast_vhub_ep_feature() local
135 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_ep_feature()
137 is_set ? "SET" : "CLEAR", ep_num, wValue); in ast_vhub_ep_feature()
138 if (ep_num == 0) in ast_vhub_ep_feature()
140 if (ep_num >= d->max_epns || !d->epns[ep_num - 1]) in ast_vhub_ep_feature()
145 ep = d->epns[ep_num - 1]; in ast_vhub_ep_feature()
154 is_set ? "setting" : "clearing", ep_num); in ast_vhub_ep_feature()
178 int ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_ep_status() local
182 DDBG(d, "GET_STATUS(ep%d)\n", ep_num); in ast_vhub_ep_status()
[all...]
H A Dhub.c188 int ep_num; in ast_vhub_hub_ep_status() local
191 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_hub_ep_status()
192 EPDBG(ep, "GET_STATUS(ep%d)\n", ep_num); in ast_vhub_hub_ep_status()
195 if (ep_num == 1) { in ast_vhub_hub_ep_status()
198 } else if (ep_num != 0) in ast_vhub_hub_ep_status()
225 int ep_num; in ast_vhub_hub_ep_feature() local
228 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_hub_ep_feature()
230 is_set ? "SET" : "CLEAR", ep_num, wValue); in ast_vhub_hub_ep_feature()
232 if (ep_num > 1) in ast_vhub_hub_ep_feature()
236 if (ep_num in ast_vhub_hub_ep_feature()
[all...]
/kernel/linux/linux-6.6/drivers/usb/gadget/udc/aspeed-vhub/
H A Ddev.c138 int ep_num; in ast_vhub_ep_feature() local
140 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_ep_feature()
142 is_set ? "SET" : "CLEAR", ep_num, wValue); in ast_vhub_ep_feature()
143 if (ep_num == 0) in ast_vhub_ep_feature()
145 if (ep_num >= d->max_epns || !d->epns[ep_num - 1]) in ast_vhub_ep_feature()
150 ep = d->epns[ep_num - 1]; in ast_vhub_ep_feature()
159 is_set ? "setting" : "clearing", ep_num); in ast_vhub_ep_feature()
183 int ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_ep_status() local
187 DDBG(d, "GET_STATUS(ep%d)\n", ep_num); in ast_vhub_ep_status()
[all...]
H A Dhub.c194 int ep_num; in ast_vhub_hub_ep_status() local
197 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_hub_ep_status()
198 EPDBG(ep, "GET_STATUS(ep%d)\n", ep_num); in ast_vhub_hub_ep_status()
201 if (ep_num == 1) { in ast_vhub_hub_ep_status()
204 } else if (ep_num != 0) in ast_vhub_hub_ep_status()
242 int ep_num; in ast_vhub_hub_ep_feature() local
245 ep_num = wIndex & USB_ENDPOINT_NUMBER_MASK; in ast_vhub_hub_ep_feature()
247 is_set ? "SET" : "CLEAR", ep_num, wValue); in ast_vhub_hub_ep_feature()
249 if (ep_num > 1) in ast_vhub_hub_ep_feature()
253 if (ep_num in ast_vhub_hub_ep_feature()
[all...]
/kernel/linux/linux-6.6/sound/usb/
H A Dendpoint.c646 snd_usb_get_endpoint(struct snd_usb_audio *chip, int ep_num) in snd_usb_get_endpoint() argument
651 if (ep->ep_num == ep_num) in snd_usb_get_endpoint()
665 * @ep_num: The number of the endpoint to use
679 int snd_usb_add_endpoint(struct snd_usb_audio *chip, int ep_num, int type) in snd_usb_add_endpoint() argument
684 ep = snd_usb_get_endpoint(chip, ep_num); in snd_usb_add_endpoint()
690 ep_num); in snd_usb_add_endpoint()
698 ep->ep_num = ep_num; in snd_usb_add_endpoint()
702 is_playback = ((ep_num in snd_usb_add_endpoint()
792 int ep_num = is_sync_ep ? fp->sync_ep : fp->endpoint; snd_usb_endpoint_open() local
[all...]
H A Dimplicit.c31 unsigned int ep_num; member
39 { .id = USB_ID(vend, prod), .type = IMPLICIT_FB_FIXED, .ep_num = (ep),\
42 { .id = USB_ID(vend, prod), .type = IMPLICIT_FB_BOTH, .ep_num = (ep),\
71 .ep_num = 0x84, .iface = 0 }, /* MOTU MicroBook II */
307 return add_implicit_fb_sync_ep(chip, fmt, p->ep_num, 0, in audioformat_implicit_fb_quirk()
368 return add_implicit_fb_sync_ep(chip, fmt, p->ep_num, 0, in audioformat_capture_quirk()
437 find_matching_substream(struct snd_usb_audio *chip, int stream, int ep_num, in find_matching_substream() argument
445 if (as->fmt_type == fmt_type && subs->ep_num == ep_num) in find_matching_substream()
H A Dendpoint.h9 int ep_num);
11 int snd_usb_add_endpoint(struct snd_usb_audio *chip, int ep_num, int type);
/kernel/linux/linux-5.10/drivers/usb/gadget/udc/bdc/
H A Dbdc_ep.c456 if (ep->ep_num == 1) { in setup_bd_list_xfr()
532 bdc_notify_xfr(bdc, ep->ep_num); in bdc_queue_xfr()
566 dev_dbg(bdc->dev, "%s() ep->ep_num=%d\n", __func__, ep->ep_num); in bdc_ep_disable()
568 ret = bdc_stop_ep(bdc, ep->ep_num); in bdc_ep_disable()
588 if (ep->ep_num == 1) in bdc_ep_disable()
618 if (ep->ep_num == 1) in bdc_ep_enable()
665 req->epnum = ep->ep_num; in ep0_queue()
721 req->epnum = ep->ep_num; in ep_queue()
763 ret = bdc_stop_ep(bdc, ep->ep_num); in ep_dequeue()
1648 u8 ep_num; bdc_sr_xsf() local
[all...]
/kernel/linux/linux-6.6/drivers/usb/gadget/udc/bdc/
H A Dbdc_ep.c456 if (ep->ep_num == 1) { in setup_bd_list_xfr()
532 bdc_notify_xfr(bdc, ep->ep_num); in bdc_queue_xfr()
566 dev_dbg(bdc->dev, "%s() ep->ep_num=%d\n", __func__, ep->ep_num); in bdc_ep_disable()
568 ret = bdc_stop_ep(bdc, ep->ep_num); in bdc_ep_disable()
588 if (ep->ep_num == 1) in bdc_ep_disable()
618 if (ep->ep_num == 1) in bdc_ep_enable()
665 req->epnum = ep->ep_num; in ep0_queue()
721 req->epnum = ep->ep_num; in ep_queue()
763 ret = bdc_stop_ep(bdc, ep->ep_num); in ep_dequeue()
1648 u8 ep_num; bdc_sr_xsf() local
[all...]
/kernel/linux/linux-5.10/drivers/net/wireless/realtek/rtlwifi/
H A Dusb.h47 u32 ep_num; member
52 u32 ep_num) in _rtl_install_trx_info()
57 info->rate_driver_data[1] = (void *)(__kernel_size_t)ep_num; in _rtl_install_trx_info()
50 _rtl_install_trx_info(struct rtl_usb *rtlusb, struct sk_buff *skb, u32 ep_num) _rtl_install_trx_info() argument
/kernel/linux/linux-6.6/drivers/net/wireless/realtek/rtlwifi/
H A Dusb.h47 u32 ep_num; member
52 u32 ep_num) in _rtl_install_trx_info()
57 info->rate_driver_data[1] = (void *)(__kernel_size_t)ep_num; in _rtl_install_trx_info()
50 _rtl_install_trx_info(struct rtl_usb *rtlusb, struct sk_buff *skb, u32 ep_num) _rtl_install_trx_info() argument
/kernel/linux/linux-5.10/drivers/usb/c67x00/
H A Dc67x00.h167 #define CY_UDC_REQ_HEADER_ADDR(ep_num) (CY_UDC_REQ_HEADER_BASE + \
168 ((ep_num) * CY_UDC_REQ_HEADER_SIZE))
174 #define CY_UDC_REQ_BUFFER_ADDR(ep_num) (CY_UDC_REQ_BUFFER_BASE + \
175 ((ep_num) * CY_UDC_REQ_BUFFER_SIZE))
/kernel/linux/linux-6.6/drivers/usb/c67x00/
H A Dc67x00.h167 #define CY_UDC_REQ_HEADER_ADDR(ep_num) (CY_UDC_REQ_HEADER_BASE + \
168 ((ep_num) * CY_UDC_REQ_HEADER_SIZE))
174 #define CY_UDC_REQ_BUFFER_ADDR(ep_num) (CY_UDC_REQ_BUFFER_BASE + \
175 ((ep_num) * CY_UDC_REQ_BUFFER_SIZE))
/kernel/linux/linux-6.6/drivers/usb/cdns3/
H A Dcdnsp-debug.h184 unsigned int ep_num; in cdnsp_decode_trb() local
188 ep_num = DIV_ROUND_UP(ep_id, 2); in cdnsp_decode_trb()
208 ep_num, ep_id % 2 ? "out" : "in", in cdnsp_decode_trb()
335 ep_num, ep_id % 2 ? "out" : "in", in cdnsp_decode_trb()
344 ep_num, ep_id % 2 ? "out" : "in", in cdnsp_decode_trb()
354 ep_num, ep_id % 2 ? "out" : "in", in cdnsp_decode_trb()
372 ep_num, ep_id % 2 ? "out" : "in", in cdnsp_decode_trb()
/kernel/linux/linux-5.10/drivers/net/wireless/rsi/
H A Drsi_91x_usb.c30 static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t flags);
298 if (rsi_rx_urb_submit(dev->priv, rx_cb->ep_num, GFP_ATOMIC)) in rsi_rx_done_handler()
307 static void rsi_rx_urb_kill(struct rsi_hw *adapter, u8 ep_num) in rsi_rx_urb_kill() argument
310 struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1]; in rsi_rx_urb_kill()
322 static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t mem_flags) in rsi_rx_urb_submit() argument
325 struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1]; in rsi_rx_urb_submit()
345 dev->bulkin_endpoint_addr[ep_num - 1]), in rsi_rx_urb_submit()
587 rx_cb->ep_num = idx + 1; in rsi_usb_init_rx()
/kernel/linux/linux-6.6/drivers/net/wireless/rsi/
H A Drsi_91x_usb.c30 static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t flags);
298 if (rsi_rx_urb_submit(dev->priv, rx_cb->ep_num, GFP_ATOMIC)) in rsi_rx_done_handler()
307 static void rsi_rx_urb_kill(struct rsi_hw *adapter, u8 ep_num) in rsi_rx_urb_kill() argument
310 struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1]; in rsi_rx_urb_kill()
319 * @ep_num: Endpoint number.
324 static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t mem_flags) in rsi_rx_urb_submit() argument
327 struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1]; in rsi_rx_urb_submit()
347 dev->bulkin_endpoint_addr[ep_num - 1]), in rsi_rx_urb_submit()
589 rx_cb->ep_num = idx + 1; in rsi_usb_init_rx()
/kernel/linux/linux-5.10/sound/usb/
H A Dendpoint.c448 * @ep_num: The number of the endpoint to use
464 int ep_num, int direction, int type) in snd_usb_add_endpoint()
475 if (ep->ep_num == ep_num && in snd_usb_add_endpoint()
480 ep_num, ep->iface, ep->altsetting, ep); in snd_usb_add_endpoint()
488 ep_num); in snd_usb_add_endpoint()
497 ep->ep_num = ep_num; in snd_usb_add_endpoint()
501 ep_num &= USB_ENDPOINT_NUMBER_MASK; in snd_usb_add_endpoint()
504 ep->pipe = usb_sndisocpipe(chip->dev, ep_num); in snd_usb_add_endpoint()
462 snd_usb_add_endpoint(struct snd_usb_audio *chip, struct usb_host_interface *alts, int ep_num, int direction, int type) snd_usb_add_endpoint() argument
[all...]

Completed in 33 milliseconds

123