Lines Matching defs:parm
189 usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm,
246 if (parm->buf == NULL) {
248 parm->dma_page_ptr += n_dma_pc * n_dma_pg;
249 parm->dma_page_cache_ptr += n_dma_pc;
252 parm->dma_page_ptr += count * n_dma_pg;
253 parm->xfer_page_cache_ptr += count;
258 parm->dma_page_cache_ptr[x].tag_parent =
259 &parm->curr_xfer->xroot->dma_parent_tag;
263 parm->xfer_page_cache_ptr[x].tag_parent =
264 &parm->curr_xfer->xroot->dma_parent_tag;
268 *ppc = parm->xfer_page_cache_ptr;
272 pc = parm->xfer_page_cache_ptr;
273 pg = parm->dma_page_ptr;
281 if (usb_pc_alloc_mem(parm->dma_page_cache_ptr,
286 buf = parm->dma_page_cache_ptr->buffer;
288 parm->dma_page_cache_ptr++;
308 parm->xfer_page_cache_ptr = pc;
309 parm->dma_page_ptr = pg;
324 usbd_transfer_setup_sub(struct usb_setup_params *parm)
330 struct usb_xfer *xfer = parm->curr_xfer;
331 const struct usb_config *setup = parm->curr_setup;
346 if ((parm->hc_max_packet_size == 0) ||
347 (parm->hc_max_packet_count == 0) ||
348 (parm->hc_max_frame_size == 0)) {
349 parm->err = USB_ERR_INVAL;
366 xfer->flags_int.usb_mode = parm->udev->flags.usb_mode;
368 parm->bufsize = setup->bufsize;
370 switch (parm->speed) {
423 if (xfer->max_packet_count > parm->hc_max_packet_count) {
424 xfer->max_packet_count = parm->hc_max_packet_count;
433 if ((xfer->max_packet_size > parm->hc_max_packet_size) ||
435 xfer->max_packet_size = parm->hc_max_packet_size;
439 usbd_get_std_packet_size(&std_size, type, parm->speed);
487 switch (parm->speed) {
510 parm->err = USB_ERR_INVAL;
517 parm->err = USB_ERR_ZERO_NFRAMES;
531 switch (parm->speed) {
564 switch (parm->speed) {
585 if ((parm->bufsize <= MIN_PKT) &&
591 parm->bufsize = 0; /* automatic setup length */
595 parm->err = USB_ERR_ZERO_MAXP;
608 if (parm->bufsize == 0) {
609 parm->bufsize = xfer->max_frame_size;
612 parm->bufsize *= xfer->nframes;
623 parm->bufsize += (xfer->max_frame_size - 1);
625 if (parm->bufsize < xfer->max_frame_size) {
627 parm->err = USB_ERR_INVAL;
632 parm->bufsize -= (parm->bufsize % xfer->max_frame_size);
637 parm->bufsize += REQ_SIZE; /* SETUP message */
640 xfer->max_data_length = parm->bufsize;
651 if (parm->bufsize <= REQ_SIZE) {
679 parm->err = USB_ERR_INVAL;
689 xfer->frlengths = parm->xfer_length_ptr;
690 parm->xfer_length_ptr += 2 * n_frlengths;
693 xfer->frbuffers = parm->xfer_page_cache_ptr;
694 parm->xfer_page_cache_ptr += n_frbuffers;
709 if (usbd_transfer_setup_sub_malloc(parm,
710 &pc, parm->bufsize, 1, 1)) {
711 parm->err = USB_ERR_NOMEM;
712 } else if (parm->buf != NULL) {
725 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
727 if (parm->buf != NULL) {
729 USB_ADD_BYTES(parm->buf, parm->size[0]);
737 parm->size[0] += parm->bufsize;
740 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
747 if (parm->bufsize_max < parm->bufsize) {
748 parm->bufsize_max = parm->bufsize;
766 * (a + b + c) <= parm->bufsize
770 * z <= ((parm->bufsize / USB_PAGE_SIZE) + (3*2));
774 xfer->dma_page_ptr = parm->dma_page_ptr;
775 parm->dma_page_ptr += (2 * n_frbuffers);
776 parm->dma_page_ptr += (parm->bufsize / USB_PAGE_SIZE);
786 (parm->hc_max_frame_size -
787 (parm->hc_max_frame_size % xfer->max_frame_size));
790 parm->err = USB_ERR_INVAL;
796 if (parm->buf) {
802 (parm->bufsize_max > 0)) {
805 parm->bufsize_max)) {
806 parm->err = USB_ERR_NOMEM;
814 if (parm->err) {
863 struct usb_setup_params *parm;
915 parm = &udev->scratch.xfer_setup[0].parm;
916 (void)memset_s(parm, sizeof(*parm), 0, sizeof(*parm));
918 parm->udev = udev;
919 parm->speed = usbd_get_speed(udev);
920 parm->hc_max_packet_count = 1;
922 if (parm->speed >= USB_SPEED_MAX) {
923 parm->err = USB_ERR_INVAL;
937 info->memory_size = parm->size[0];
940 info->dma_page_cache_start = USB_ADD_BYTES(buf, parm->size[4]);
941 info->dma_page_cache_end = USB_ADD_BYTES(buf, parm->size[5]);
943 info->xfer_page_cache_start = USB_ADD_BYTES(buf, parm->size[5]);
944 info->xfer_page_cache_end = USB_ADD_BYTES(buf, parm->size[2]);
951 parm->dma_tag_p, udev->bus->dma_parent_tag[0].tag,
952 xfer_mtx, &usb_bdma_done_event, udev->bus->dma_bits, parm->dma_tag_max);
991 parm->size[0] = 0;
992 parm->buf = buf;
993 parm->size[0] += sizeof(info[0]);
1024 parm->err = USB_ERR_NO_PIPE;
1029 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1032 parm->curr_setup = setup;
1039 xfer = USB_ADD_BYTES(buf, parm->size[0]);
1065 parm->size[0] += sizeof(xfer[0]);
1066 parm->methods = xfer->endpoint->methods;
1067 parm->curr_xfer = xfer;
1073 (udev->bus->methods->xfer_setup) (parm);
1076 if (parm->err)
1091 parm->err = USB_ERR_INVAL;
1114 if (parm->err)
1118 if ((buf != NULL) || (parm->err != 0))
1126 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1129 parm->size[1] = parm->size[0];
1140 parm->dma_tag_max += 3 * MIN(n_setup, USB_EP_MAX);
1145 parm->dma_tag_max += 8;
1147 parm->dma_tag_p += parm->dma_tag_max;
1149 parm->size[0] += ((uint8_t *)parm->dma_tag_p) -
1153 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1156 parm->size[3] = parm->size[0];
1158 parm->size[0] += ((uint8_t *)parm->dma_page_ptr) -
1162 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1165 parm->size[4] = parm->size[0];
1167 parm->size[0] += ((uint8_t *)parm->dma_page_cache_ptr) -
1171 parm->size[5] = parm->size[0];
1173 parm->size[0] += ((uint8_t *)parm->xfer_page_cache_ptr) -
1178 parm->size[2] = parm->size[0];
1181 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1183 parm->size[6] = parm->size[0];
1185 parm->size[0] += ((uint8_t *)parm->xfer_length_ptr) -
1189 parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1));
1192 buf = bsd_malloc(parm->size[0], M_USB, M_WAITOK | M_ZERO);
1195 parm->err = USB_ERR_NOMEM;
1198 parm->size[0]);
1201 parm->dma_tag_p = USB_ADD_BYTES(buf, parm->size[1]);
1202 parm->dma_page_ptr = USB_ADD_BYTES(buf, parm->size[3]);
1203 parm->dma_page_cache_ptr = USB_ADD_BYTES(buf, parm->size[4]);
1204 parm->xfer_page_cache_ptr = USB_ADD_BYTES(buf, parm->size[5]);
1205 parm->xfer_length_ptr = USB_ADD_BYTES(buf, parm->size[6]);
1223 if (parm->err)
1226 error = parm->err;