| From d56b1980d7efe9ef08469e856fc0703d0cef65e4 Mon Sep 17 00:00:00 2001 |
| From: Jay Cornwall <jay.cornwall@amd.com> |
| Date: Sat, 17 Oct 2020 08:38:43 -0500 |
| Subject: drm/amdkfd: Use same SQ prefetch setting as amdgpu |
| |
| From: Jay Cornwall <jay.cornwall@amd.com> |
| |
| commit d56b1980d7efe9ef08469e856fc0703d0cef65e4 upstream. |
| |
| 0 causes instruction fetch stall at cache line boundary under some |
| conditions on Navi10. A non-zero prefetch is the preferred default |
| in any case. |
| |
| Fixes soft hang in Luxmark. |
| |
| Signed-off-by: Jay Cornwall <jay.cornwall@amd.com> |
| Reviewed-by: Felix Kuehling <Felix.Kuehling@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/amd/amdkfd/kfd_device_queue_manager_v10.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v10.c |
| +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v10.c |
| @@ -58,8 +58,9 @@ static int update_qpd_v10(struct device_ |
| /* check if sh_mem_config register already configured */ |
| if (qpd->sh_mem_config == 0) { |
| qpd->sh_mem_config = |
| - SH_MEM_ALIGNMENT_MODE_UNALIGNED << |
| - SH_MEM_CONFIG__ALIGNMENT_MODE__SHIFT; |
| + (SH_MEM_ALIGNMENT_MODE_UNALIGNED << |
| + SH_MEM_CONFIG__ALIGNMENT_MODE__SHIFT) | |
| + (3 << SH_MEM_CONFIG__INITIAL_INST_PREFETCH__SHIFT); |
| #if 0 |
| /* TODO: |
| * This shouldn't be an issue with Navi10. Verify. |