diff options
| author | Matt Turner <mattst88@gmail.com> | 2009-10-14 00:34:41 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2009-10-15 18:49:23 -0400 |
| commit | a77f171843d466d4af0d527bcb2d314fafa8afd7 (patch) | |
| tree | ca184539d306a819d70ce93b44536fdb6980012a /drivers | |
| parent | dfdd646773941bb6b22c3898a26a109e57c872a2 (diff) | |
drm/radeon/kms: use RADEON_GPU_PAGE_SIZE instead of 4096
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 10 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_benchmark.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_gart.c | 20 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_test.c | 6 |
7 files changed, 24 insertions, 22 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 33198dd5706c..c22adff179a9 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
| @@ -240,7 +240,7 @@ int r100_wb_init(struct radeon_device *rdev) | |||
| 240 | int r; | 240 | int r; |
| 241 | 241 | ||
| 242 | if (rdev->wb.wb_obj == NULL) { | 242 | if (rdev->wb.wb_obj == NULL) { |
| 243 | r = radeon_object_create(rdev, NULL, 4096, | 243 | r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, |
| 244 | true, | 244 | true, |
| 245 | RADEON_GEM_DOMAIN_GTT, | 245 | RADEON_GEM_DOMAIN_GTT, |
| 246 | false, &rdev->wb.wb_obj); | 246 | false, &rdev->wb.wb_obj); |
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index e08c4a8974ca..2f43ee8e4048 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
| @@ -113,7 +113,7 @@ int rv370_pcie_gart_enable(struct radeon_device *rdev) | |||
| 113 | tmp = RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD; | 113 | tmp = RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD; |
| 114 | WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp); | 114 | WREG32_PCIE(RADEON_PCIE_TX_GART_CNTL, tmp); |
| 115 | WREG32_PCIE(RADEON_PCIE_TX_GART_START_LO, rdev->mc.gtt_location); | 115 | WREG32_PCIE(RADEON_PCIE_TX_GART_START_LO, rdev->mc.gtt_location); |
| 116 | tmp = rdev->mc.gtt_location + rdev->mc.gtt_size - 4096; | 116 | tmp = rdev->mc.gtt_location + rdev->mc.gtt_size - RADEON_GPU_PAGE_SIZE; |
| 117 | WREG32_PCIE(RADEON_PCIE_TX_GART_END_LO, tmp); | 117 | WREG32_PCIE(RADEON_PCIE_TX_GART_END_LO, tmp); |
| 118 | WREG32_PCIE(RADEON_PCIE_TX_GART_START_HI, 0); | 118 | WREG32_PCIE(RADEON_PCIE_TX_GART_START_HI, 0); |
| 119 | WREG32_PCIE(RADEON_PCIE_TX_GART_END_HI, 0); | 119 | WREG32_PCIE(RADEON_PCIE_TX_GART_END_HI, 0); |
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 6b43a95a5fb2..1b5aa1fd368b 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
| @@ -1269,9 +1269,9 @@ int r600_cp_resume(struct radeon_device *rdev) | |||
| 1269 | rb_bufsz = drm_order(rdev->cp.ring_size / 8); | 1269 | rb_bufsz = drm_order(rdev->cp.ring_size / 8); |
| 1270 | #ifdef __BIG_ENDIAN | 1270 | #ifdef __BIG_ENDIAN |
| 1271 | WREG32(CP_RB_CNTL, BUF_SWAP_32BIT | RB_NO_UPDATE | | 1271 | WREG32(CP_RB_CNTL, BUF_SWAP_32BIT | RB_NO_UPDATE | |
| 1272 | (drm_order(4096/8) << 8) | rb_bufsz); | 1272 | (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz); |
| 1273 | #else | 1273 | #else |
| 1274 | WREG32(CP_RB_CNTL, RB_NO_UPDATE | (drm_order(4096/8) << 8) | rb_bufsz); | 1274 | WREG32(CP_RB_CNTL, RB_NO_UPDATE | (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz); |
| 1275 | #endif | 1275 | #endif |
| 1276 | WREG32(CP_SEM_WAIT_TIMER, 0x4); | 1276 | WREG32(CP_SEM_WAIT_TIMER, 0x4); |
| 1277 | 1277 | ||
| @@ -1400,7 +1400,7 @@ int r600_wb_enable(struct radeon_device *rdev) | |||
| 1400 | int r; | 1400 | int r; |
| 1401 | 1401 | ||
| 1402 | if (rdev->wb.wb_obj == NULL) { | 1402 | if (rdev->wb.wb_obj == NULL) { |
| 1403 | r = radeon_object_create(rdev, NULL, 4096, true, | 1403 | r = radeon_object_create(rdev, NULL, RADEON_GPU_PAGE_SIZE, true, |
| 1404 | RADEON_GEM_DOMAIN_GTT, false, &rdev->wb.wb_obj); | 1404 | RADEON_GEM_DOMAIN_GTT, false, &rdev->wb.wb_obj); |
| 1405 | if (r) { | 1405 | if (r) { |
| 1406 | dev_warn(rdev->dev, "failed to create WB buffer (%d).\n", r); | 1406 | dev_warn(rdev->dev, "failed to create WB buffer (%d).\n", r); |
| @@ -1450,8 +1450,8 @@ int r600_copy_blit(struct radeon_device *rdev, | |||
| 1450 | uint64_t src_offset, uint64_t dst_offset, | 1450 | uint64_t src_offset, uint64_t dst_offset, |
| 1451 | unsigned num_pages, struct radeon_fence *fence) | 1451 | unsigned num_pages, struct radeon_fence *fence) |
| 1452 | { | 1452 | { |
| 1453 | r600_blit_prepare_copy(rdev, num_pages * 4096); | 1453 | r600_blit_prepare_copy(rdev, num_pages * RADEON_GPU_PAGE_SIZE); |
| 1454 | r600_kms_blit_copy(rdev, src_offset, dst_offset, num_pages * 4096); | 1454 | r600_kms_blit_copy(rdev, src_offset, dst_offset, num_pages * RADEON_GPU_PAGE_SIZE); |
| 1455 | r600_blit_done_copy(rdev, fence); | 1455 | r600_blit_done_copy(rdev, fence); |
| 1456 | return 0; | 1456 | return 0; |
| 1457 | } | 1457 | } |
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 3598adca034a..8b60e36b20ba 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
| @@ -276,6 +276,8 @@ union radeon_gart_table { | |||
| 276 | struct radeon_gart_table_vram vram; | 276 | struct radeon_gart_table_vram vram; |
| 277 | }; | 277 | }; |
| 278 | 278 | ||
| 279 | #define RADEON_GPU_PAGE_SIZE 4096 | ||
| 280 | |||
| 279 | struct radeon_gart { | 281 | struct radeon_gart { |
| 280 | dma_addr_t table_addr; | 282 | dma_addr_t table_addr; |
| 281 | unsigned num_gpu_pages; | 283 | unsigned num_gpu_pages; |
diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c index 2e938f7496fb..10bd50a7db87 100644 --- a/drivers/gpu/drm/radeon/radeon_benchmark.c +++ b/drivers/gpu/drm/radeon/radeon_benchmark.c | |||
| @@ -63,7 +63,7 @@ void radeon_benchmark_move(struct radeon_device *rdev, unsigned bsize, | |||
| 63 | if (r) { | 63 | if (r) { |
| 64 | goto out_cleanup; | 64 | goto out_cleanup; |
| 65 | } | 65 | } |
| 66 | r = radeon_copy_dma(rdev, saddr, daddr, size / 4096, fence); | 66 | r = radeon_copy_dma(rdev, saddr, daddr, size / RADEON_GPU_PAGE_SIZE, fence); |
| 67 | if (r) { | 67 | if (r) { |
| 68 | goto out_cleanup; | 68 | goto out_cleanup; |
| 69 | } | 69 | } |
| @@ -88,7 +88,7 @@ void radeon_benchmark_move(struct radeon_device *rdev, unsigned bsize, | |||
| 88 | if (r) { | 88 | if (r) { |
| 89 | goto out_cleanup; | 89 | goto out_cleanup; |
| 90 | } | 90 | } |
| 91 | r = radeon_copy_blit(rdev, saddr, daddr, size / 4096, fence); | 91 | r = radeon_copy_blit(rdev, saddr, daddr, size / RADEON_GPU_PAGE_SIZE, fence); |
| 92 | if (r) { | 92 | if (r) { |
| 93 | goto out_cleanup; | 93 | goto out_cleanup; |
| 94 | } | 94 | } |
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c index a931af065dd4..a68d7566178c 100644 --- a/drivers/gpu/drm/radeon/radeon_gart.c +++ b/drivers/gpu/drm/radeon/radeon_gart.c | |||
| @@ -140,15 +140,15 @@ void radeon_gart_unbind(struct radeon_device *rdev, unsigned offset, | |||
| 140 | WARN(1, "trying to unbind memory to unitialized GART !\n"); | 140 | WARN(1, "trying to unbind memory to unitialized GART !\n"); |
| 141 | return; | 141 | return; |
| 142 | } | 142 | } |
| 143 | t = offset / 4096; | 143 | t = offset / RADEON_GPU_PAGE_SIZE; |
| 144 | p = t / (PAGE_SIZE / 4096); | 144 | p = t / (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); |
| 145 | for (i = 0; i < pages; i++, p++) { | 145 | for (i = 0; i < pages; i++, p++) { |
| 146 | if (rdev->gart.pages[p]) { | 146 | if (rdev->gart.pages[p]) { |
| 147 | pci_unmap_page(rdev->pdev, rdev->gart.pages_addr[p], | 147 | pci_unmap_page(rdev->pdev, rdev->gart.pages_addr[p], |
| 148 | PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); | 148 | PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); |
| 149 | rdev->gart.pages[p] = NULL; | 149 | rdev->gart.pages[p] = NULL; |
| 150 | rdev->gart.pages_addr[p] = 0; | 150 | rdev->gart.pages_addr[p] = 0; |
| 151 | for (j = 0; j < (PAGE_SIZE / 4096); j++, t++) { | 151 | for (j = 0; j < (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); j++, t++) { |
| 152 | radeon_gart_set_page(rdev, t, 0); | 152 | radeon_gart_set_page(rdev, t, 0); |
| 153 | } | 153 | } |
| 154 | } | 154 | } |
| @@ -169,8 +169,8 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset, | |||
| 169 | DRM_ERROR("trying to bind memory to unitialized GART !\n"); | 169 | DRM_ERROR("trying to bind memory to unitialized GART !\n"); |
| 170 | return -EINVAL; | 170 | return -EINVAL; |
| 171 | } | 171 | } |
| 172 | t = offset / 4096; | 172 | t = offset / RADEON_GPU_PAGE_SIZE; |
| 173 | p = t / (PAGE_SIZE / 4096); | 173 | p = t / (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); |
| 174 | 174 | ||
| 175 | for (i = 0; i < pages; i++, p++) { | 175 | for (i = 0; i < pages; i++, p++) { |
| 176 | /* we need to support large memory configurations */ | 176 | /* we need to support large memory configurations */ |
| @@ -185,9 +185,9 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset, | |||
| 185 | } | 185 | } |
| 186 | rdev->gart.pages[p] = pagelist[i]; | 186 | rdev->gart.pages[p] = pagelist[i]; |
| 187 | page_base = rdev->gart.pages_addr[p]; | 187 | page_base = rdev->gart.pages_addr[p]; |
| 188 | for (j = 0; j < (PAGE_SIZE / 4096); j++, t++) { | 188 | for (j = 0; j < (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); j++, t++) { |
| 189 | radeon_gart_set_page(rdev, t, page_base); | 189 | radeon_gart_set_page(rdev, t, page_base); |
| 190 | page_base += 4096; | 190 | page_base += RADEON_GPU_PAGE_SIZE; |
| 191 | } | 191 | } |
| 192 | } | 192 | } |
| 193 | mb(); | 193 | mb(); |
| @@ -200,14 +200,14 @@ int radeon_gart_init(struct radeon_device *rdev) | |||
| 200 | if (rdev->gart.pages) { | 200 | if (rdev->gart.pages) { |
| 201 | return 0; | 201 | return 0; |
| 202 | } | 202 | } |
| 203 | /* We need PAGE_SIZE >= 4096 */ | 203 | /* We need PAGE_SIZE >= RADEON_GPU_PAGE_SIZE */ |
| 204 | if (PAGE_SIZE < 4096) { | 204 | if (PAGE_SIZE < RADEON_GPU_PAGE_SIZE) { |
| 205 | DRM_ERROR("Page size is smaller than GPU page size!\n"); | ||
