2014-11-04 01:59:31

by Feng Kan

[permalink] [raw]
Subject: [PATCH] usb:host:xhci-plat: 64-bit dma addressing support

Use dma_addr_t to support 64-bit plaforms, which access beyond 32 bit
address range.

Signed-off-by: Bao Truong <[email protected]>
Signed-off-by: Feng Kan <[email protected]>
---
drivers/usb/host/xhci-plat.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 01d1862..8cf83f0 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -97,13 +97,14 @@ static int xhci_plat_probe(struct platform_device *pdev)
}

/* Initialize dma_mask and coherent_dma_mask to 32-bits */
- ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+ ret = dma_set_coherent_mask(&pdev->dev,
+ DMA_BIT_MASK(sizeof(dma_addr_t)*8));
if (ret)
return ret;
if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
else
- dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+ dma_set_mask(&pdev->dev, DMA_BIT_MASK(sizeof(dma_addr_t)*8));

hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
if (!hcd)
--
1.9.1


2014-11-04 02:12:15

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] usb:host:xhci-plat: 64-bit dma addressing support

On Mon, Nov 03, 2014 at 05:59:28PM -0800, Feng Kan wrote:
> Use dma_addr_t to support 64-bit plaforms, which access beyond 32 bit
> address range.
>
> Signed-off-by: Bao Truong <[email protected]>
> Signed-off-by: Feng Kan <[email protected]>
> ---
> drivers/usb/host/xhci-plat.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
> index 01d1862..8cf83f0 100644
> --- a/drivers/usb/host/xhci-plat.c
> +++ b/drivers/usb/host/xhci-plat.c
> @@ -97,13 +97,14 @@ static int xhci_plat_probe(struct platform_device *pdev)
> }
>
> /* Initialize dma_mask and coherent_dma_mask to 32-bits */
> - ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
> + ret = dma_set_coherent_mask(&pdev->dev,
> + DMA_BIT_MASK(sizeof(dma_addr_t)*8));

Is the comment still correct now?