Hi all,
I am new to kernel work and am trying to understand the low power state of audio driver.
I am using ALC262 codec, hda_intel and 3.10 kernel code. In this codec, d3_stop_clk flag is not set. So in the code flow I was able to understand the following.
if (!codec->pm_down_notified && !bus->power_keep_link_on && (state & AC_PWRST_CLK_STOP_OK))
this particular condition in hda_power_work function fails, as power_keep_link_on flag is directly based on d3_stop_clk flag.
codec->d3_stop_clk = snd_hda_codec_get_supported_ps(codec, fg, AC_PWRST_CLKSTOP);
I modified the if condition to not check the power_keep_link_on flag. After this change the audio is consuming lesser power, but I am not able to see it going to suspend/runtime suspend.
*Please clarify what is happening when I modify the if condition and how audio device is consuming low power?*
*Also please help me understand, the significance of flags EPSS and D3_STOP_CLK and if they can be set by software code. *
Thanks, Gomathi