From f5cccfe0e6439e44d386947450400d52d2836503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 19 Sep 2019 22:16:51 -0400 Subject: [PATCH] ac: fix num_good_cu_per_sh for harvested chips Cc: 19.2 Reviewed-by: Bas Nieuwenhuizen (cherry picked from commit b7c2f7c5a6b21bccb7847ab03b7fba5c770e131c) --- src/amd/common/ac_gpu_info.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 4b49845360d..425330bcb28 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -458,6 +458,12 @@ bool ac_query_gpu_info(int fd, void *dev_p, info->num_good_cu_per_sh = info->num_good_compute_units / (info->max_se * info->max_sh_per_se); + /* Round down to the nearest multiple of 2, because the hw can't + * disable CUs. It can only disable whole WGPs (dual-CUs). + */ + if (info->chip_class >= GFX10) + info->num_good_cu_per_sh -= info->num_good_cu_per_sh % 2; + memcpy(info->si_tile_mode_array, amdinfo->gb_tile_mode, sizeof(amdinfo->gb_tile_mode)); info->enabled_rb_mask = amdinfo->enabled_rb_pipes_mask;