From: Marek Olšák <marek.ol...@amd.com>

---
 src/amd/common/ac_gpu_info.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index da54e5f8b4a..273ccb6cb1d 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -587,28 +587,22 @@ ac_get_raster_config(struct radeon_info *info,
                break;
        case CHIP_BONAIRE:
                raster_config = 0x16000012;
                raster_config_1 = 0x00000000;
                break;
        case CHIP_HAWAII:
                raster_config = 0x3a00161a;
                raster_config_1 = 0x0000002e;
                break;
        case CHIP_FIJI:
-               if (info->cik_macrotile_mode_array[0] == 0x000000e8) {
-                       /* old kernels with old tiling config */
-                       raster_config = 0x16000012;
-                       raster_config_1 = 0x0000002a;
-               } else {
-                       raster_config = 0x3a00161a;
-                       raster_config_1 = 0x0000002e;
-               }
+               raster_config = 0x3a00161a;
+               raster_config_1 = 0x0000002e;
                break;
        case CHIP_POLARIS10:
                raster_config = 0x16000012;
                raster_config_1 = 0x0000002a;
                break;
        case CHIP_POLARIS11:
        case CHIP_POLARIS12:
                raster_config = 0x16000012;
                raster_config_1 = 0x00000000;
                break;
@@ -641,20 +635,30 @@ ac_get_raster_config(struct radeon_info *info,
                raster_config = 0x00000000;
                raster_config_1 = 0x00000000;
                break;
        default:
                fprintf(stderr,
                        "ac: Unknown GPU, using 0 for raster_config\n");
                raster_config = 0x00000000;
                raster_config_1 = 0x00000000;
                break;
        }
+
+       /* Fiji: Old kernels have incorrect tiling config. This decreases
+        * RB performance by 25%. (it disables 1 RB in the second packer)
+        */
+       if (info->family == CHIP_FIJI &&
+           info->cik_macrotile_mode_array[0] == 0x000000e8) {
+               raster_config = 0x16000012;
+               raster_config_1 = 0x0000002a;
+       }
+
        *raster_config_p = raster_config;
        *raster_config_1_p = raster_config_1;
 }
 
 void
 ac_get_harvested_configs(struct radeon_info *info,
                         unsigned raster_config,
                         unsigned *cik_raster_config_1_p,
                         unsigned *raster_config_se)
 {
-- 
2.17.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to