... instead of comparing with DMA_ERROR_CODE, which will only work on powerpc/sparc/x86.
Signed-off-by: Aurelien Jarno aurelien@aurel32.net --- drivers/gpu/drm/radeon/radeon_gart.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c index 8a955bb..d96f5ea 100644 --- a/drivers/gpu/drm/radeon/radeon_gart.c +++ b/drivers/gpu/drm/radeon/radeon_gart.c @@ -183,7 +183,7 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset, for (i = 0; i < pages; i++, p++) { /* On TTM path, we only use the DMA API if TTM_PAGE_FLAG_DMA32 * is requested. */ - if (dma_addr[i] != DMA_ERROR_CODE) { + if (pci_dma_mapping_error(rdev->pdev, dma_addr[i])) { rdev->gart.ttm_alloced[p] = true; rdev->gart.pages_addr[p] = dma_addr[i]; } else {
... instead of comparing with DMA_ERROR_CODE, which will only work on powerpc/sparc/x86.
Signed-off-by: Aurelien Jarno aurelien@aurel32.net --- drivers/gpu/drm/nouveau/nouveau_sgdma.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c b/drivers/gpu/drm/nouveau/nouveau_sgdma.c index 4bce801..b038de9 100644 --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c @@ -42,7 +42,8 @@ nouveau_sgdma_populate(struct ttm_backend *be, unsigned long num_pages,
nvbe->nr_pages = 0; while (num_pages--) { - if (dma_addrs[nvbe->nr_pages] != DMA_ERROR_CODE) { + if (pci_dma_mapping_error(dev->pdev, + dma_addrs[nvbe->nr_pages])) { nvbe->pages[nvbe->nr_pages] = dma_addrs[nvbe->nr_pages]; nvbe->ttm_alloced[nvbe->nr_pages] = true;
On Wed, Apr 27, 2011 at 3:34 PM, Aurelien Jarno aurelien@aurel32.net wrote:
... instead of comparing with DMA_ERROR_CODE, which will only work on powerpc/sparc/x86.
So you wrote a patch that breaks it everwhere?
You might want to actually boot this sort of thing before I do, or read the interface for pci_dma_mapping_error, it doesn't seem to return what you seem to think it does.
Dave.
On Wed, Apr 27, 2011 at 05:49:50PM +1000, Dave Airlie wrote:
It seems I inverted the condition yes.
I tried, but I don't have such a card, so it doesn't trigger the bug. I'll send a v2 soon.
dri-devel@lists.freedesktop.org