mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-24 13:13:57 +08:00
usb: host: xhci: delete sp_dma_buffers for scratchpad
We already have sp_array to store each scratch buffer address for xHC, it doesn't need another sp_dma_buffers array to store it. Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
724e882dae
commit
314eaf7dec
@ -1721,36 +1721,27 @@ static int scratchpad_alloc(struct xhci_hcd *xhci, gfp_t flags)
|
||||
if (!xhci->scratchpad->sp_buffers)
|
||||
goto fail_sp3;
|
||||
|
||||
xhci->scratchpad->sp_dma_buffers =
|
||||
kzalloc(sizeof(dma_addr_t) * num_sp, flags);
|
||||
|
||||
if (!xhci->scratchpad->sp_dma_buffers)
|
||||
goto fail_sp4;
|
||||
|
||||
xhci->dcbaa->dev_context_ptrs[0] = cpu_to_le64(xhci->scratchpad->sp_dma);
|
||||
for (i = 0; i < num_sp; i++) {
|
||||
dma_addr_t dma;
|
||||
void *buf = dma_alloc_coherent(dev, xhci->page_size, &dma,
|
||||
flags);
|
||||
if (!buf)
|
||||
goto fail_sp5;
|
||||
goto fail_sp4;
|
||||
|
||||
xhci->scratchpad->sp_array[i] = dma;
|
||||
xhci->scratchpad->sp_buffers[i] = buf;
|
||||
xhci->scratchpad->sp_dma_buffers[i] = dma;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
fail_sp5:
|
||||
fail_sp4:
|
||||
for (i = i - 1; i >= 0; i--) {
|
||||
dma_free_coherent(dev, xhci->page_size,
|
||||
xhci->scratchpad->sp_buffers[i],
|
||||
xhci->scratchpad->sp_dma_buffers[i]);
|
||||
xhci->scratchpad->sp_array[i]);
|
||||
}
|
||||
kfree(xhci->scratchpad->sp_dma_buffers);
|
||||
|
||||
fail_sp4:
|
||||
kfree(xhci->scratchpad->sp_buffers);
|
||||
|
||||
fail_sp3:
|
||||
@ -1780,9 +1771,8 @@ static void scratchpad_free(struct xhci_hcd *xhci)
|
||||
for (i = 0; i < num_sp; i++) {
|
||||
dma_free_coherent(dev, xhci->page_size,
|
||||
xhci->scratchpad->sp_buffers[i],
|
||||
xhci->scratchpad->sp_dma_buffers[i]);
|
||||
xhci->scratchpad->sp_array[i]);
|
||||
}
|
||||
kfree(xhci->scratchpad->sp_dma_buffers);
|
||||
kfree(xhci->scratchpad->sp_buffers);
|
||||
dma_free_coherent(dev, num_sp * sizeof(u64),
|
||||
xhci->scratchpad->sp_array,
|
||||
|
@ -1606,7 +1606,6 @@ struct xhci_scratchpad {
|
||||
u64 *sp_array;
|
||||
dma_addr_t sp_dma;
|
||||
void **sp_buffers;
|
||||
dma_addr_t *sp_dma_buffers;
|
||||
};
|
||||
|
||||
struct urb_priv {
|
||||
|
Loading…
Reference in New Issue
Block a user