Commit 4cdbb4ff authored by Russell King's avatar Russell King

DMA-API: staging: use dma_set_coherent_mask()

The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask().  Only arch and bus code should access this
member directly.

Convert all direct write accesses to using the correct API.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent e1fd7341
...@@ -100,8 +100,9 @@ static int dwc2_driver_probe(struct platform_device *dev) ...@@ -100,8 +100,9 @@ static int dwc2_driver_probe(struct platform_device *dev)
*/ */
if (!dev->dev.dma_mask) if (!dev->dev.dma_mask)
dev->dev.dma_mask = &dev->dev.coherent_dma_mask; dev->dev.dma_mask = &dev->dev.coherent_dma_mask;
if (!dev->dev.coherent_dma_mask) retval = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(32));
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (retval)
return retval;
irq = platform_get_irq(dev, 0); irq = platform_get_irq(dev, 0);
if (irq < 0) { if (irq < 0) {
......
...@@ -805,6 +805,12 @@ static struct drm_driver imx_drm_driver = { ...@@ -805,6 +805,12 @@ static struct drm_driver imx_drm_driver = {
static int imx_drm_platform_probe(struct platform_device *pdev) static int imx_drm_platform_probe(struct platform_device *pdev)
{ {
int ret;
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
imx_drm_device->dev = &pdev->dev; imx_drm_device->dev = &pdev->dev;
return drm_platform_init(&imx_drm_driver, pdev); return drm_platform_init(&imx_drm_driver, pdev);
...@@ -847,8 +853,6 @@ static int __init imx_drm_init(void) ...@@ -847,8 +853,6 @@ static int __init imx_drm_init(void)
goto err_pdev; goto err_pdev;
} }
imx_drm_pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32),
ret = platform_driver_register(&imx_drm_pdrv); ret = platform_driver_register(&imx_drm_pdrv);
if (ret) if (ret)
goto err_pdrv; goto err_pdrv;
......
...@@ -523,7 +523,9 @@ static int ipu_drm_probe(struct platform_device *pdev) ...@@ -523,7 +523,9 @@ static int ipu_drm_probe(struct platform_device *pdev)
if (!pdata) if (!pdata)
return -EINVAL; return -EINVAL;
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
ipu_crtc = devm_kzalloc(&pdev->dev, sizeof(*ipu_crtc), GFP_KERNEL); ipu_crtc = devm_kzalloc(&pdev->dev, sizeof(*ipu_crtc), GFP_KERNEL);
if (!ipu_crtc) if (!ipu_crtc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment