[PATCH] drm/amdkfd: change SDMA MQD memory type

Felix Kuehling felix.kuehling at amd.com
Wed Feb 26 21:00:59 UTC 2020


On 2020-02-26 14:37, Eric Huang wrote:
> SDMA MQD memory type is NC that causes MQD data overwritten
> accidentally by an old stable cache line. Changing it to UC
> default for GART will fix the issue.

Maybe add a statement here, that the mqd_gfx9 parameter is meant for 
control stacks that are allocated together with user mode queue MQDs. 
Setting mqd_gfx9 to true maps the control stack pages as NC. Here it was 
accidentally applied to SDMA MQDs, which are allocated together with the 
HIQ MQD. Setting the mqd_gfx9 to false avoids that.


>
> Change-Id: If609f47c78cb97e2c8dc930df2ab5c10c29dfe56
> Signed-off-by: Eric Huang <jinhuieric.huang at amd.com>

Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>


> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> index 692abfd..77ea0f0 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -1734,7 +1734,7 @@ static int allocate_hiq_sdma_mqd(struct device_queue_manager *dqm)
>   
>   	retval = amdgpu_amdkfd_alloc_gtt_mem(dev->kgd, size,
>   		&(mem_obj->gtt_mem), &(mem_obj->gpu_addr),
> -		(void *)&(mem_obj->cpu_ptr), true);
> +		(void *)&(mem_obj->cpu_ptr), false);
>   
>   	return retval;
>   }


More information about the amd-gfx mailing list