[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