Rev 5139 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5139 | Rev 6104 | ||
---|---|---|---|
Line 210... | Line 210... | ||
210 | 210 | ||
211 | #define RS400_PTE_UNSNOOPED (1 << 0) |
211 | #define RS400_PTE_UNSNOOPED (1 << 0) |
212 | #define RS400_PTE_WRITEABLE (1 << 2) |
212 | #define RS400_PTE_WRITEABLE (1 << 2) |
Line 213... | Line -... | ||
213 | #define RS400_PTE_READABLE (1 << 3) |
- | |
214 | 213 | #define RS400_PTE_READABLE (1 << 3) |
|
215 | void rs400_gart_set_page(struct radeon_device *rdev, unsigned i, |
214 | |
216 | uint64_t addr, uint32_t flags) |
215 | uint64_t rs400_gart_get_page_entry(uint64_t addr, uint32_t flags) |
217 | { |
- | |
Line 218... | Line 216... | ||
218 | uint32_t entry; |
216 | { |
219 | u32 *gtt = rdev->gart.ptr; |
217 | uint32_t entry; |
220 | 218 | ||
221 | entry = (lower_32_bits(addr) & PAGE_MASK) | |
219 | entry = (lower_32_bits(addr) & PAGE_MASK) | |
222 | ((upper_32_bits(addr) & 0xff) << 4); |
220 | ((upper_32_bits(addr) & 0xff) << 4); |
223 | if (flags & RADEON_GART_PAGE_READ) |
221 | if (flags & RADEON_GART_PAGE_READ) |
224 | entry |= RS400_PTE_READABLE; |
222 | entry |= RS400_PTE_READABLE; |
225 | if (flags & RADEON_GART_PAGE_WRITE) |
223 | if (flags & RADEON_GART_PAGE_WRITE) |
226 | entry |= RS400_PTE_WRITEABLE; |
224 | entry |= RS400_PTE_WRITEABLE; |
- | 225 | if (!(flags & RADEON_GART_PAGE_SNOOP)) |
|
- | 226 | entry |= RS400_PTE_UNSNOOPED; |
|
- | 227 | return entry; |
|
227 | if (!(flags & RADEON_GART_PAGE_SNOOP)) |
228 | } |
- | 229 | ||
- | 230 | void rs400_gart_set_page(struct radeon_device *rdev, unsigned i, |
|
- | 231 | uint64_t entry) |
|
228 | entry |= RS400_PTE_UNSNOOPED; |
232 | { |
Line 229... | Line 233... | ||
229 | entry = cpu_to_le32(entry); |
233 | u32 *gtt = rdev->gart.ptr; |
230 | gtt[i] = entry; |
234 | gtt[i] = cpu_to_le32(lower_32_bits(entry)); |
231 | } |
235 | } |
Line 452... | Line 456... | ||
452 | return 0; |
456 | return 0; |
453 | } |
457 | } |
Line -... | Line 458... | ||
- | 458 | ||
- | 459 | ||
- | 460 | ||
- | 461 | void rs400_fini(struct radeon_device *rdev) |
|
- | 462 | { |
|
- | 463 | radeon_pm_fini(rdev); |
|
- | 464 | r100_cp_fini(rdev); |
|
- | 465 | radeon_wb_fini(rdev); |
|
- | 466 | radeon_ib_pool_fini(rdev); |
|
- | 467 | radeon_gem_fini(rdev); |
|
- | 468 | rs400_gart_fini(rdev); |
|
- | 469 | radeon_irq_kms_fini(rdev); |
|
- | 470 | radeon_fence_driver_fini(rdev); |
|
- | 471 | radeon_bo_fini(rdev); |
|
- | 472 | radeon_atombios_fini(rdev); |
|
Line 454... | Line 473... | ||
454 | 473 | kfree(rdev->bios); |
|
455 | 474 | rdev->bios = NULL; |
|
456 | 475 | } |
|
Line 515... | Line 534... | ||
515 | rdev->accel_working = true; |
534 | rdev->accel_working = true; |
516 | r = rs400_startup(rdev); |
535 | r = rs400_startup(rdev); |
517 | if (r) { |
536 | if (r) { |
518 | /* Somethings want wront with the accel init stop accel */ |
537 | /* Somethings want wront with the accel init stop accel */ |
519 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
538 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
520 | // r100_cp_fini(rdev); |
539 | r100_cp_fini(rdev); |
521 | // r100_wb_fini(rdev); |
540 | radeon_wb_fini(rdev); |
522 | // r100_ib_fini(rdev); |
541 | radeon_ib_pool_fini(rdev); |
523 | rs400_gart_fini(rdev); |
542 | rs400_gart_fini(rdev); |
524 | // radeon_irq_kms_fini(rdev); |
543 | radeon_irq_kms_fini(rdev); |
525 | rdev->accel_working = false; |
544 | rdev->accel_working = false; |
526 | } |
545 | } |
527 | return 0; |
546 | return 0; |
528 | }><>>><>><>><>><>><>><> |
547 | }><>>><>><>><>><>><>><> |