From: Randy Dunlap <[email protected]> Add HD audio power_save suggestion comparable to AC97 power_save.
Signed-off-by: Randy Dunlap <[email protected]> --- misctips.c | 39 +++++++++++++++++++++++++++++++++++++++ powertop.c | 1 + powertop.h | 1 + 3 files changed, 41 insertions(+) --- powertop-1.11.orig/powertop.c +++ powertop-1.11/powertop.c @@ -1138,6 +1138,7 @@ int main(int argc, char **argv) if (maxsleep > 15.0) suggest_hpet(); suggest_ac97_powersave(); + suggest_hda_powersave(); suggest_wireless_powersave(); suggest_ondemand_governor(); suggest_noatime(); --- powertop-1.11.orig/powertop.h +++ powertop-1.11/powertop.h @@ -50,6 +50,7 @@ void suggest_bluetooth_off(void); void suggest_nmi_watchdog(void); void suggest_hpet(void); void suggest_ac97_powersave(void); +void suggest_hda_powersave(void); void suggest_wireless_powersave(void); void suggest_ondemand_governor(void); void suggest_noatime(void); --- powertop-1.11.orig/misctips.c +++ powertop-1.11/misctips.c @@ -176,6 +176,45 @@ void suggest_ac97_powersave(void) fclose(file); } +void hda_power_on(void) +{ + FILE *file; + + file = fopen("/sys/module/snd_hda_intel/parameters/power_save", "w"); + if (!file) + return; + fprintf(file,"1"); + fclose(file); + if (access("/dev/dsp", F_OK)) + return; + file = fopen("/dev/dsp", "w"); + if (file) { + fprintf(file,"1"); + fclose(file); + } +} + +void suggest_hda_powersave(void) +{ + FILE *file; + char buffer[1024]; + + file = fopen("/sys/module/snd_hda_intel/parameters/power_save", "r"); + if (!file) + return; + memset(buffer, 0, 1024); + if (!fgets(buffer, 1023, file)) { + fclose(file); + return; + } + if (buffer[0]=='0') { + add_suggestion( _("Suggestion: enable HD audio powersave mode by executing the following command:\n" + " echo 1 > /sys/module/snd_hda_intel/parameters/power_save \n" + "or by passing power_save=1 as module parameter."), 25, 'A', _(" A - Turn HD audio powersave on "), hda_power_on); + } + fclose(file); +} + void noatime_on(void) { system("/bin/mount -o remount,noatime,nodiratime /"); --- ~Randy LPC 2009, Sept. 23-25, Portland, Oregon http://linuxplumbersconf.org/2009/ _______________________________________________ Discuss mailing list [email protected] http://lists.lesswatts.org/listinfo/discuss
