diff options
Diffstat (limited to 'drivers/usb/host/whci')
-rw-r--r-- | drivers/usb/host/whci/qset.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/drivers/usb/host/whci/qset.c b/drivers/usb/host/whci/qset.c index 88e51ea8620b..08280869ed1c 100644 --- a/drivers/usb/host/whci/qset.c +++ b/drivers/usb/host/whci/qset.c | |||
@@ -422,8 +422,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
422 | size_t pl_len; | 422 | size_t pl_len; |
423 | int p = 0; | 423 | int p = 0; |
424 | 424 | ||
425 | dev_dbg(&whc->umc->dev, "adding urb w/ sg of length %d\n", urb->transfer_buffer_length); | ||
426 | |||
427 | remaining = urb->transfer_buffer_length; | 425 | remaining = urb->transfer_buffer_length; |
428 | 426 | ||
429 | for_each_sg(urb->sg->sg, sg, urb->num_sgs, i) { | 427 | for_each_sg(urb->sg->sg, sg, urb->num_sgs, i) { |
@@ -437,10 +435,7 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
437 | } | 435 | } |
438 | 436 | ||
439 | dma_addr = sg_dma_address(sg); | 437 | dma_addr = sg_dma_address(sg); |
440 | dma_remaining = min(sg_dma_len(sg), remaining); | 438 | dma_remaining = min_t(size_t, sg_dma_len(sg), remaining); |
441 | |||
442 | dev_dbg(&whc->umc->dev, "adding sg[%d] %08x %d\n", i, (unsigned)dma_addr, | ||
443 | dma_remaining); | ||
444 | 439 | ||
445 | while (dma_remaining) { | 440 | while (dma_remaining) { |
446 | size_t dma_len; | 441 | size_t dma_len; |
@@ -463,7 +458,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
463 | || std->len + WHCI_PAGE_SIZE > QTD_MAX_XFER_SIZE) { | 458 | || std->len + WHCI_PAGE_SIZE > QTD_MAX_XFER_SIZE) { |
464 | if (prev_end % qset->max_packet != 0) | 459 | if (prev_end % qset->max_packet != 0) |
465 | return -EINVAL; | 460 | return -EINVAL; |
466 | dev_dbg(&whc->umc->dev, "need new std\n"); | ||
467 | std = qset_new_std(whc, qset, urb, mem_flags); | 461 | std = qset_new_std(whc, qset, urb, mem_flags); |
468 | if (std == NULL) { | 462 | if (std == NULL) { |
469 | return -ENOMEM; | 463 | return -ENOMEM; |
@@ -485,8 +479,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
485 | dma_len = ep - dma_addr; | 479 | dma_len = ep - dma_addr; |
486 | } | 480 | } |
487 | 481 | ||
488 | dev_dbg(&whc->umc->dev, "adding %d\n", dma_len); | ||
489 | |||
490 | std->len += dma_len; | 482 | std->len += dma_len; |
491 | std->ntds_remaining = -1; /* filled in later */ | 483 | std->ntds_remaining = -1; /* filled in later */ |
492 | 484 | ||
@@ -495,9 +487,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
495 | num_pointers = DIV_ROUND_UP(ep - sp, WHCI_PAGE_SIZE); | 487 | num_pointers = DIV_ROUND_UP(ep - sp, WHCI_PAGE_SIZE); |
496 | std->num_pointers += num_pointers; | 488 | std->num_pointers += num_pointers; |
497 | 489 | ||
498 | dev_dbg(&whc->umc->dev, "need %d more (%d total) page pointers\n", | ||
499 | num_pointers, std->num_pointers); | ||
500 | |||
501 | pl_len = std->num_pointers * sizeof(struct whc_page_list_entry); | 490 | pl_len = std->num_pointers * sizeof(struct whc_page_list_entry); |
502 | 491 | ||
503 | std->pl_virt = krealloc(std->pl_virt, pl_len, mem_flags); | 492 | std->pl_virt = krealloc(std->pl_virt, pl_len, mem_flags); |
@@ -506,7 +495,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
506 | } | 495 | } |
507 | 496 | ||
508 | for (;p < std->num_pointers; p++, entry++) { | 497 | for (;p < std->num_pointers; p++, entry++) { |
509 | dev_dbg(&whc->umc->dev, "e[%d] %08x\n", p, dma_addr); | ||
510 | std->pl_virt[p].buf_ptr = cpu_to_le64(dma_addr); | 498 | std->pl_virt[p].buf_ptr = cpu_to_le64(dma_addr); |
511 | dma_addr = (dma_addr + WHCI_PAGE_SIZE) & ~(WHCI_PAGE_SIZE-1); | 499 | dma_addr = (dma_addr + WHCI_PAGE_SIZE) & ~(WHCI_PAGE_SIZE-1); |
512 | } | 500 | } |
@@ -517,8 +505,6 @@ static int qset_add_urb_sg(struct whc *whc, struct whc_qset *qset, struct urb *u | |||
517 | } | 505 | } |
518 | } | 506 | } |
519 | 507 | ||
520 | dev_dbg(&whc->umc->dev, "used %d tds\n", ntds); | ||
521 | |||
522 | /* Now the number of stds is know, go back and fill in | 508 | /* Now the number of stds is know, go back and fill in |
523 | std->ntds_remaining. */ | 509 | std->ntds_remaining. */ |
524 | list_for_each_entry(std, &qset->stds, list_node) { | 510 | list_for_each_entry(std, &qset->stds, list_node) { |
@@ -565,14 +551,11 @@ static int qset_add_urb_sg_linearize(struct whc *whc, struct whc_qset *qset, | |||
565 | break; | 551 | break; |
566 | } | 552 | } |
567 | 553 | ||
568 | sg_remaining = min(remaining, sg->length); | 554 | sg_remaining = min_t(size_t, remaining, sg->length); |
569 | orig = sg_virt(sg); | 555 | orig = sg_virt(sg); |
570 | 556 | ||
571 | dev_dbg(&whc->umc->dev, "adding sg[%d] %d\n", i, sg_remaining); | ||
572 | |||
573 | while (sg_remaining) { | 557 | while (sg_remaining) { |
574 | if (!std || std->len == max_std_len) { | 558 | if (!std || std->len == max_std_len) { |
575 | dev_dbg(&whc->umc->dev, "need new std\n"); | ||
576 | std = qset_new_std(whc, qset, urb, mem_flags); | 559 | std = qset_new_std(whc, qset, urb, mem_flags); |
577 | if (std == NULL) | 560 | if (std == NULL) |
578 | return -ENOMEM; | 561 | return -ENOMEM; |
@@ -587,9 +570,6 @@ static int qset_add_urb_sg_linearize(struct whc *whc, struct whc_qset *qset, | |||
587 | 570 | ||
588 | len = min(sg_remaining, max_std_len - std->len); | 571 | len = min(sg_remaining, max_std_len - std->len); |
589 | 572 | ||
590 | dev_dbg(&whc->umc->dev, "added %d from sg[%d] @ offset %d\n", | ||
591 | len, i, orig - sg_virt(sg)); | ||
592 | |||
593 | if (is_out) | 573 | if (is_out) |
594 | memcpy(bounce, orig, len); | 574 | memcpy(bounce, orig, len); |
595 | 575 | ||
@@ -650,8 +630,6 @@ int qset_add_urb(struct whc *whc, struct whc_qset *qset, struct urb *urb, | |||
650 | if (urb->sg) { | 630 | if (urb->sg) { |
651 | ret = qset_add_urb_sg(whc, qset, urb, mem_flags); | 631 | ret = qset_add_urb_sg(whc, qset, urb, mem_flags); |
652 | if (ret == -EINVAL) { | 632 | if (ret == -EINVAL) { |
653 | dev_dbg(&whc->umc->dev, "linearizing %d octet urb\n", | ||
654 | urb->transfer_buffer_length); | ||
655 | qset_free_stds(qset, urb); | 633 | qset_free_stds(qset, urb); |
656 | ret = qset_add_urb_sg_linearize(whc, qset, urb, mem_flags); | 634 | ret = qset_add_urb_sg_linearize(whc, qset, urb, mem_flags); |
657 | } | 635 | } |