diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/radeon/r600_cp.c | 12 |
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 | |||
132 | for (i = 0; i < pages; i++) { | 132 | for (i = 0; i < pages; i++) { |
133 | if (!entry->busaddr[i]) | 133 | if (!entry->busaddr[i]) |
134 | break; | 134 | break; |
135 | pci_unmap_single(dev->pdev, entry->busaddr[i], | 135 | pci_unmap_page(dev->pdev, entry->busaddr[i], |
136 | PAGE_SIZE, PCI_DMA_TODEVICE); | 136 | PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); |
137 | } | 137 | } |
138 | if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) | 138 | if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) |
139 | gart_info->bus_addr = 0; | 139 | gart_info->bus_addr = 0; |
@@ -165,10 +165,10 @@ int r600_page_table_init(struct drm_device *dev) | |||
165 | 165 | ||
166 | gart_idx = 0; | 166 | gart_idx = 0; |
167 | for (i = 0; i < pages; i++) { | 167 | for (i = 0; i < pages; i++) { |
168 | entry->busaddr[i] = pci_map_single(dev->pdev, | 168 | entry->busaddr[i] = pci_map_page(dev->pdev, |
169 | page_address(entry-> | 169 | entry->pagelist[i], 0, |
170 | pagelist[i]), | 170 | PAGE_SIZE, |
171 | PAGE_SIZE, PCI_DMA_TODEVICE); | 171 | PCI_DMA_BIDIRECTIONAL); |
172 | if (entry->busaddr[i] == 0) { | 172 | if (entry->busaddr[i] == 0) { |
173 | DRM_ERROR("unable to map PCIGART pages!\n"); | 173 | DRM_ERROR("unable to map PCIGART pages!\n"); |
174 | r600_page_table_cleanup(dev, gart_info); | 174 | r600_page_table_cleanup(dev, gart_info); |