[PATCH 1/2] drm/amdkfd: Use better name to indicate the offset is in dwords
Yong Zhao
yong.zhao at amd.com
Mon Nov 11 18:04:57 UTC 2019
ping
On 2019-11-01 4:10 p.m., Zhao, Yong wrote:
> Change-Id: I75da23bba90231762cf58da3170f5bb77ece45ed
> Signed-off-by: Yong Zhao <Yong.Zhao at amd.com>
> ---
> .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
> drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 14 +++++++-------
> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 8 ++++----
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
> 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 984c2f2b24b6..4503fb26fe5b 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -170,7 +170,7 @@ static int allocate_doorbell(struct qcm_process_device *qpd, struct queue *q)
> }
>
> q->properties.doorbell_off =
> - kfd_doorbell_id_to_offset(dev, q->process,
> + kfd_get_doorbell_dw_offset_from_bar(dev, q->process,
> q->doorbell_id);
>
> return 0;
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
> index ebe79bf00145..f904355c44a1 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
> @@ -91,7 +91,7 @@ int kfd_doorbell_init(struct kfd_dev *kfd)
> kfd->doorbell_base = kfd->shared_resources.doorbell_physical_address +
> doorbell_start_offset;
>
> - kfd->doorbell_id_offset = doorbell_start_offset / sizeof(u32);
> + kfd->doorbell_base_dw_offset = doorbell_start_offset / sizeof(u32);
>
> kfd->doorbell_kernel_ptr = ioremap(kfd->doorbell_base,
> kfd_doorbell_process_slice(kfd));
> @@ -103,8 +103,8 @@ int kfd_doorbell_init(struct kfd_dev *kfd)
> pr_debug("doorbell base == 0x%08lX\n",
> (uintptr_t)kfd->doorbell_base);
>
> - pr_debug("doorbell_id_offset == 0x%08lX\n",
> - kfd->doorbell_id_offset);
> + pr_debug("doorbell_base_dw_offset == 0x%08lX\n",
> + kfd->doorbell_base_dw_offset);
>
> pr_debug("doorbell_process_limit == 0x%08lX\n",
> doorbell_process_limit);
> @@ -185,7 +185,7 @@ void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd,
> * Calculating the kernel doorbell offset using the first
> * doorbell page.
> */
> - *doorbell_off = kfd->doorbell_id_offset + inx;
> + *doorbell_off = kfd->doorbell_base_dw_offset + inx;
>
> pr_debug("Get kernel queue doorbell\n"
> " doorbell offset == 0x%08X\n"
> @@ -225,17 +225,17 @@ void write_kernel_doorbell64(void __iomem *db, u64 value)
> }
> }
>
> -unsigned int kfd_doorbell_id_to_offset(struct kfd_dev *kfd,
> +unsigned int kfd_get_doorbell_dw_offset_from_bar(struct kfd_dev *kfd,
> struct kfd_process *process,
> unsigned int doorbell_id)
> {
> /*
> - * doorbell_id_offset accounts for doorbells taken by KGD.
> + * doorbell_base_dw_offset accounts for doorbells taken by KGD.
> * index * kfd_doorbell_process_slice/sizeof(u32) adjusts to
> * the process's doorbells. The offset returned is in dword
> * units regardless of the ASIC-dependent doorbell size.
> */
> - return kfd->doorbell_id_offset +
> + return kfd->doorbell_base_dw_offset +
> process->doorbell_index
> * kfd_doorbell_process_slice(kfd) / sizeof(u32) +
> doorbell_id * kfd->device_info->doorbell_size / sizeof(u32);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> index 62db4d20ed32..7c561c98f2e2 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> @@ -238,9 +238,9 @@ struct kfd_dev {
> * KFD. It is aligned for mapping
> * into user mode
> */
> - size_t doorbell_id_offset; /* Doorbell offset (from KFD doorbell
> - * to HW doorbell, GFX reserved some
> - * at the start)
> + size_t doorbell_base_dw_offset; /* Doorbell dword offset (from KFD
> + * doorbell to PCI doorbell bar,
> + * GFX reserved some at the start)
> */
> u32 __iomem *doorbell_kernel_ptr; /* This is a pointer for a doorbells
> * page used by kernel queue
> @@ -821,7 +821,7 @@ void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr);
> u32 read_kernel_doorbell(u32 __iomem *db);
> void write_kernel_doorbell(void __iomem *db, u32 value);
> void write_kernel_doorbell64(void __iomem *db, u64 value);
> -unsigned int kfd_doorbell_id_to_offset(struct kfd_dev *kfd,
> +unsigned int kfd_get_doorbell_dw_offset_from_bar(struct kfd_dev *kfd,
> struct kfd_process *process,
> unsigned int doorbell_id);
> phys_addr_t kfd_get_process_doorbells(struct kfd_dev *dev,
More information about the amd-gfx
mailing list