rs600.c (1614f8b17b8cc3ad143541d41569623d30dbc9ec) rs600.c (4c7886791264f03428d5424befb1b96f08fc90f4)
1/*
2 * Copyright 2008 Advanced Micro Devices, Inc.
3 * Copyright 2008 Red Hat Inc.
4 * Copyright 2009 Jerome Glisse.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation

--- 132 unchanged lines hidden (view full) ---

141 WREG32_MC(R_000009_MC_CNTL1, (tmp | S_000009_ENABLE_PAGE_TABLES(1)));
142 rs600_gart_tlb_flush(rdev);
143 rdev->gart.ready = true;
144 return 0;
145}
146
147void rs600_gart_disable(struct radeon_device *rdev)
148{
1/*
2 * Copyright 2008 Advanced Micro Devices, Inc.
3 * Copyright 2008 Red Hat Inc.
4 * Copyright 2009 Jerome Glisse.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation

--- 132 unchanged lines hidden (view full) ---

141 WREG32_MC(R_000009_MC_CNTL1, (tmp | S_000009_ENABLE_PAGE_TABLES(1)));
142 rs600_gart_tlb_flush(rdev);
143 rdev->gart.ready = true;
144 return 0;
145}
146
147void rs600_gart_disable(struct radeon_device *rdev)
148{
149 uint32_t tmp;
149 u32 tmp;
150 int r;
150
151 /* FIXME: disable out of gart access */
152 WREG32_MC(R_000100_MC_PT0_CNTL, 0);
153 tmp = RREG32_MC(R_000009_MC_CNTL1);
154 WREG32_MC(R_000009_MC_CNTL1, tmp & C_000009_ENABLE_PAGE_TABLES);
155 if (rdev->gart.table.vram.robj) {
151
152 /* FIXME: disable out of gart access */
153 WREG32_MC(R_000100_MC_PT0_CNTL, 0);
154 tmp = RREG32_MC(R_000009_MC_CNTL1);
155 WREG32_MC(R_000009_MC_CNTL1, tmp & C_000009_ENABLE_PAGE_TABLES);
156 if (rdev->gart.table.vram.robj) {
156 radeon_object_kunmap(rdev->gart.table.vram.robj);
157 radeon_object_unpin(rdev->gart.table.vram.robj);
157 r = radeon_bo_reserve(rdev->gart.table.vram.robj, false);
158 if (r == 0) {
159 radeon_bo_kunmap(rdev->gart.table.vram.robj);
160 radeon_bo_unpin(rdev->gart.table.vram.robj);
161 radeon_bo_unreserve(rdev->gart.table.vram.robj);
162 }
158 }
159}
160
161void rs600_gart_fini(struct radeon_device *rdev)
162{
163 rs600_gart_disable(rdev);
164 radeon_gart_table_vram_free(rdev);
165 radeon_gart_fini(rdev);

--- 273 unchanged lines hidden (view full) ---

439 rs600_suspend(rdev);
440 r100_cp_fini(rdev);
441 r100_wb_fini(rdev);
442 r100_ib_fini(rdev);
443 radeon_gem_fini(rdev);
444 rs600_gart_fini(rdev);
445 radeon_irq_kms_fini(rdev);
446 radeon_fence_driver_fini(rdev);
163 }
164}
165
166void rs600_gart_fini(struct radeon_device *rdev)
167{
168 rs600_gart_disable(rdev);
169 radeon_gart_table_vram_free(rdev);
170 radeon_gart_fini(rdev);

--- 273 unchanged lines hidden (view full) ---

444 rs600_suspend(rdev);
445 r100_cp_fini(rdev);
446 r100_wb_fini(rdev);
447 r100_ib_fini(rdev);
448 radeon_gem_fini(rdev);
449 rs600_gart_fini(rdev);
450 radeon_irq_kms_fini(rdev);
451 radeon_fence_driver_fini(rdev);
447 radeon_object_fini(rdev);
452 radeon_bo_fini(rdev);
448 radeon_atombios_fini(rdev);
449 kfree(rdev->bios);
450 rdev->bios = NULL;
451}
452
453int rs600_init(struct radeon_device *rdev)
454{
455 int r;

--- 42 unchanged lines hidden (view full) ---

498 /* Fence driver */
499 r = radeon_fence_driver_init(rdev);
500 if (r)
501 return r;
502 r = radeon_irq_kms_init(rdev);
503 if (r)
504 return r;
505 /* Memory manager */
453 radeon_atombios_fini(rdev);
454 kfree(rdev->bios);
455 rdev->bios = NULL;
456}
457
458int rs600_init(struct radeon_device *rdev)
459{
460 int r;

--- 42 unchanged lines hidden (view full) ---

503 /* Fence driver */
504 r = radeon_fence_driver_init(rdev);
505 if (r)
506 return r;
507 r = radeon_irq_kms_init(rdev);
508 if (r)
509 return r;
510 /* Memory manager */
506 r = radeon_object_init(rdev);
511 r = radeon_bo_init(rdev);
507 if (r)
508 return r;
509 r = rs600_gart_init(rdev);
510 if (r)
511 return r;
512 rs600_set_safe_registers(rdev);
513 rdev->accel_working = true;
514 r = rs600_startup(rdev);

--- 13 unchanged lines hidden ---
512 if (r)
513 return r;
514 r = rs600_gart_init(rdev);
515 if (r)
516 return r;
517 rs600_set_safe_registers(rdev);
518 rdev->accel_working = true;
519 r = rs600_startup(rdev);

--- 13 unchanged lines hidden ---