Message ID | 1303882443-7613-1-git-send-email-aurelien@aurel32.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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: > 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 --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/radeon/radeon_gart.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)