ALSA: hda - Allow power_save_controller option override DCAPS
Change the power_save_controller option to bint from bool so that user can override the runtime PM capability bit and force to enable or disable the runtime PM. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
					parent
					
						
							
								f4f0a8c478
							
						
					
				
			
			
				commit
				
					
						6ab317419c
					
				
			
		
					 2 changed files with 7 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -890,8 +890,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
 | 
			
		|||
    enable_msi	- Enable Message Signaled Interrupt (MSI) (default = off)
 | 
			
		||||
    power_save	- Automatic power-saving timeout (in second, 0 =
 | 
			
		||||
		disable)
 | 
			
		||||
    power_save_controller - Reset HD-audio controller in power-saving mode
 | 
			
		||||
		(default = on)
 | 
			
		||||
    power_save_controller - Support runtime D3 of HD-audio controller
 | 
			
		||||
		(-1 = on for supported chip (default), false = off,
 | 
			
		||||
		 true = force to on even for unsupported hardware)
 | 
			
		||||
    align_buffer_size - Force rounding of buffer/period sizes to multiples
 | 
			
		||||
    		      of 128 bytes. This is more efficient in terms of memory
 | 
			
		||||
		      access but isn't required by the HDA spec and prevents
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -134,8 +134,8 @@ MODULE_PARM_DESC(power_save, "Automatic power-saving timeout "
 | 
			
		|||
 * this may give more power-saving, but will take longer time to
 | 
			
		||||
 * wake up.
 | 
			
		||||
 */
 | 
			
		||||
static bool power_save_controller = 1;
 | 
			
		||||
module_param(power_save_controller, bool, 0644);
 | 
			
		||||
static int power_save_controller = -1;
 | 
			
		||||
module_param(power_save_controller, bint, 0644);
 | 
			
		||||
MODULE_PARM_DESC(power_save_controller, "Reset controller in power save mode.");
 | 
			
		||||
#endif /* CONFIG_PM */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2711,6 +2711,8 @@ static int azx_runtime_idle(struct device *dev)
 | 
			
		|||
	struct snd_card *card = dev_get_drvdata(dev);
 | 
			
		||||
	struct azx *chip = card->private_data;
 | 
			
		||||
 | 
			
		||||
	if (power_save_controller > 0)
 | 
			
		||||
		return 0;
 | 
			
		||||
	if (!power_save_controller ||
 | 
			
		||||
	    !(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
 | 
			
		||||
		return -EBUSY;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue