mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 12:07:12 +00:00 
			
		
		
		
	lib/igt_aux: move audio RPM code to igt_setup_runtime_pm()
If we don't enable audio runtime PM, the audio driver won't release its reference, the refcount won't ever become zero, so we will never actually runtime suspend. So move this code from pm_rpm.c to igt_aux.c, so kms_flip - and any other IGT test case using RPM - can benefit from it. Previously, if you ran pm_rpm before running the other tests - or if you just didn't have snd_hda_intel loaded - you wouldn't notice this bug. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78893 Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
		
							parent
							
								
									a06071c0cf
								
							
						
					
					
						commit
						ac2079596c
					
				@ -431,6 +431,20 @@ bool igt_setup_runtime_pm(void)
 | 
			
		||||
	if (pm_status_fd >= 0)
 | 
			
		||||
		return true;
 | 
			
		||||
 | 
			
		||||
	/* The Audio driver can get runtime PM references, so we need to make
 | 
			
		||||
	 * sure its runtime PM is enabled, so it can release the refs and
 | 
			
		||||
	 * actually enable us to runtime suspend. */
 | 
			
		||||
	fd = open("/sys/module/snd_hda_intel/parameters/power_save", O_WRONLY);
 | 
			
		||||
	if (fd >= 0) {
 | 
			
		||||
		igt_assert(write(fd, "1\n", 2) == 2);
 | 
			
		||||
		close(fd);
 | 
			
		||||
	}
 | 
			
		||||
	fd = open("/sys/bus/pci/devices/0000:00:03.0/power/control", O_WRONLY);
 | 
			
		||||
	if (fd >= 0) {
 | 
			
		||||
		igt_assert(write(fd, "auto\n", 5) == 5);
 | 
			
		||||
		close(fd);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Our implementation uses autosuspend. Try to set it to 0ms so the test
 | 
			
		||||
	 * suite goes faster and we have a higher probability of triggering race
 | 
			
		||||
	 * conditions. */
 | 
			
		||||
 | 
			
		||||
@ -697,18 +697,6 @@ static void setup_non_graphics_runtime_pm(void)
 | 
			
		||||
		close(fd);
 | 
			
		||||
	}
 | 
			
		||||
	free(file_name);
 | 
			
		||||
 | 
			
		||||
	/* Audio runtime PM policies. */
 | 
			
		||||
	fd = open("/sys/module/snd_hda_intel/parameters/power_save", O_WRONLY);
 | 
			
		||||
	if (fd >= 0) {
 | 
			
		||||
		igt_assert(write(fd, "1\n", 2) == 2);
 | 
			
		||||
		close(fd);
 | 
			
		||||
	}
 | 
			
		||||
	fd = open("/sys/bus/pci/devices/0000:00:03.0/power/control", O_WRONLY);
 | 
			
		||||
	if (fd >= 0) {
 | 
			
		||||
		igt_assert(write(fd, "auto\n", 5) == 5);
 | 
			
		||||
		close(fd);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void setup_environment(void)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user