diff options
| -rw-r--r-- | drivers/usb/host/xhci-mem.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index a6ff8252699e..42a22b8e6922 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c | |||
| @@ -317,7 +317,7 @@ static void xhci_free_stream_ctx(struct xhci_hcd *xhci, | |||
| 317 | struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); | 317 | struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); |
| 318 | 318 | ||
| 319 | if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) | 319 | if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) |
| 320 | pci_free_consistent(pdev, | 320 | dma_free_coherent(&pdev->dev, |
| 321 | sizeof(struct xhci_stream_ctx)*num_stream_ctxs, | 321 | sizeof(struct xhci_stream_ctx)*num_stream_ctxs, |
| 322 | stream_ctx, dma); | 322 | stream_ctx, dma); |
| 323 | else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) | 323 | else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) |
| @@ -345,9 +345,9 @@ static struct xhci_stream_ctx *xhci_alloc_stream_ctx(struct xhci_hcd *xhci, | |||
| 345 | struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); | 345 | struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); |
| 346 | 346 | ||
| 347 | if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) | 347 | if (num_stream_ctxs > MEDIUM_STREAM_ARRAY_SIZE) |
| 348 | return pci_alloc_consistent(pdev, | 348 | return dma_alloc_coherent(&pdev->dev, |
| 349 | sizeof(struct xhci_stream_ctx)*num_stream_ctxs, | 349 | sizeof(struct xhci_stream_ctx)*num_stream_ctxs, |
| 350 | dma); | 350 | dma, mem_flags); |
| 351 | else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) | 351 | else if (num_stream_ctxs <= SMALL_STREAM_ARRAY_SIZE) |
| 352 | return dma_pool_alloc(xhci->small_streams_pool, | 352 | return dma_pool_alloc(xhci->small_streams_pool, |
| 353 | mem_flags, dma); | 353 | mem_flags, dma); |
| @@ -1551,10 +1551,9 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags) | |||
| 1551 | if (!xhci->scratchpad) | 1551 | if (!xhci->scratchpad) |
| 1552 | goto fail_sp; | 1552 | goto fail_sp; |
| 1553 | 1553 | ||
| 1554 | xhci->scratchpad->sp_array = | 1554 | xhci->scratchpad->sp_array = dma_alloc_coherent(dev, |
| 1555 | pci_alloc_consistent(to_pci_dev(dev), | ||
| 1556 | num_sp * sizeof(u64), | 1555 | num_sp * sizeof(u64), |
| 1557 | &xhci->scratchpad->sp_dma); | 1556 | &xhci->scratchpad->sp_dma, flags); |
| 1558 | if (!xhci->scratchpad->sp_array) | 1557 | if (!xhci->scratchpad->sp_array) |
| 1559 | goto fail_sp2; | 1558 | goto fail_sp2; |
| 1560 | 1559 | ||
| @@ -1571,8 +1570,8 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags) | |||
| 1571 | xhci->dcbaa->dev_context_ptrs[0] = cpu_to_le64(xhci->scratchpad->sp_dma); | 1570 | xhci->dcbaa->dev_context_ptrs[0] = cpu_to_le64(xhci->scratchpad->sp_dma); |
| 1572 | for (i = 0; i < num_sp; i++) { | 1571 | for (i = 0; i < num_sp; i++) { |
| 1573 | dma_addr_t dma; | 1572 | dma_addr_t dma; |
| 1574 | void *buf = pci_alloc_consistent(to_pci_dev(dev), | 1573 | void *buf = dma_alloc_coherent(dev, xhci->page_size, &dma, |
| 1575 | xhci->page_size, &dma); | 1574 | flags); |
| 1576 | if (!buf) | 1575 | if (!buf) |
| 1577 | goto fail_sp5; | 1576 | goto fail_sp5; |
| 1578 | 1577 | ||
| @@ -1585,7 +1584,7 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags) | |||
| 1585 | 1584 | ||
| 1586 | fail_sp5: | 1585 | fail_sp5: |
| 1587 | for (i = i - 1; i >= 0; i--) { | 1586 | for (i = i - 1; i >= 0; i--) { |
| 1588 | pci_free_consistent(to_pci_dev(dev), xhci->page_size, | 1587 | dma_free_coherent(dev, xhci->page_size, |
| 1589 | xhci->scratchpad->sp_buffers[i], | 1588 | xhci->scratchpad->sp_buffers[i], |
| 1590 | xhci->scratchpad->sp_dma_buffers[i]); | 1589 | xhci->scratchpad->sp_dma_buffers[i]); |
| 1591 | } | 1590 | } |
| @@ -1595,7 +1594,7 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags) | |||
| 1595 | kfree(xhci->scratchpad->sp_buffers); | 1594 | kfree(xhci->scratchpad->sp_buffers); |
| 1596 | 1595 | ||
| 1597 | fail_sp3: | 1596 | fail_sp3: |
| 1598 | pci_free_consistent(to_pci_dev(dev), num_sp * sizeof(u64), | 1597 | dma_free_coherent(dev, num_sp * sizeof(u64), |
| 1599 | xhci->scratchpad->sp_array, | 1598 | xhci->scratchpad->sp_array, |
| 1600 | xhci->scratchpad->sp_dma); | 1599 | xhci->scratchpad->sp_dma); |
| 1601 | 1600 | ||
| @@ -1619,13 +1618,13 @@ static void scratchpad_free(struct xhci_hcd *xhci) | |||
| 1619 | num_sp = HCS_MAX_SCRATCHPAD(xhci->hcs_params2); | 1618 | num_sp = HCS_MAX_SCRATCHPAD(xhci->hcs_params2); |
| 1620 | 1619 | ||
| 1621 | for (i = 0; i < num_sp; i++) { | 1620 | for (i = 0; i < num_sp; i++) { |
| 1622 | pci_free_consistent(pdev, xhci->page_size, | 1621 | dma_free_coherent(&pdev->dev, xhci->page_size, |
| 1623 | xhci->scratchpad->sp_buffers[i], | 1622 | xhci->scratchpad->sp_buffers[i], |
| 1624 | xhci->scratchpad->sp_dma_buffers[i]); | 1623 | xhci->scratchpad->sp_dma_buffers[i]); |
| 1625 | } | 1624 | } |
| 1626 | kfree(xhci->scratchpad->sp_dma_buffers); | 1625 | kfree(xhci->scratchpad->sp_dma_buffers); |
| 1627 | kfree(xhci->scratchpad->sp_buffers); | 1626 | kfree(xhci->scratchpad->sp_buffers); |
| 1628 | pci_free_consistent(pdev, num_sp * sizeof(u64), | 1627 | dma_free_coherent(&pdev->dev, num_sp * sizeof(u64), |
| 1629 | xhci->scratchpad->sp_array, | 1628 | xhci->scratchpad->sp_array, |
| 1630 | xhci->scratchpad->sp_dma); | 1629 | xhci->scratchpad->sp_dma); |
| 1631 | kfree(xhci->scratchpad); | 1630 | kfree(xhci->scratchpad); |
| @@ -1701,7 +1700,7 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) | |||
| 1701 | } | 1700 | } |
| 1702 | size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries); | 1701 | size = sizeof(struct xhci_erst_entry)*(xhci->erst.num_entries); |
| 1703 | if (xhci->erst.entries) | 1702 | if (xhci->erst.entries) |
| 1704 | pci_free_consistent(pdev, size, | 1703 | dma_free_coherent(&pdev->dev, size, |
| 1705 | xhci->erst.entries, xhci->erst.erst_dma_addr); | 1704 | xhci->erst.entries, xhci->erst.erst_dma_addr); |
| 1706 | xhci->erst.entries = NULL; | 1705 | xhci->erst.entries = NULL; |
| 1707 | xhci_dbg(xhci, "Freed ERST\n"); | 1706 | xhci_dbg(xhci, "Freed ERST\n"); |
| @@ -1741,7 +1740,7 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) | |||
| 1741 | 1740 | ||
| 1742 | xhci_write_64(xhci, 0, &xhci->op_regs->dcbaa_ptr); | 1741 | xhci_write_64(xhci, 0, &xhci->op_regs->dcbaa_ptr); |
| 1743 | if (xhci->dcbaa) | 1742 | if (xhci->dcbaa) |
| 1744 | pci_free_consistent(pdev, sizeof(*xhci->dcbaa), | 1743 | dma_free_coherent(&pdev->dev, sizeof(*xhci->dcbaa), |
| 1745 | xhci->dcbaa, xhci->dcbaa->dma); | 1744 | xhci->dcbaa, xhci->dcbaa->dma); |
| 1746 | xhci->dcbaa = NULL; | 1745 | xhci->dcbaa = NULL; |
| 1747 | 1746 | ||
| @@ -2197,8 +2196,8 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
| 2197 | * Section 5.4.8 - doorbell array must be | 2196 | * Section 5.4.8 - doorbell array must be |
| 2198 | * "physically contiguous and 64-byte (cache line) aligned". | 2197 | * "physically contiguous and 64-byte (cache line) aligned". |
| 2199 | */ | 2198 | */ |
| 2200 | xhci->dcbaa = pci_alloc_consistent(to_pci_dev(dev), | 2199 | xhci->dcbaa = dma_alloc_coherent(dev, sizeof(*xhci->dcbaa), &dma, |
| 2201 | sizeof(*xhci->dcbaa), &dma); | 2200 | GFP_KERNEL); |
| 2202 | if (!xhci->dcbaa) | 2201 | if (!xhci->dcbaa) |
| 2203 | goto fail; | 2202 | goto fail; |
| 2204 | memset(xhci->dcbaa, 0, sizeof *(xhci->dcbaa)); | 2203 | memset(xhci->dcbaa, 0, sizeof *(xhci->dcbaa)); |
| @@ -2232,7 +2231,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
| 2232 | dma_pool_create("xHCI 1KB stream ctx arrays", | 2231 | dma_pool_create("xHCI 1KB stream ctx arrays", |
| 2233 | dev, MEDIUM_STREAM_ARRAY_SIZE, 16, 0); | 2232 | dev, MEDIUM_STREAM_ARRAY_SIZE, 16, 0); |
| 2234 | /* Any stream context array bigger than MEDIUM_STREAM_ARRAY_SIZE | 2233 | /* Any stream context array bigger than MEDIUM_STREAM_ARRAY_SIZE |
| 2235 | * will be allocated with pci_alloc_consistent() | 2234 | * will be allocated with dma_alloc_coherent() |
| 2236 | */ | 2235 | */ |
| 2237 | 2236 | ||
| 2238 | if (!xhci->small_streams_pool || !xhci->medium_streams_pool) | 2237 | if (!xhci->small_streams_pool || !xhci->medium_streams_pool) |
| @@ -2277,8 +2276,9 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
| 2277 | if (xhci_check_trb_in_td_math(xhci, flags) < 0) | 2276 | if (xhci_check_trb_in_td_math(xhci, flags) < 0) |
| 2278 | goto fail; | 2277 | goto fail; |
| 2279 | 2278 | ||
| 2280 | xhci->erst.entries = pci_alloc_consistent(to_pci_dev(dev), | 2279 | xhci->erst.entries = dma_alloc_coherent(dev, |
| 2281 | sizeof(struct xhci_erst_entry)*ERST_NUM_SEGS, &dma); | 2280 | sizeof(struct xhci_erst_entry) * ERST_NUM_SEGS, &dma, |
| 2281 | GFP_KERNEL); | ||
| 2282 | if (!xhci->erst.entries) | 2282 | if (!xhci->erst.entries) |
| 2283 | goto fail; | 2283 | goto fail; |
| 2284 | xhci_dbg(xhci, "// Allocated event ring segment table at 0x%llx\n", | 2284 | xhci_dbg(xhci, "// Allocated event ring segment table at 0x%llx\n", |
