[PATCH 1/2] drm/amdkfd: Record vmid pasid mapping in the driver for non HWS mode
Zhao, Yong
Yong.Zhao at amd.com
Thu Sep 26 22:21:04 UTC 2019
On 2019-09-26 6:16 p.m., Kuehling, Felix wrote:
> 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
>
Oh, thye are in amdgpu_amdkfd_gfx* files. I have put the define in
kfd_device_queue_manager.h . With that, I will directly push later.
>>>> #define KFD_MAX_RING_ENTRY_SIZE 8
>>>>
>>>> #define KFD_SYSFS_FILE_MODE 0444
More information about the amd-gfx
mailing list