aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r600_cp.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-03-09 12:17:08 +1000
committerDave Airlie <airlied@redhat.com>2009-03-13 14:24:18 +1000
commita763d7dc0adb1159c1a52d43e566409da9fa59f0 (patch)
tree62898c96080193cc849b635e8ef8ae08cac30836 /drivers/gpu/drm/radeon/r600_cp.c
parentdrm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup() (diff)
downloadlinux-dev-a763d7dc0adb1159c1a52d43e566409da9fa59f0.tar.xz
linux-dev-a763d7dc0adb1159c1a52d43e566409da9fa59f0.zip
drm/radeon: fix r600 pci mapping calls.
This realigns the r600 pci mapping calls with the ati pcigart ones, fixing the direction and using the correct interface. Suggested by Jerome Glisse. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600_cp.c')
-rw-r--r--drivers/gpu/drm/radeon/r600_cp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
index f915f1153b41..be2bba66d5d9 100644
--- a/drivers/gpu/drm/radeon/r600_cp.c
+++ b/drivers/gpu/drm/radeon/r600_cp.c
@@ -132,8 +132,8 @@ void r600_page_table_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info
for (i = 0; i < pages; i++) {
if (!entry->busaddr[i])
break;
- pci_unmap_single(dev->pdev, entry->busaddr[i],
- PAGE_SIZE, PCI_DMA_TODEVICE);
+ pci_unmap_page(dev->pdev, entry->busaddr[i],
+ PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
}
if (gart_info->gart_table_location == DRM_ATI_GART_MAIN)
gart_info->bus_addr = 0;
@@ -165,10 +165,10 @@ int r600_page_table_init(struct drm_device *dev)
gart_idx = 0;
for (i = 0; i < pages; i++) {
- entry->busaddr[i] = pci_map_single(dev->pdev,
- page_address(entry->
- pagelist[i]),
- PAGE_SIZE, PCI_DMA_TODEVICE);
+ entry->busaddr[i] = pci_map_page(dev->pdev,
+ entry->pagelist[i], 0,
+ PAGE_SIZE,
+ PCI_DMA_BIDIRECTIONAL);
if (entry->busaddr[i] == 0) {
DRM_ERROR("unable to map PCIGART pages!\n");
r600_page_table_cleanup(dev, gart_info);