[PATCH 2/2] drm/radeon: Use vmalloc_array and vcalloc to simplify code

Qianfeng Rong posted 2 patches 1 month, 2 weeks ago
[PATCH 2/2] drm/radeon: Use vmalloc_array and vcalloc to simplify code
Posted by Qianfeng Rong 1 month, 2 weeks ago
Use vcalloc() and vmalloc_array() to simplify the functions
radeon_gart_init().

vmalloc_array() is also optimized better, resulting in less instructions
being used.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
---
 drivers/gpu/drm/radeon/radeon_gart.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
index 4bb242437ff6..acd89a20f272 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -346,14 +346,14 @@ int radeon_gart_init(struct radeon_device *rdev)
 	DRM_INFO("GART: num cpu pages %u, num gpu pages %u\n",
 		 rdev->gart.num_cpu_pages, rdev->gart.num_gpu_pages);
 	/* Allocate pages table */
-	rdev->gart.pages = vzalloc(array_size(sizeof(void *),
-				   rdev->gart.num_cpu_pages));
+	rdev->gart.pages = vcalloc(rdev->gart.num_cpu_pages,
+				   sizeof(void *));
 	if (rdev->gart.pages == NULL) {
 		radeon_gart_fini(rdev);
 		return -ENOMEM;
 	}
-	rdev->gart.pages_entry = vmalloc(array_size(sizeof(uint64_t),
-						    rdev->gart.num_gpu_pages));
+	rdev->gart.pages_entry = vmalloc_array(rdev->gart.num_gpu_pages,
+					       sizeof(uint64_t));
 	if (rdev->gart.pages_entry == NULL) {
 		radeon_gart_fini(rdev);
 		return -ENOMEM;
-- 
2.34.1
Re: [PATCH 2/2] drm/radeon: Use vmalloc_array and vcalloc to simplify code
Posted by Alex Deucher 1 month, 2 weeks ago
Applied.  Thanks!

Alex

On Sat, Aug 16, 2025 at 10:54 AM Qianfeng Rong <rongqianfeng@vivo.com> wrote:
>
> Use vcalloc() and vmalloc_array() to simplify the functions
> radeon_gart_init().
>
> vmalloc_array() is also optimized better, resulting in less instructions
> being used.
>
> Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
> ---
>  drivers/gpu/drm/radeon/radeon_gart.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
> index 4bb242437ff6..acd89a20f272 100644
> --- a/drivers/gpu/drm/radeon/radeon_gart.c
> +++ b/drivers/gpu/drm/radeon/radeon_gart.c
> @@ -346,14 +346,14 @@ int radeon_gart_init(struct radeon_device *rdev)
>         DRM_INFO("GART: num cpu pages %u, num gpu pages %u\n",
>                  rdev->gart.num_cpu_pages, rdev->gart.num_gpu_pages);
>         /* Allocate pages table */
> -       rdev->gart.pages = vzalloc(array_size(sizeof(void *),
> -                                  rdev->gart.num_cpu_pages));
> +       rdev->gart.pages = vcalloc(rdev->gart.num_cpu_pages,
> +                                  sizeof(void *));
>         if (rdev->gart.pages == NULL) {
>                 radeon_gart_fini(rdev);
>                 return -ENOMEM;
>         }
> -       rdev->gart.pages_entry = vmalloc(array_size(sizeof(uint64_t),
> -                                                   rdev->gart.num_gpu_pages));
> +       rdev->gart.pages_entry = vmalloc_array(rdev->gart.num_gpu_pages,
> +                                              sizeof(uint64_t));
>         if (rdev->gart.pages_entry == NULL) {
>                 radeon_gart_fini(rdev);
>                 return -ENOMEM;
> --
> 2.34.1
>