[PATCH 1/2] drm/amdkfd: Record vmid pasid mapping in the driver for non HWS mode
Kuehling, Felix
Felix.Kuehling at amd.com
Thu Sep 26 22:16:19 UTC 2019
On 2019-09-26 5:59 p.m., Zhao, Yong wrote:
> On 2019-09-26 5:36 p.m., Kuehling, Felix wrote:
>> Minor nit-pick inline. Otherwise this patch is
>>
>> Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
>>
>> On 2019-09-26 5:27 p.m., Zhao, Yong wrote:
>>> This makes possible the vmid pasid mapping query through software.
>>>
>>> Change-Id: Ib539aae277a227cc39f6469ae23c46c4d289b87b
>>> Signed-off-by: Yong Zhao <Yong.Zhao at amd.com>
>>> ---
>>> .../drm/amd/amdkfd/kfd_device_queue_manager.c | 33 ++++++++++++-------
>>> .../drm/amd/amdkfd/kfd_device_queue_manager.h | 3 +-
>>> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 ++
>>> 3 files changed, 25 insertions(+), 13 deletions(-)
>>>
[snip]
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
>>> index eed8f950b663..99c8b36301ef 100644
>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
>>> @@ -188,7 +188,8 @@ struct device_queue_manager {
>>> unsigned int *allocated_queues;
>>> uint64_t sdma_bitmap;
>>> uint64_t xgmi_sdma_bitmap;
>>> - unsigned int vmid_bitmap;
>>> + /* the pasid mapping for each kfd vmid */
>>> + uint16_t vmid_pasid[VMID_NUM];
>>> uint64_t pipelines_addr;
>>> struct kfd_mem_obj *pipeline_mem;
>>> uint64_t fence_gpu_addr;
>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>>> index 0d2c7fa1fa46..a08015720841 100644
>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>>> @@ -43,6 +43,8 @@
>>>
>>> #include "amd_shared.h"
>>>
>>> +#define VMID_NUM 16
>>> +
>> Any good reason why this is not defined in kfd_device_queue_manager.h?
>> It's only used there.
> [yz] It could be used by other places in the future, as they use 16
> directly now.
Can you point out those places? A quick grep for hard-coded 16 in kfd
doesn't show up anything VMID-related on a first glance.
Regards,
Felix
>>
>>> #define KFD_MAX_RING_ENTRY_SIZE 8
>>>
>>> #define KFD_SYSFS_FILE_MODE 0444
More information about the amd-gfx
mailing list