summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAjay Agarwal <ajaya@codeaurora.org>2018-05-04 10:14:04 +0530
committerAjay Agarwal <ajaya@codeaurora.org>2018-05-15 14:52:46 +0530
commitca3d15e44b795dadff563918a96b99a448d32ec4 (patch)
tree95636a2effcc3dcea152b6e9f6d5bb424d26a1ab /drivers
parent7b2dab061360182b7dcd075909ab7530fb41a132 (diff)
Revert "usb: host: xhci: Remove helper API retuning dcba dma address"
This reverts commit 9c1d883952b8430994a302d10aab2bc8130bcd97. Add back helper API to return dcba dma address. Change-Id: I769c42d53f19bbefb65d491823911b39ec620751 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/xhci.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 7e76573c8236..8a4217c0c56c 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4999,6 +4999,17 @@ dma_addr_t xhci_get_sec_event_ring_dma_addr(struct usb_hcd *hcd,
return 0;
}
+static dma_addr_t xhci_get_dcba_dma_addr(struct usb_hcd *hcd,
+ struct usb_device *udev)
+{
+ struct xhci_hcd *xhci = hcd_to_xhci(hcd);
+
+ if (!(xhci->xhc_state & XHCI_STATE_HALTED) && xhci->dcbaa)
+ return xhci->dcbaa->dev_context_ptrs[udev->slot_id];
+
+ return 0;
+}
+
dma_addr_t xhci_get_xfer_ring_dma_addr(struct usb_hcd *hcd,
struct usb_device *udev, struct usb_host_endpoint *ep)
{
@@ -5094,6 +5105,7 @@ static const struct hc_driver xhci_hc_driver = {
.sec_event_ring_cleanup = xhci_sec_event_ring_cleanup,
.get_sec_event_ring_dma_addr = xhci_get_sec_event_ring_dma_addr,
.get_xfer_ring_dma_addr = xhci_get_xfer_ring_dma_addr,
+ .get_dcba_dma_addr = xhci_get_dcba_dma_addr,
.get_core_id = xhci_get_core_id,
};