Subversion Repositories Kolibri OS

Rev

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
}