[PATCH i-g-t v1 1/4] lib: fixup print/scan formatting for files in lib

vitaly prosyak vprosyak at amd.com
Sat May 17 03:24:53 UTC 2025


Thanks Kamil for adding me.

On 2025-05-16 12:39, Kamil Konieczny wrote:
> Hi Jan,
> On 2025-05-16 at 11:58:08 +0000, Jan Sokolowski wrote:
>> Compiling on other architectures than x86-64 causes a lot
>> of print/scan formatting warnings.
>>
>> Fix formatting by using proper formatters, eg. PRIu64.
>>
>> Signed-off-by: Jan Sokolowski <jan.sokolowski at intel.com>
>> ---
>>  lib/amdgpu/amd_deadlock_helpers.c | 19 ++++++++++---------
>>  lib/igt_nouveau.c                 |  2 +-
>>  lib/igt_perf.c                    |  3 ++-
>>  lib/xe/xe_sriov_debugfs.c         | 18 +++++++++---------
>>  lib/xe/xe_sriov_provisioning.c    |  2 +-
> Could you split it into four groups: lib/amdgpu, nouveau, perf, xe_sriov
> and also add to Cc respective developers, here:
>
> for amdgpu
> 	Cc: George Zhang <george.zhang at amd.com>
> 	Cc: Vitaly Prosyak <vitaly.prosyak at amd.com>
> for nouveau:
> 	Cc: Lyude Paul <lyude at redhat.com>
> for igt_perf use: git log -- lib/igt_perf.c
> 	Cc: Riana Tauro <riana.tauro at intel.com>
> 	Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
> for xe_sriov:
> 	Cc: Lukasz Laguna <lukasz.laguna at intel.com>
> 	Cc: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
>
> or at least please add those dev to Cc when sending next version
> (if it will be needed).
>
> Regards,
> Kamil
>
>>  5 files changed, 23 insertions(+), 21 deletions(-)
>>
>> diff --git a/lib/amdgpu/amd_deadlock_helpers.c b/lib/amdgpu/amd_deadlock_helpers.c
>> index 98251061c..1fcaa6745 100644
>> --- a/lib/amdgpu/amd_deadlock_helpers.c
>> +++ b/lib/amdgpu/amd_deadlock_helpers.c
>> @@ -4,6 +4,7 @@
>>   */
>>  
>>  #include <amdgpu.h>
>> +#include <inttypes.h>
>>  #include "amdgpu_drm.h"
>>  #include "amd_PM4.h"
>>  #include "amd_sdma.h"
>> @@ -249,13 +250,13 @@ void amdgpu_wait_memory_helper(amdgpu_device_handle device_handle, unsigned int
>>  			if (support_page) {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  							0x3 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep ring: %ld and %ld enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>> +				igt_info("Disable other rings, keep ring: %" PRIu64 " and %" PRIu64 " enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>>  				ring_id++;
>>  
>>  			} else {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  							0x1 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep only ring: %ld enabled, cmd: %s\n", ring_id, cmd);
>> +				igt_info("Disable other rings, keep only ring: %" PRIu64 " enabled, cmd: %s\n", ring_id, cmd);
>>  			}
>>  			r = system(cmd);
>>  			igt_assert_eq(r, 0);
>> @@ -266,7 +267,7 @@ void amdgpu_wait_memory_helper(amdgpu_device_handle device_handle, unsigned int
>>  
>>  	/* recover the sched mask */
>>  	if (sched_mask > 1) {
>> -		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%lx > %s", sched_mask, sysfs);
>> +		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%" SCNx64 " > %s", sched_mask, sysfs);
>>  		r = system(cmd);
>>  		igt_assert_eq(r, 0);
>>  	}
>> @@ -523,12 +524,12 @@ void bad_access_ring_helper(amdgpu_device_handle device_handle, unsigned int cmd
>>  			if (support_page) {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  						0x3 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep ring: %ld and %ld enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>> +				igt_info("Disable other rings, keep ring: %" PRIu64 " and %" PRIu64 " enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>>  				ring_id++;
>>  			} else {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  						0x1 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep only ring: %ld enabled, cmd: %s\n", ring_id, cmd);
>> +				igt_info("Disable other rings, keep only ring: %" PRIu64 " enabled, cmd: %s\n", ring_id, cmd);
>>  			}
>>  
>>  			r = system(cmd);
>> @@ -540,7 +541,7 @@ void bad_access_ring_helper(amdgpu_device_handle device_handle, unsigned int cmd
>>  
>>  	/* recover the sched mask */
>>  	if (sched_mask > 1) {
>> -		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%lx > %s", sched_mask, sysfs);
>> +		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%" PRIx64 " > %s", sched_mask, sysfs);
>>  		r = system(cmd);
>>  		igt_assert_eq(r, 0);
>>  	}
>> @@ -592,12 +593,12 @@ void amdgpu_hang_sdma_ring_helper(amdgpu_device_handle device_handle, uint8_t ha
>>  			if (support_page) {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  						0x3 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep ring: %ld and %ld enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>> +				igt_info("Disable other rings, keep ring: %" PRIu64 " and %" PRIu64 " enabled, cmd: %s\n", ring_id, ring_id + 1, cmd);
>>  				ring_id++;
>>  			} else {
>>  				snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%x > %s",
>>  						0x1 << ring_id, sysfs);
>> -				igt_info("Disable other rings, keep only ring: %ld enabled, cmd: %s\n", ring_id, cmd);
>> +				igt_info("Disable other rings, keep only ring: %" PRIu64 " enabled, cmd: %s\n", ring_id, cmd);
>>  			}
>>  
>>  			r = system(cmd);
>> @@ -609,7 +610,7 @@ void amdgpu_hang_sdma_ring_helper(amdgpu_device_handle device_handle, uint8_t ha
>>  
>>  	/* recover the sched mask */
>>  	if (sched_mask > 1) {
>> -		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%lx > %s", sched_mask, sysfs);
>> +		snprintf(cmd, sizeof(cmd) - 1, "sudo echo  0x%" SCNx64 " > %s", sched_mask, sysfs);
>>  		r = system(cmd);
>>  		igt_assert_eq(r, 0);
>>  	}

The amdgpu IGT changes looks good to me . Thanks!

    %ld → %" PRIu64 " (for ring_id)
    %lx → %" SCNx64 " (for sched_mask)
   Ensures portability across 32/64-bit systems.
   ring_id and sched_mask are uint64_t.

Reviewed-by Vitaly Prosyak <vitaly.prosyak at amd.com>

>> diff --git a/lib/igt_nouveau.c b/lib/igt_nouveau.c
>> index fdf6020a3..62a53c8b1 100644
>> --- a/lib/igt_nouveau.c
>> +++ b/lib/igt_nouveau.c
>> @@ -96,7 +96,7 @@ uint64_t igt_nouveau_get_block_height(uint64_t modifier)
>>  		gob_height = 4;
>>  		break;
>>  	default:
>> -		igt_fail_on_f(true, "Unknown GOB height/page kind generation 3 in modifier %lx\n",
>> +		igt_fail_on_f(true, "Unknown GOB height/page kind generation 3 in modifier %" PRIx64 "\n",
>>  			      modifier);
>>  		break;
>>  	}
>> diff --git a/lib/igt_perf.c b/lib/igt_perf.c
>> index fb2b73915..2b7170094 100644
>> --- a/lib/igt_perf.c
>> +++ b/lib/igt_perf.c
>> @@ -5,6 +5,7 @@
>>  #include <stdlib.h>
>>  #include <string.h>
>>  #include <sys/stat.h>
>> +#include <inttypes.h>
>>  #ifdef __linux__
>>  #include <sys/sysinfo.h>
>>  #include <sys/sysmacros.h>
>> @@ -157,7 +158,7 @@ int perf_event_config(const char *device, const char *event, uint64_t *config)
>>  		return -EINVAL;
>>  
>>  	buf[bytes] = '\0';
>> -	ret = sscanf(buf, "event=0x%lx", config);
>> +	ret = sscanf(buf, "event=0x%" SCNx64, config);
>>  	if (ret != 1)
>>  		return -EINVAL;
>>  
>> diff --git a/lib/xe/xe_sriov_debugfs.c b/lib/xe/xe_sriov_debugfs.c
>> index 8f30fa312..b81b3532a 100644
>> --- a/lib/xe/xe_sriov_debugfs.c
>> +++ b/lib/xe/xe_sriov_debugfs.c
>> @@ -105,18 +105,18 @@ static int parse_provisioned_range(const char *line,
>>  	switch (res) {
>>  	case XE_SRIOV_SHARED_RES_CONTEXTS:
>>  	case XE_SRIOV_SHARED_RES_DOORBELLS:
>> -		if (sscanf(line, "VF%u: %lu-%lu", &range->vf_id, &range->start, &range->end) == 3)
>> +		if (sscanf(line, "VF%u: %" SCNu64 "-%" SCNu64, &range->vf_id, &range->start, &range->end) == 3)
>>  			ret = 0;
>>  		break;
>>  	case XE_SRIOV_SHARED_RES_GGTT:
>> -		if (sscanf(line, "VF%u: %lx-%lx", &range->vf_id, &range->start, &range->end) == 3)
>> +		if (sscanf(line, "VF%u: %" SCNx64 "-%" SCNx64, &range->vf_id, &range->start, &range->end) == 3)
>>  			ret = 0;
>>  		break;
>>  	case XE_SRIOV_SHARED_RES_LMEM:
>>  		/* Convert to an inclusive range as is the case for other resources.
>>  		 * The start is always 0 and the end is the value read - 1.
>>  		 */
>> -		if (sscanf(line, "VF%u: %lu", &range->vf_id, &range->end) == 2)
>> +		if (sscanf(line, "VF%u: %" SCNu64, &range->vf_id, &range->end) == 2)
>>  			ret = 0;
>>  		if (!range->end)
>>  			return -1;
>> @@ -232,8 +232,8 @@ static int validate_vf_ids(enum xe_sriov_shared_res res,
>>  				  nr_ranges);
>>  			for (unsigned int i = 0; i < limit; i++) {
>>  				igt_debug((res == XE_SRIOV_SHARED_RES_GGTT) ?
>> -						  "%s:VF%u: %lx-%lx\n" :
>> -						  "%s:VF%u: %lu-%lu\n",
>> +						  "%s:VF%u: %" SCNx64 "-%" SCNx64 "\n" :
>> +						  "%s:VF%u: %" SCNx64 "-%" SCNx64 "\n",
>>  					  xe_sriov_shared_res_to_string(res),
>>  					  ranges[i].vf_id, ranges[i].start, ranges[i].end);
>>  			}
>> @@ -504,16 +504,16 @@ int __xe_sriov_vf_debugfs_get_selfconfig(int vf, enum xe_sriov_shared_res res,
>>  	while (getline(&line, &n, file) >= 0) {
>>  		switch (res) {
>>  		case XE_SRIOV_SHARED_RES_CONTEXTS:
>> -			ret = sscanf(line, "GuC contexts: %lu", value);
>> +			ret = sscanf(line, "GuC contexts: %" SCNu64, value);
>>  			break;
>>  		case XE_SRIOV_SHARED_RES_DOORBELLS:
>> -			ret = sscanf(line, "GuC doorbells: %lu", value);
>> +			ret = sscanf(line, "GuC doorbells: %" SCNu64, value);
>>  			break;
>>  		case XE_SRIOV_SHARED_RES_GGTT:
>> -			ret = sscanf(line, "GGTT size: %lu", value);
>> +			ret = sscanf(line, "GGTT size: %" SCNu64, value);
>>  			break;
>>  		case XE_SRIOV_SHARED_RES_LMEM:
>> -			ret = sscanf(line, "LMEM size: %lu", value);
>> +			ret = sscanf(line, "LMEM size: %" SCNu64, value);
>>  			break;
>>  		}
>>  
>> diff --git a/lib/xe/xe_sriov_provisioning.c b/lib/xe/xe_sriov_provisioning.c
>> index aa265247e..26b7ed8dd 100644
>> --- a/lib/xe/xe_sriov_provisioning.c
>> +++ b/lib/xe/xe_sriov_provisioning.c
>> @@ -75,7 +75,7 @@ static int append_range(struct xe_sriov_provisioned_range **ranges,
>>  
>>  	*ranges = new_ranges;
>>  	if (*nr_ranges < MAX_DEBUG_ENTRIES)
>> -		igt_debug("Found VF%u GGTT range [%#x-%#x] num_ptes=%ld\n",
>> +		igt_debug("Found VF%u GGTT range [%#x-%#x] num_ptes=%" PRIu32 "\n",
>>  			  vf_id, start, end,
>>  			  (end - start + sizeof(xe_ggtt_pte_t)) /
>>  			  sizeof(xe_ggtt_pte_t));
>> -- 
>> 2.34.1
>>


More information about the igt-dev mailing list