From: Christoph Hellwig Date: Thu, 15 Aug 2019 07:27:02 +0000 (+0200) Subject: drm/radeon: simplify and cleanup setting the dma mask X-Git-Tag: v5.4-rc1~32^2~9^2~199 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03127c58b93d7da5edb53118bdafabdcae3581ef;p=platform%2Fkernel%2Flinux-rpi.git drm/radeon: simplify and cleanup setting the dma mask Use dma_set_mask_and_coherent to set both masks in one go, and remove the no longer required fallback, as the kernel now always accepts larger than required DMA masks. Fail the driver probe if we can't set the DMA mask, as that means the system can only support a larger mask. Reviewed-by: Christian König Signed-off-by: Christoph Hellwig Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index b8cc058..88eb7cb 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1382,15 +1382,10 @@ int radeon_device_init(struct radeon_device *rdev, dma_bits = 32; #endif - r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits)); + r = dma_set_mask_and_coherent(&rdev->pdev->dev, DMA_BIT_MASK(dma_bits)); if (r) { - dma_bits = 32; pr_warn("radeon: No suitable DMA available\n"); - } - r = pci_set_consistent_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits)); - if (r) { - pci_set_consistent_dma_mask(rdev->pdev, DMA_BIT_MASK(32)); - pr_warn("radeon: No coherent DMA available\n"); + return r; } rdev->need_swiotlb = drm_need_swiotlb(dma_bits);