* [PATCH] drm/amdgpu: replace kcalloc() with kzalloc_objs()
@ 2026-09-19 19:14 Lalit Shankar Chowdhury
2026-09-19 20:08 ` [PATCH v2] " Lalit Shankar Chowdhury
0 siblings, 1 reply; 3+ messages in thread
From: Lalit Shankar Chowdhury @ 2026-09-19 19:14 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie, Simona Vetter,
open list:RADEON and AMDGPU DRM DRIVERS, open list:DRM DRIVERS,
open list
Cc: Lalit Shankar Chowdhury
Use kzalloc_objs() instead of kcalloc() to simplify object allocations.
No functional change.
Signed-off-by: Lalit Shankar Chowdhury <lalitshankarch@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
18 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
index 132d054900b5..3ffb0f5f7574 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
@@ -420,7 +420,7 @@ static ssize_t amdgpu_debugfs_gprwave_read(struct file *f, char __user *buf, siz
return r;
}
- data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
+ data = kzalloc_objs(*data, 1024);
if (!data) {
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
@@ -1267,7 +1267,7 @@ static ssize_t amdgpu_debugfs_gpr_read(struct file *f, char __user *buf,
thread = (*pos & GENMASK_ULL(59, 52)) >> 52;
bank = (*pos & GENMASK_ULL(61, 60)) >> 60;
- data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
+ data = kzalloc_objs(*data, 1024);
if (!data)
return -ENOMEM;
@@ -2035,7 +2035,7 @@ static int amdgpu_debugfs_ib_preempt(void *data, u64 val)
return -EBUSY;
length = ring->fence_drv.num_fences_mask + 1;
- fences = kcalloc(length, sizeof(void *), GFP_KERNEL);
+ fences = kzalloc_objs(*fences, length);
if (!fences)
return -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index 3043ad041bb4..017638dd5491 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -460,8 +460,8 @@ int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring)
ring->fence_drv.num_fences_mask = ring->num_hw_submission * 2 - 1;
spin_lock_init(&ring->fence_drv.lock);
- ring->fence_drv.fences = kcalloc(ring->num_hw_submission * 2, sizeof(void *),
- GFP_KERNEL);
+ ring->fence_drv.fences = kzalloc_objs(*ring->fence_drv.fences,
+ ring->num_hw_submission * 2);
if (!ring->fence_drv.fences)
return -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
index 363b99168478..94e39c486128 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
@@ -465,8 +465,8 @@ void amdgpu_jpeg_sysfs_reset_mask_fini(struct amdgpu_device *adev)
int amdgpu_jpeg_reg_dump_init(struct amdgpu_device *adev,
const struct amdgpu_hwip_reg_entry *reg, u32 count)
{
- adev->jpeg.ip_dump = kcalloc(adev->jpeg.num_jpeg_inst * count,
- sizeof(uint32_t), GFP_KERNEL);
+ adev->jpeg.ip_dump = kzalloc_objs(*adev->jpeg.ip_dump,
+ adev->jpeg.num_jpeg_inst * count);
if (!adev->jpeg.ip_dump) {
dev_err(adev->dev,
"Failed to allocate memory for JPEG IP Dump\n");
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index 1a86a47406b1..f257df1c39c3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -252,8 +252,8 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
}
adev->gfx.mec.mes_hung_db_array =
- kcalloc(amdgpu_mes_get_hung_queue_db_array_size(adev),
- sizeof(u32), GFP_KERNEL);
+ kzalloc_objs(*adev->gfx.mec.mes_hung_db_array,
+ amdgpu_mes_get_hung_queue_db_array_size(adev));
if (!adev->gfx.mec.mes_hung_db_array) {
r = -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
index 00798d80479f..6e8a0cf23d6d 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
@@ -4716,7 +4716,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -4729,7 +4729,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -4742,7 +4742,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 0ff5a80aa918..92ff34e38e74 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -1568,7 +1568,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1581,7 +1581,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -1594,7 +1594,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
index e2a81a55c63b..59b99dd37c58 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
@@ -1367,7 +1367,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1380,7 +1380,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -1393,7 +1393,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
index e49d8a79045c..db6b8d18bfab 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
@@ -1278,7 +1278,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
num_xcc = NUM_XCC(adev->gfx.xcc_mask);
- ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1291,7 +1291,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
index c3322058720f..2accca6552e2 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
@@ -2190,7 +2190,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -2203,7 +2203,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
index 522981fa182d..edf36e5a3b9f 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
@@ -946,7 +946,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
num_xcc = NUM_XCC(adev->gfx.xcc_mask);
- ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -959,7 +959,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
index 20c8ebf0e159..0160e0b05bf7 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
@@ -1926,7 +1926,7 @@ static int sdma_v4_0_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
index 6fe3d3d56c40..144280dc7583 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
@@ -1531,7 +1531,7 @@ static int sdma_v4_4_2_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
index 1ca0e7f65442..0a2acd7a5f2e 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
@@ -1434,7 +1434,7 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index 81f1e9882177..43aab715a061 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -1352,7 +1352,7 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
index cf3d2997fff8..92f5243e4a7f 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
@@ -1363,7 +1363,7 @@ static int sdma_v6_0_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
index 69cb89298a3e..2bf783422ec2 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
@@ -1345,7 +1345,7 @@ static int sdma_v7_0_sw_init(struct amdgpu_ip_block *ip_block)
if (r)
return r;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
index 18366e16ef3f..2d97fc9e0d66 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
@@ -1333,7 +1333,7 @@ static int sdma_v7_1_sw_init(struct amdgpu_ip_block *ip_block)
if (r)
return r;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
index e9d790914761..393de1399328 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
@@ -202,7 +202,7 @@ static int vcn_v1_0_sw_init(struct amdgpu_ip_block *ip_block)
r = jpeg_v1_0_sw_init(ip_block);
/* Allocate memory for VCN IP Dump buffer */
- ptr = kcalloc(adev->vcn.num_vcn_inst * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->vcn.num_vcn_inst * reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for VCN IP Dump\n");
adev->vcn.ip_dump = NULL;
--
2.53.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2] drm/amdgpu: replace kcalloc() with kzalloc_objs()
2026-09-19 19:14 [PATCH] drm/amdgpu: replace kcalloc() with kzalloc_objs() Lalit Shankar Chowdhury
@ 2026-09-19 20:08 ` Lalit Shankar Chowdhury
2026-09-21 21:53 ` Alex Deucher
0 siblings, 1 reply; 3+ messages in thread
From: Lalit Shankar Chowdhury @ 2026-09-19 20:08 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie, Simona Vetter,
open list:RADEON and AMDGPU DRM DRIVERS, open list:DRM DRIVERS,
open list
Cc: Lalit Shankar Chowdhury
Use kzalloc_objs() instead of kcalloc() to simplify object allocations.
Convert only the instances with sizeof() passed.
No functional change.
Signed-off-by: Lalit Shankar Chowdhury <lalitshankarch@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
19 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
index 132d054900b5..3ffb0f5f7574 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
@@ -420,7 +420,7 @@ static ssize_t amdgpu_debugfs_gprwave_read(struct file *f, char __user *buf, siz
return r;
}
- data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
+ data = kzalloc_objs(*data, 1024);
if (!data) {
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
@@ -1267,7 +1267,7 @@ static ssize_t amdgpu_debugfs_gpr_read(struct file *f, char __user *buf,
thread = (*pos & GENMASK_ULL(59, 52)) >> 52;
bank = (*pos & GENMASK_ULL(61, 60)) >> 60;
- data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
+ data = kzalloc_objs(*data, 1024);
if (!data)
return -ENOMEM;
@@ -2035,7 +2035,7 @@ static int amdgpu_debugfs_ib_preempt(void *data, u64 val)
return -EBUSY;
length = ring->fence_drv.num_fences_mask + 1;
- fences = kcalloc(length, sizeof(void *), GFP_KERNEL);
+ fences = kzalloc_objs(*fences, length);
if (!fences)
return -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index 3043ad041bb4..017638dd5491 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -460,8 +460,8 @@ int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring)
ring->fence_drv.num_fences_mask = ring->num_hw_submission * 2 - 1;
spin_lock_init(&ring->fence_drv.lock);
- ring->fence_drv.fences = kcalloc(ring->num_hw_submission * 2, sizeof(void *),
- GFP_KERNEL);
+ ring->fence_drv.fences = kzalloc_objs(*ring->fence_drv.fences,
+ ring->num_hw_submission * 2);
if (!ring->fence_drv.fences)
return -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
index 363b99168478..94e39c486128 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
@@ -465,8 +465,8 @@ void amdgpu_jpeg_sysfs_reset_mask_fini(struct amdgpu_device *adev)
int amdgpu_jpeg_reg_dump_init(struct amdgpu_device *adev,
const struct amdgpu_hwip_reg_entry *reg, u32 count)
{
- adev->jpeg.ip_dump = kcalloc(adev->jpeg.num_jpeg_inst * count,
- sizeof(uint32_t), GFP_KERNEL);
+ adev->jpeg.ip_dump = kzalloc_objs(*adev->jpeg.ip_dump,
+ adev->jpeg.num_jpeg_inst * count);
if (!adev->jpeg.ip_dump) {
dev_err(adev->dev,
"Failed to allocate memory for JPEG IP Dump\n");
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index 1a86a47406b1..f257df1c39c3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -252,8 +252,8 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
}
adev->gfx.mec.mes_hung_db_array =
- kcalloc(amdgpu_mes_get_hung_queue_db_array_size(adev),
- sizeof(u32), GFP_KERNEL);
+ kzalloc_objs(*adev->gfx.mec.mes_hung_db_array,
+ amdgpu_mes_get_hung_queue_db_array_size(adev));
if (!adev->gfx.mec.mes_hung_db_array) {
r = -ENOMEM;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 17db7264269e..34e1242d66ea 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -1571,8 +1571,8 @@ int amdgpu_vcn_ring_reset(struct amdgpu_ring *ring,
int amdgpu_vcn_reg_dump_init(struct amdgpu_device *adev,
const struct amdgpu_hwip_reg_entry *reg, u32 count)
{
- adev->vcn.ip_dump = kcalloc(adev->vcn.num_vcn_inst * count,
- sizeof(uint32_t), GFP_KERNEL);
+ adev->vcn.ip_dump = kzalloc_objs(*adev->vcn.ip_dump,
+ adev->vcn.num_vcn_inst * count);
if (!adev->vcn.ip_dump)
return -ENOMEM;
adev->vcn.reg_list = reg;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
index 00798d80479f..6e8a0cf23d6d 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
@@ -4716,7 +4716,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -4729,7 +4729,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -4742,7 +4742,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 0ff5a80aa918..92ff34e38e74 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -1568,7 +1568,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1581,7 +1581,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -1594,7 +1594,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
index e2a81a55c63b..59b99dd37c58 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
@@ -1367,7 +1367,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1380,7 +1380,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
@@ -1393,7 +1393,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
adev->gfx.me.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
adev->gfx.ip_dump_gfx_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
index e49d8a79045c..db6b8d18bfab 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
@@ -1278,7 +1278,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
num_xcc = NUM_XCC(adev->gfx.xcc_mask);
- ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -1291,7 +1291,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
index c3322058720f..2accca6552e2 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
@@ -2190,7 +2190,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
uint32_t *ptr;
uint32_t inst;
- ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -2203,7 +2203,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
index 522981fa182d..edf36e5a3b9f 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
@@ -946,7 +946,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
num_xcc = NUM_XCC(adev->gfx.xcc_mask);
- ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
adev->gfx.ip_dump_core = NULL;
@@ -959,7 +959,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
adev->gfx.mec.num_queue_per_pipe;
- ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
adev->gfx.ip_dump_compute_queues = NULL;
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
index 20c8ebf0e159..0160e0b05bf7 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
@@ -1926,7 +1926,7 @@ static int sdma_v4_0_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
index 6fe3d3d56c40..144280dc7583 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
@@ -1531,7 +1531,7 @@ static int sdma_v4_4_2_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
index 1ca0e7f65442..0a2acd7a5f2e 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
@@ -1434,7 +1434,7 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index 81f1e9882177..43aab715a061 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -1352,7 +1352,7 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
index cf3d2997fff8..92f5243e4a7f 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
@@ -1363,7 +1363,7 @@ static int sdma_v6_0_sw_init(struct amdgpu_ip_block *ip_block)
}
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
index 69cb89298a3e..2bf783422ec2 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
@@ -1345,7 +1345,7 @@ static int sdma_v7_0_sw_init(struct amdgpu_ip_block *ip_block)
if (r)
return r;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
index 18366e16ef3f..2d97fc9e0d66 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
@@ -1333,7 +1333,7 @@ static int sdma_v7_1_sw_init(struct amdgpu_ip_block *ip_block)
if (r)
return r;
/* Allocate memory for SDMA IP Dump buffer */
- ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
if (ptr)
adev->sdma.ip_dump = ptr;
else
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
index e9d790914761..393de1399328 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
@@ -202,7 +202,7 @@ static int vcn_v1_0_sw_init(struct amdgpu_ip_block *ip_block)
r = jpeg_v1_0_sw_init(ip_block);
/* Allocate memory for VCN IP Dump buffer */
- ptr = kcalloc(adev->vcn.num_vcn_inst * reg_count, sizeof(uint32_t), GFP_KERNEL);
+ ptr = kzalloc_objs(*ptr, adev->vcn.num_vcn_inst * reg_count);
if (!ptr) {
DRM_ERROR("Failed to allocate memory for VCN IP Dump\n");
adev->vcn.ip_dump = NULL;
--
2.53.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] drm/amdgpu: replace kcalloc() with kzalloc_objs()
2026-09-19 20:08 ` [PATCH v2] " Lalit Shankar Chowdhury
@ 2026-09-21 21:53 ` Alex Deucher
0 siblings, 0 replies; 3+ messages in thread
From: Alex Deucher @ 2026-09-21 21:53 UTC (permalink / raw)
To: Lalit Shankar Chowdhury
Cc: Alex Deucher, Christian König, David Airlie, Simona Vetter,
open list:RADEON and AMDGPU DRM DRIVERS, open list:DRM DRIVERS,
open list
Applied. Thanks!
On Mon, Sep 21, 2026 at 3:31 AM Lalit Shankar Chowdhury
<lalitshankarch@gmail.com> wrote:
>
> Use kzalloc_objs() instead of kcalloc() to simplify object allocations.
> Convert only the instances with sizeof() passed.
>
> No functional change.
>
> Signed-off-by: Lalit Shankar Chowdhury <lalitshankarch@gmail.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
> 19 files changed, 34 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
> index 132d054900b5..3ffb0f5f7574 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
> @@ -420,7 +420,7 @@ static ssize_t amdgpu_debugfs_gprwave_read(struct file *f, char __user *buf, siz
> return r;
> }
>
> - data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
> + data = kzalloc_objs(*data, 1024);
> if (!data) {
> pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
> amdgpu_virt_disable_access_debugfs(adev);
> @@ -1267,7 +1267,7 @@ static ssize_t amdgpu_debugfs_gpr_read(struct file *f, char __user *buf,
> thread = (*pos & GENMASK_ULL(59, 52)) >> 52;
> bank = (*pos & GENMASK_ULL(61, 60)) >> 60;
>
> - data = kcalloc(1024, sizeof(*data), GFP_KERNEL);
> + data = kzalloc_objs(*data, 1024);
> if (!data)
> return -ENOMEM;
>
> @@ -2035,7 +2035,7 @@ static int amdgpu_debugfs_ib_preempt(void *data, u64 val)
> return -EBUSY;
>
> length = ring->fence_drv.num_fences_mask + 1;
> - fences = kcalloc(length, sizeof(void *), GFP_KERNEL);
> + fences = kzalloc_objs(*fences, length);
> if (!fences)
> return -ENOMEM;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> index 3043ad041bb4..017638dd5491 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
> @@ -460,8 +460,8 @@ int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring)
>
> ring->fence_drv.num_fences_mask = ring->num_hw_submission * 2 - 1;
> spin_lock_init(&ring->fence_drv.lock);
> - ring->fence_drv.fences = kcalloc(ring->num_hw_submission * 2, sizeof(void *),
> - GFP_KERNEL);
> + ring->fence_drv.fences = kzalloc_objs(*ring->fence_drv.fences,
> + ring->num_hw_submission * 2);
>
> if (!ring->fence_drv.fences)
> return -ENOMEM;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> index 363b99168478..94e39c486128 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
> @@ -465,8 +465,8 @@ void amdgpu_jpeg_sysfs_reset_mask_fini(struct amdgpu_device *adev)
> int amdgpu_jpeg_reg_dump_init(struct amdgpu_device *adev,
> const struct amdgpu_hwip_reg_entry *reg, u32 count)
> {
> - adev->jpeg.ip_dump = kcalloc(adev->jpeg.num_jpeg_inst * count,
> - sizeof(uint32_t), GFP_KERNEL);
> + adev->jpeg.ip_dump = kzalloc_objs(*adev->jpeg.ip_dump,
> + adev->jpeg.num_jpeg_inst * count);
> if (!adev->jpeg.ip_dump) {
> dev_err(adev->dev,
> "Failed to allocate memory for JPEG IP Dump\n");
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> index 1a86a47406b1..f257df1c39c3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> @@ -252,8 +252,8 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
> }
>
> adev->gfx.mec.mes_hung_db_array =
> - kcalloc(amdgpu_mes_get_hung_queue_db_array_size(adev),
> - sizeof(u32), GFP_KERNEL);
> + kzalloc_objs(*adev->gfx.mec.mes_hung_db_array,
> + amdgpu_mes_get_hung_queue_db_array_size(adev));
>
> if (!adev->gfx.mec.mes_hung_db_array) {
> r = -ENOMEM;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 17db7264269e..34e1242d66ea 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -1571,8 +1571,8 @@ int amdgpu_vcn_ring_reset(struct amdgpu_ring *ring,
> int amdgpu_vcn_reg_dump_init(struct amdgpu_device *adev,
> const struct amdgpu_hwip_reg_entry *reg, u32 count)
> {
> - adev->vcn.ip_dump = kcalloc(adev->vcn.num_vcn_inst * count,
> - sizeof(uint32_t), GFP_KERNEL);
> + adev->vcn.ip_dump = kzalloc_objs(*adev->vcn.ip_dump,
> + adev->vcn.num_vcn_inst * count);
> if (!adev->vcn.ip_dump)
> return -ENOMEM;
> adev->vcn.reg_list = reg;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> index 00798d80479f..6e8a0cf23d6d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> @@ -4716,7 +4716,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
> uint32_t *ptr;
> uint32_t inst;
>
> - ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -4729,7 +4729,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> @@ -4742,7 +4742,7 @@ static void gfx_v10_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
> adev->gfx.me.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
> adev->gfx.ip_dump_gfx_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> index 0ff5a80aa918..92ff34e38e74 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> @@ -1568,7 +1568,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
> uint32_t *ptr;
> uint32_t inst;
>
> - ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -1581,7 +1581,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> @@ -1594,7 +1594,7 @@ static void gfx_v11_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
> adev->gfx.me.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
> adev->gfx.ip_dump_gfx_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> index e2a81a55c63b..59b99dd37c58 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> @@ -1367,7 +1367,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
> uint32_t *ptr;
> uint32_t inst;
>
> - ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -1380,7 +1380,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> @@ -1393,7 +1393,7 @@ static void gfx_v12_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.me.num_me * adev->gfx.me.num_pipe_per_me *
> adev->gfx.me.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX Queues IP Dump\n");
> adev->gfx.ip_dump_gfx_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
> index e49d8a79045c..db6b8d18bfab 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
> @@ -1278,7 +1278,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
>
> num_xcc = NUM_XCC(adev->gfx.xcc_mask);
>
> - ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -1291,7 +1291,7 @@ static void gfx_v12_1_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> index c3322058720f..2accca6552e2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> @@ -2190,7 +2190,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
> uint32_t *ptr;
> uint32_t inst;
>
> - ptr = kcalloc(reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -2203,7 +2203,7 @@ static void gfx_v9_0_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> index 522981fa182d..edf36e5a3b9f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> @@ -946,7 +946,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
>
> num_xcc = NUM_XCC(adev->gfx.xcc_mask);
>
> - ptr = kcalloc(reg_count * num_xcc, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * num_xcc);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for GFX IP Dump\n");
> adev->gfx.ip_dump_core = NULL;
> @@ -959,7 +959,7 @@ static void gfx_v9_4_3_alloc_ip_dump(struct amdgpu_device *adev)
> inst = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec *
> adev->gfx.mec.num_queue_per_pipe;
>
> - ptr = kcalloc(reg_count * inst * num_xcc, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, reg_count * inst * num_xcc);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for Compute Queues IP Dump\n");
> adev->gfx.ip_dump_compute_queues = NULL;
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> index 20c8ebf0e159..0160e0b05bf7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> @@ -1926,7 +1926,7 @@ static int sdma_v4_0_sw_init(struct amdgpu_ip_block *ip_block)
> }
>
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
> index 6fe3d3d56c40..144280dc7583 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c
> @@ -1531,7 +1531,7 @@ static int sdma_v4_4_2_sw_init(struct amdgpu_ip_block *ip_block)
> }
>
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> index 1ca0e7f65442..0a2acd7a5f2e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> @@ -1434,7 +1434,7 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
> adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
>
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
> index 81f1e9882177..43aab715a061 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
> @@ -1352,7 +1352,7 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
> adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
>
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
> index cf3d2997fff8..92f5243e4a7f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
> @@ -1363,7 +1363,7 @@ static int sdma_v6_0_sw_init(struct amdgpu_ip_block *ip_block)
> }
>
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> index 69cb89298a3e..2bf783422ec2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
> @@ -1345,7 +1345,7 @@ static int sdma_v7_0_sw_init(struct amdgpu_ip_block *ip_block)
> if (r)
> return r;
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
> index 18366e16ef3f..2d97fc9e0d66 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
> @@ -1333,7 +1333,7 @@ static int sdma_v7_1_sw_init(struct amdgpu_ip_block *ip_block)
> if (r)
> return r;
> /* Allocate memory for SDMA IP Dump buffer */
> - ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->sdma.num_instances * reg_count);
> if (ptr)
> adev->sdma.ip_dump = ptr;
> else
> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> index e9d790914761..393de1399328 100644
> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> @@ -202,7 +202,7 @@ static int vcn_v1_0_sw_init(struct amdgpu_ip_block *ip_block)
> r = jpeg_v1_0_sw_init(ip_block);
>
> /* Allocate memory for VCN IP Dump buffer */
> - ptr = kcalloc(adev->vcn.num_vcn_inst * reg_count, sizeof(uint32_t), GFP_KERNEL);
> + ptr = kzalloc_objs(*ptr, adev->vcn.num_vcn_inst * reg_count);
> if (!ptr) {
> DRM_ERROR("Failed to allocate memory for VCN IP Dump\n");
> adev->vcn.ip_dump = NULL;
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-21 21:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-19 19:14 [PATCH] drm/amdgpu: replace kcalloc() with kzalloc_objs() Lalit Shankar Chowdhury
2026-09-19 20:08 ` [PATCH v2] " Lalit Shankar Chowdhury
2026-09-21 21:53 ` Alex Deucher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®