mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 03:58:27 +00:00 
			
		
		
		
	overlay: Distinguish the root debugfs path and our dri node
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
		
							parent
							
								
									9574cb1a3d
								
							
						
					
					
						commit
						b22e90bc8b
					
				@ -26,10 +26,12 @@
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include "debugfs.h"
 | 
			
		||||
 | 
			
		||||
char debugfs_path[128];
 | 
			
		||||
char debugfs_dri_path[128];
 | 
			
		||||
 | 
			
		||||
int debugfs_init(void)
 | 
			
		||||
{
 | 
			
		||||
@ -52,15 +54,16 @@ int debugfs_init(void)
 | 
			
		||||
		return errno;
 | 
			
		||||
 | 
			
		||||
find_minor:
 | 
			
		||||
	strcpy(debugfs_path, path);
 | 
			
		||||
	for (n = 0; n < 16; n++) {
 | 
			
		||||
		int len = sprintf(debugfs_path, "%s/dri/%d", path, n);
 | 
			
		||||
		sprintf(debugfs_path + len, "/i915_error_state");
 | 
			
		||||
		if (stat(debugfs_path, &st) == 0) {
 | 
			
		||||
			debugfs_path[len] = '\0';
 | 
			
		||||
		int len = sprintf(debugfs_dri_path, "%s/dri/%d", path, n);
 | 
			
		||||
		sprintf(debugfs_dri_path + len, "/i915_error_state");
 | 
			
		||||
		if (stat(debugfs_dri_path, &st) == 0) {
 | 
			
		||||
			debugfs_dri_path[len] = '\0';
 | 
			
		||||
			return 0;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	debugfs_path[0] = '\0';
 | 
			
		||||
	debugfs_dri_path[0] = '\0';
 | 
			
		||||
	return ENOENT;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -26,6 +26,8 @@
 | 
			
		||||
#define DEBUGFS_H
 | 
			
		||||
 | 
			
		||||
extern char debugfs_path[128];
 | 
			
		||||
extern char debugfs_dri_path[128];
 | 
			
		||||
 | 
			
		||||
int debugfs_init(void);
 | 
			
		||||
 | 
			
		||||
#endif /* DEBUGFS_H */
 | 
			
		||||
 | 
			
		||||
@ -53,7 +53,7 @@ int gem_objects_init(struct gem_objects *obj)
 | 
			
		||||
 | 
			
		||||
	memset(obj, 0, sizeof(*obj));
 | 
			
		||||
 | 
			
		||||
	sprintf(buf, "%s/i915_gem_objects", debugfs_path);
 | 
			
		||||
	sprintf(buf, "%s/i915_gem_objects", debugfs_dri_path);
 | 
			
		||||
	fd = open(buf, 0);
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return errno;
 | 
			
		||||
@ -99,7 +99,7 @@ int gem_objects_update(struct gem_objects *obj)
 | 
			
		||||
	freed = obj->comm;
 | 
			
		||||
	obj->comm = NULL;
 | 
			
		||||
 | 
			
		||||
	sprintf(buf, "%s/i915_gem_objects", debugfs_path);
 | 
			
		||||
	sprintf(buf, "%s/i915_gem_objects", debugfs_dri_path);
 | 
			
		||||
	fd = open(buf, 0);
 | 
			
		||||
	if (fd < 0) {
 | 
			
		||||
		ret = errno;
 | 
			
		||||
 | 
			
		||||
@ -38,7 +38,7 @@ int gpu_freq_init(struct gpu_freq *gf)
 | 
			
		||||
 | 
			
		||||
	memset(gf, 0, sizeof(*gf));
 | 
			
		||||
 | 
			
		||||
	sprintf(buf, "%s/i915_cur_delayinfo", debugfs_path);
 | 
			
		||||
	sprintf(buf, "%s/i915_cur_delayinfo", debugfs_dri_path);
 | 
			
		||||
	fd = open(buf, 0);
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return gf->error = errno;
 | 
			
		||||
@ -85,7 +85,7 @@ int gpu_freq_update(struct gpu_freq *gf)
 | 
			
		||||
	if (gf->error)
 | 
			
		||||
		return gf->error;
 | 
			
		||||
 | 
			
		||||
	sprintf(buf, "%s/i915_cur_delayinfo", debugfs_path);
 | 
			
		||||
	sprintf(buf, "%s/i915_cur_delayinfo", debugfs_dri_path);
 | 
			
		||||
	fd = open(buf, 0);
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return gf->error = errno;
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,7 @@ int power_init(struct power *power)
 | 
			
		||||
 | 
			
		||||
	memset(power, 0, sizeof(*power));
 | 
			
		||||
 | 
			
		||||
	sprintf(buf, "%s/i915_energy_uJ", debugfs_path);
 | 
			
		||||
	sprintf(buf, "%s/i915_energy_uJ", debugfs_dri_path);
 | 
			
		||||
	fd = open(buf, 0);
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return power->error = errno;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user