@@ -56,8 +56,6 @@ int rv770_pcie_gart_enable(struct radeon_device *rdev)
56
56
r = radeon_gart_table_vram_pin (rdev );
57
57
if (r )
58
58
return r ;
59
- for (i = 0 ; i < rdev -> gart .num_gpu_pages ; i ++ )
60
- r600_gart_clear_page (rdev , i );
61
59
/* Setup L2 cache */
62
60
WREG32 (VM_L2_CNTL , ENABLE_L2_CACHE | ENABLE_L2_FRAGMENT_PROCESSING |
63
61
ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE |
@@ -681,11 +679,11 @@ static void rv770_gpu_init(struct radeon_device *rdev)
681
679
WREG32 (SQ_CONFIG , sq_config );
682
680
683
681
WREG32 (SQ_GPR_RESOURCE_MGMT_1 , (NUM_PS_GPRS ((rdev -> config .rv770 .max_gprs * 24 )/64 ) |
684
- NUM_VS_GPRS ((rdev -> config .rv770 .max_gprs * 24 )/64 ) |
685
- NUM_CLAUSE_TEMP_GPRS (((rdev -> config .rv770 .max_gprs * 24 )/64 )/2 )));
682
+ NUM_VS_GPRS ((rdev -> config .rv770 .max_gprs * 24 )/64 ) |
683
+ NUM_CLAUSE_TEMP_GPRS (((rdev -> config .rv770 .max_gprs * 24 )/64 )/2 )));
686
684
687
685
WREG32 (SQ_GPR_RESOURCE_MGMT_2 , (NUM_GS_GPRS ((rdev -> config .rv770 .max_gprs * 7 )/64 ) |
688
- NUM_ES_GPRS ((rdev -> config .rv770 .max_gprs * 7 )/64 )));
686
+ NUM_ES_GPRS ((rdev -> config .rv770 .max_gprs * 7 )/64 )));
689
687
690
688
sq_thread_resource_mgmt = (NUM_PS_THREADS ((rdev -> config .rv770 .max_threads * 4 )/8 ) |
691
689
NUM_VS_THREADS ((rdev -> config .rv770 .max_threads * 2 )/8 ) |
@@ -717,14 +715,14 @@ static void rv770_gpu_init(struct radeon_device *rdev)
717
715
WREG32 (SQ_DYN_GPR_SIZE_SIMD_AB_7 , sq_dyn_gpr_size_simd_ab_0 );
718
716
719
717
WREG32 (PA_SC_FORCE_EOV_MAX_CNTS , (FORCE_EOV_MAX_CLK_CNT (4095 ) |
720
- FORCE_EOV_MAX_REZ_CNT (255 )));
718
+ FORCE_EOV_MAX_REZ_CNT (255 )));
721
719
722
720
if (rdev -> family == CHIP_RV710 )
723
721
WREG32 (VGT_CACHE_INVALIDATION , (CACHE_INVALIDATION (TC_ONLY ) |
724
- AUTO_INVLD_EN (ES_AND_GS_AUTO )));
722
+ AUTO_INVLD_EN (ES_AND_GS_AUTO )));
725
723
else
726
724
WREG32 (VGT_CACHE_INVALIDATION , (CACHE_INVALIDATION (VC_AND_TC ) |
727
- AUTO_INVLD_EN (ES_AND_GS_AUTO )));
725
+ AUTO_INVLD_EN (ES_AND_GS_AUTO )));
728
726
729
727
switch (rdev -> family ) {
730
728
case CHIP_RV770 :
@@ -848,14 +846,15 @@ int rv770_mc_init(struct radeon_device *rdev)
848
846
}
849
847
int rv770_gpu_reset (struct radeon_device * rdev )
850
848
{
851
- /* FIXME: implement */
852
- return 0 ;
849
+ /* FIXME: implement any rv770 specific bits */
850
+ return r600_gpu_reset ( rdev ) ;
853
851
}
854
852
855
853
static int rv770_startup (struct radeon_device * rdev )
856
854
{
857
855
int r ;
858
856
857
+ radeon_gpu_reset (rdev );
859
858
rv770_mc_resume (rdev );
860
859
r = rv770_pcie_gart_enable (rdev );
861
860
if (r )
@@ -1039,6 +1038,8 @@ int rv770_init(struct radeon_device *rdev)
1039
1038
1040
1039
void rv770_fini (struct radeon_device * rdev )
1041
1040
{
1041
+ rv770_suspend (rdev );
1042
+
1042
1043
r600_blit_fini (rdev );
1043
1044
radeon_ring_fini (rdev );
1044
1045
rv770_pcie_gart_fini (rdev );
0 commit comments