OSDN Git Service

drm/amdgpu: use %pad format string for dma_addr_t
authorArnd Bergmann <arnd@arndb.de>
Mon, 22 May 2023 11:50:31 +0000 (13:50 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 14:50:55 +0000 (10:50 -0400)
DMA addresses can be shorter than u64, which results in a broken debug output:

drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c: In function 'amdgpu_gart_table_ram_alloc':
drivers/gpu/drm/amd/amdgpu/amdgpu.h:41:22: error: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'dma_addr_t' {aka 'unsigned int'} [-Werror=format=]
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c:146:9: note: in expansion of macro 'dev_info'
  146 |         dev_info(adev->dev, "%s dma_addr:%llx\n", __func__, dma_addr);

Use the special %pad format string and pass the DMA address by reference.

Fixes: c9a502e981a9 ("drm/amdgpu: Allocate GART table in RAM for AMD APU")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c

index a070adf..73b8cca 100644 (file)
@@ -143,7 +143,7 @@ int amdgpu_gart_table_ram_alloc(struct amdgpu_device *adev)
                return -EFAULT;
        }
 
-       dev_info(adev->dev, "%s dma_addr:%llx\n", __func__, dma_addr);
+       dev_info(adev->dev, "%s dma_addr:%pad\n", __func__, &dma_addr);
        /* Create SG table */
        sg = kmalloc(sizeof(*sg), GFP_KERNEL);
        if (!sg) {