[igt-dev] [PATCH i-g-t 30/31] tools/perf: Choose the right card

Kamil Konieczny kamil.konieczny at linux.intel.com
Thu Feb 16 19:39:12 UTC 2023


Hi Umesh,

On 2023-02-14 at 16:46:47 -0800, Umesh Nerlige Ramappa wrote:
> Choose the right dri card to open for perf recorder.
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> ---
>  tools/i915-perf/i915_perf_recorder.c | 18 ++++++++----------
>  1 file changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/i915-perf/i915_perf_recorder.c b/tools/i915-perf/i915_perf_recorder.c
> index ee8a288d..9337da12 100644
> --- a/tools/i915-perf/i915_perf_recorder.c
> +++ b/tools/i915-perf/i915_perf_recorder.c
> @@ -241,10 +241,10 @@ read_device_param(const char *stem, int id, const char *param)
>  }
>  
>  static int
> -find_intel_render_node(void)
> +find_intel_card_node(void)
>  {
> -	for (int i = 128; i < (128 + 16); i++) {
> -		if (read_device_param("renderD", i, "vendor") == 0x8086)
> +	for (int i = 0; i < 128; i++) {
> +		if (read_device_param("card", i, "vendor") == 0x8086)

These looks like a fix. Btw why do we stick to first card only ?
May you instroduce params for a tool and use N-th card ?
Is OA useable for only one card at a moment ?

Regards,
Kamil

>  			return i;
>  	}
>  
> @@ -273,20 +273,18 @@ open_render_node(uint32_t *devid, int card)
>  	char *name;
>  	int ret;
>  	int fd;
> -	int render;
>  
>  	if (card < 0) {
> -		render = find_intel_render_node();
> -		if (render < 0)
> +		card = find_intel_card_node();
> +
> +		if (card < 0)
>  			return -1;
> -	} else {
> -		render = 128 + card;
>  	}
>  
> -	ret = asprintf(&name, "/dev/dri/renderD%u", render);
> +	ret = asprintf(&name, "/dev/dri/card%u", card);
>  	assert(ret != -1);
>  
> -	*devid = read_device_param("renderD", render, "device");
> +	*devid = read_device_param("card", card, "device");
>  
>  	fd = open(name, O_RDWR);
>  	free(name);
> -- 
> 2.36.1
> 


More information about the igt-dev mailing list