diff mbox

[1/2] drm/radeon: Use pci_dma_mapping_error()

Message ID 1303882443-7613-1-git-send-email-aurelien@aurel32.net (mailing list archive)
State New, archived
Headers show

Commit Message

Aurelien Jarno April 27, 2011, 5:34 a.m. UTC
... 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(-)

Comments

Dave Airlie April 27, 2011, 7:49 a.m. UTC | #1
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.
Aurelien Jarno April 27, 2011, 10:08 a.m. UTC | #2
On Wed, Apr 27, 2011 at 05:49:50PM +1000, Dave Airlie wrote:
> 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?

It seems I inverted the condition yes.

> 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.

I tried, but I don't have such a card, so it doesn't trigger the bug.
I'll send a v2 soon.
diff mbox

Patch

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 {