| From 0b58d90f89545e021d188c289fa142e5ff9e708b Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Thu, 1 Mar 2018 11:03:27 -0500 |
| Subject: drm/radeon: fix KV harvesting |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 0b58d90f89545e021d188c289fa142e5ff9e708b upstream. |
| |
| Always set the graphics values to the max for the |
| asic type. E.g., some 1 RB chips are actually 1 RB chips, |
| others are actually harvested 2 RB chips. |
| |
| Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99353 |
| Reviewed-by: Christian Kรถnig <christian.koenig@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/cik.c | 31 ++----------------------------- |
| 1 file changed, 2 insertions(+), 29 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/cik.c |
| +++ b/drivers/gpu/drm/radeon/cik.c |
| @@ -3229,35 +3229,8 @@ static void cik_gpu_init(struct radeon_d |
| case CHIP_KAVERI: |
| rdev->config.cik.max_shader_engines = 1; |
| rdev->config.cik.max_tile_pipes = 4; |
| - if ((rdev->pdev->device == 0x1304) || |
| - (rdev->pdev->device == 0x1305) || |
| - (rdev->pdev->device == 0x130C) || |
| - (rdev->pdev->device == 0x130F) || |
| - (rdev->pdev->device == 0x1310) || |
| - (rdev->pdev->device == 0x1311) || |
| - (rdev->pdev->device == 0x131C)) { |
| - rdev->config.cik.max_cu_per_sh = 8; |
| - rdev->config.cik.max_backends_per_se = 2; |
| - } else if ((rdev->pdev->device == 0x1309) || |
| - (rdev->pdev->device == 0x130A) || |
| - (rdev->pdev->device == 0x130D) || |
| - (rdev->pdev->device == 0x1313) || |
| - (rdev->pdev->device == 0x131D)) { |
| - rdev->config.cik.max_cu_per_sh = 6; |
| - rdev->config.cik.max_backends_per_se = 2; |
| - } else if ((rdev->pdev->device == 0x1306) || |
| - (rdev->pdev->device == 0x1307) || |
| - (rdev->pdev->device == 0x130B) || |
| - (rdev->pdev->device == 0x130E) || |
| - (rdev->pdev->device == 0x1315) || |
| - (rdev->pdev->device == 0x1318) || |
| - (rdev->pdev->device == 0x131B)) { |
| - rdev->config.cik.max_cu_per_sh = 4; |
| - rdev->config.cik.max_backends_per_se = 1; |
| - } else { |
| - rdev->config.cik.max_cu_per_sh = 3; |
| - rdev->config.cik.max_backends_per_se = 1; |
| - } |
| + rdev->config.cik.max_cu_per_sh = 8; |
| + rdev->config.cik.max_backends_per_se = 2; |
| rdev->config.cik.max_sh_per_se = 1; |
| rdev->config.cik.max_texture_channel_caches = 4; |
| rdev->config.cik.max_gprs = 256; |