aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/cik.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/cik.c')
-rw-r--r--drivers/gpu/drm/radeon/cik.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 6ca1f87af87a..24d96cbb1f03 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -3042,7 +3042,10 @@ static void cik_setup_rb(struct radeon_device *rdev,
3042 for (j = 0; j < sh_per_se; j++) { 3042 for (j = 0; j < sh_per_se; j++) {
3043 cik_select_se_sh(rdev, i, j); 3043 cik_select_se_sh(rdev, i, j);
3044 data = cik_get_rb_disabled(rdev, max_rb_num, se_num, sh_per_se); 3044 data = cik_get_rb_disabled(rdev, max_rb_num, se_num, sh_per_se);
3045 disabled_rbs |= data << ((i * sh_per_se + j) * CIK_RB_BITMAP_WIDTH_PER_SH); 3045 if (rdev->family == CHIP_HAWAII)
3046 disabled_rbs |= data << ((i * sh_per_se + j) * HAWAII_RB_BITMAP_WIDTH_PER_SH);
3047 else
3048 disabled_rbs |= data << ((i * sh_per_se + j) * CIK_RB_BITMAP_WIDTH_PER_SH);
3046 } 3049 }
3047 } 3050 }
3048 cik_select_se_sh(rdev, 0xffffffff, 0xffffffff); 3051 cik_select_se_sh(rdev, 0xffffffff, 0xffffffff);
@@ -3059,6 +3062,12 @@ static void cik_setup_rb(struct radeon_device *rdev,
3059 data = 0; 3062 data = 0;
3060 for (j = 0; j < sh_per_se; j++) { 3063 for (j = 0; j < sh_per_se; j++) {
3061 switch (enabled_rbs & 3) { 3064 switch (enabled_rbs & 3) {
3065 case 0:
3066 if (j == 0)
3067 data |= PKR_MAP(RASTER_CONFIG_RB_MAP_3);
3068 else
3069 data |= PKR_MAP(RASTER_CONFIG_RB_MAP_0);
3070 break;
3062 case 1: 3071 case 1:
3063 data |= (RASTER_CONFIG_RB_MAP_0 << (i * sh_per_se + j) * 2); 3072 data |= (RASTER_CONFIG_RB_MAP_0 << (i * sh_per_se + j) * 2);
3064 break; 3073 break;