2.6.35-longterm review patch. If anyone has any objections, please let me know.
------------------ From: Daniel Haid <d.h...@gogi.tv> commit 62fff811d73095bd95579d72f558f03c78f7914a upstream. On my x86_64 system with >4GB of ram and swiotlb instead of a hardware iommu (because I have a VIA chipset), the call to pci_set_dma_mask (see below) with 40bits returns an error. But it seems that the radeon driver is designed to have need_dma32 = true exactly if pci_set_dma_mask is called with 32 bits and false if it is called with 40 bits. I have read somewhere that the default are 32 bits. So if the call fails I suppose that need_dma32 should be set to true. And indeed the patch fixes the problem I have had before and which I had described here: http://choon.net/forum/read.php?21,106131,115940 Acked-by: Alex Deucher <alexdeuc...@gmail.com> Signed-off-by: Dave Airlie <airl...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> Signed-off-by: Andi Kleen <a...@linux.intel.com> --- drivers/gpu/drm/radeon/radeon_device.c | 1 + 1 file changed, 1 insertion(+) Index: linux-2.6.35.y/drivers/gpu/drm/radeon/radeon_device.c =================================================================== --- linux-2.6.35.y.orig/drivers/gpu/drm/radeon/radeon_device.c +++ linux-2.6.35.y/drivers/gpu/drm/radeon/radeon_device.c @@ -645,6 +645,7 @@ int radeon_device_init(struct radeon_dev dma_bits = rdev->need_dma32 ? 32 : 40; r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits)); if (r) { + rdev->need_dma32 = true; printk(KERN_WARNING "radeon: No suitable DMA available.\n"); } _______________________________________________ stable mailing list stable@linux.kernel.org http://linux.kernel.org/mailman/listinfo/stable