summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/usb_transfer.c')
-rw-r--r--sys/dev/usb/usb_transfer.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c
index 48463a0..9f590e0 100644
--- a/sys/dev/usb/usb_transfer.c
+++ b/sys/dev/usb/usb_transfer.c
@@ -98,10 +98,10 @@ static const struct usb2_config usb2_control_ep_cfg[USB_DEFAULT_XFER_MAX] = {
.type = UE_CONTROL,
.endpoint = 0x00, /* Control endpoint */
.direction = UE_DIR_ANY,
- .mh.bufsize = 1024, /* bytes */
+ .mh.bufsize = USB_EP0_BUFSIZE, /* bytes */
.mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,},
.mh.callback = &usb2_do_request_callback,
- .md.bufsize = 1024, /* bytes */
+ .md.bufsize = USB_EP0_BUFSIZE, /* bytes */
.md.flags = {.proxy_buffer = 1,.short_xfer_ok = 0,},
.md.callback = &usb2_handle_request_callback,
},
@@ -163,7 +163,7 @@ usb2_update_max_frame_size(struct usb2_xfer *xfer)
* 0: no DMA delay required
* Else: milliseconds of DMA delay
*------------------------------------------------------------------------*/
-uint32_t
+usb2_timeout_t
usb2_get_dma_delay(struct usb2_bus *bus)
{
uint32_t temp = 0;
@@ -194,18 +194,18 @@ usb2_get_dma_delay(struct usb2_bus *bus)
#if USB_HAVE_BUSDMA
uint8_t
usb2_transfer_setup_sub_malloc(struct usb2_setup_params *parm,
- struct usb2_page_cache **ppc, uint32_t size, uint32_t align,
- uint32_t count)
+ struct usb2_page_cache **ppc, usb2_size_t size, usb2_size_t align,
+ usb2_size_t count)
{
struct usb2_page_cache *pc;
struct usb2_page *pg;
void *buf;
- uint32_t n_dma_pc;
- uint32_t n_obj;
- uint32_t x;
- uint32_t y;
- uint32_t r;
- uint32_t z;
+ usb2_size_t n_dma_pc;
+ usb2_size_t n_obj;
+ usb2_size_t x;
+ usb2_size_t y;
+ usb2_size_t r;
+ usb2_size_t z;
USB_ASSERT(align > 1, ("Invalid alignment, 0x%08x!\n",
align));
@@ -324,9 +324,9 @@ usb2_transfer_setup_sub(struct usb2_setup_params *parm)
const struct usb2_config_sub *setup_sub = parm->curr_setup_sub;
struct usb2_endpoint_descriptor *edesc;
struct usb2_std_packet_size std_size;
- uint32_t n_frlengths;
- uint32_t n_frbuffers;
- uint32_t x;
+ usb2_frcount_t n_frlengths;
+ usb2_frcount_t n_frbuffers;
+ usb2_frcount_t x;
uint8_t type;
uint8_t zmps;
@@ -406,7 +406,7 @@ usb2_transfer_setup_sub(struct usb2_setup_params *parm)
if (type == UE_ISOCHRONOUS) {
- uint32_t frame_limit;
+ uint16_t frame_limit;
xfer->interval = 0; /* not used, must be zero */
xfer->flags_int.isochronous_xfr = 1; /* set flag */
@@ -680,11 +680,11 @@ usb2_transfer_setup_sub(struct usb2_setup_params *parm)
}
/* subtract USB frame remainder from "hc_max_frame_size" */
- xfer->max_usb2_frame_size =
+ xfer->max_hc_frame_size =
(parm->hc_max_frame_size -
(parm->hc_max_frame_size % xfer->max_frame_size));
- if (xfer->max_usb2_frame_size == 0) {
+ if (xfer->max_hc_frame_size == 0) {
parm->err = USB_ERR_INVAL;
goto done;
}
@@ -717,7 +717,7 @@ done:
/*
* Set some dummy values so that we avoid division by zero:
*/
- xfer->max_usb2_frame_size = 1;
+ xfer->max_hc_frame_size = 1;
xfer->max_frame_size = 1;
xfer->max_packet_size = 1;
xfer->max_data_length = 0;
@@ -780,8 +780,8 @@ usb2_transfer_setup(struct usb2_device *udev,
/* sanity checks */
for (setup = setup_start, n = 0;
setup != setup_end; setup++, n++) {
- if ((setup->mh.bufsize == 0xffffffff) ||
- (setup->md.bufsize == 0xffffffff)) {
+ if ((setup->mh.bufsize == (usb2_frlength_t)-1) ||
+ (setup->md.bufsize == (usb2_frlength_t)-1)) {
parm.err = USB_ERR_BAD_BUFSIZE;
DPRINTF("invalid bufsize\n");
}
@@ -1075,13 +1075,13 @@ static void
usb2_transfer_unsetup_sub(struct usb2_xfer_root *info, uint8_t needs_delay)
{
struct usb2_page_cache *pc;
- uint32_t temp;
USB_BUS_LOCK_ASSERT(info->bus, MA_OWNED);
/* wait for any outstanding DMA operations */
if (needs_delay) {
+ usb2_timeout_t temp;
temp = usb2_get_dma_delay(info->bus);
usb2_pause_mtx(&info->bus->bus_mtx,
USB_MS_TO_TICKS(temp));
@@ -1244,7 +1244,7 @@ usb2_control_transfer_init(struct usb2_xfer *xfer)
static uint8_t
usb2_start_hardware_sub(struct usb2_xfer *xfer)
{
- uint32_t len;
+ usb2_frlength_t len;
/* Check for control endpoint stall */
if (xfer->flags.stall_pipe) {
@@ -1373,7 +1373,7 @@ error:
void
usb2_start_hardware(struct usb2_xfer *xfer)
{
- uint32_t x;
+ usb2_frcount_t x;
DPRINTF("xfer=%p, pipe=%p, nframes=%d, dir=%s\n",
xfer, xfer->pipe, xfer->nframes, USB_GET_DATA_ISREAD(xfer) ?
@@ -1775,7 +1775,7 @@ usb2_transfer_drain(struct usb2_xfer *xfer)
* than zero gives undefined results!
*------------------------------------------------------------------------*/
void
-usb2_set_frame_data(struct usb2_xfer *xfer, void *ptr, uint32_t frindex)
+usb2_set_frame_data(struct usb2_xfer *xfer, void *ptr, usb2_frcount_t frindex)
{
/* set virtual address to load and length */
xfer->frbuffers[frindex].buffer = ptr;
@@ -1788,8 +1788,8 @@ usb2_set_frame_data(struct usb2_xfer *xfer, void *ptr, uint32_t frindex)
* of the USB DMA buffer allocated for this USB transfer.
*------------------------------------------------------------------------*/
void
-usb2_set_frame_offset(struct usb2_xfer *xfer, uint32_t offset,
- uint32_t frindex)
+usb2_set_frame_offset(struct usb2_xfer *xfer, usb2_frlength_t offset,
+ usb2_frcount_t frindex)
{
USB_ASSERT(!xfer->flags.ext_buffer, ("Cannot offset data frame "
"when the USB buffer is external!\n"));
@@ -2307,7 +2307,7 @@ usb2_pipe_start(struct usb2_xfer_queue *pq)
*------------------------------------------------------------------------*/
void
usb2_transfer_timeout_ms(struct usb2_xfer *xfer,
- void (*cb) (void *arg), uint32_t ms)
+ void (*cb) (void *arg), usb2_timeout_t ms)
{
USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
@@ -2337,7 +2337,7 @@ static uint8_t
usb2_callback_wrapper_sub(struct usb2_xfer *xfer)
{
struct usb2_pipe *pipe;
- uint32_t x;
+ usb2_frcount_t x;
if ((!xfer->flags_int.open) &&
(!xfer->flags_int.did_close)) {
@@ -2357,7 +2357,7 @@ usb2_callback_wrapper_sub(struct usb2_xfer *xfer)
(xfer->error == USB_ERR_TIMEOUT)) &&
(!xfer->flags_int.did_dma_delay)) {
- uint32_t temp;
+ usb2_timeout_t temp;
/* only delay once */
xfer->flags_int.did_dma_delay = 1;
OpenPOWER on IntegriCloud