You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(45) |
Jul
(114) |
Aug
(354) |
Sep
(165) |
Oct
(168) |
Nov
(408) |
Dec
(66) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(43) |
Feb
(28) |
Mar
(11) |
Apr
(14) |
May
(43) |
Jun
(65) |
Jul
(30) |
Aug
(59) |
Sep
(271) |
Oct
(158) |
Nov
(41) |
Dec
(12) |
2002 |
Jan
(4) |
Feb
|
Mar
|
Apr
(1) |
May
(4) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
(1) |
Mar
|
Apr
(58) |
May
(15) |
Jun
(19) |
Jul
(46) |
Aug
(15) |
Sep
(2) |
Oct
(34) |
Nov
|
Dec
|
2004 |
Jan
|
Feb
(12) |
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: sven d. <sv...@us...> - 2003-10-12 07:28:56
|
Update of /cvsroot/powertweak/powertweak/distro/debian In directory sc8-pr-cvs1:/tmp/cvs-serv17782/debian Modified Files: copyright Log Message: updated some old email and web addresses Index: copyright =================================================================== RCS file: /cvsroot/powertweak/powertweak/distro/debian/copyright,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- copyright 27 Aug 2001 12:36:54 -0000 1.7 +++ copyright 12 Oct 2003 07:28:51 -0000 1.8 @@ -1,9 +1,9 @@ This package was debianized by Sudhakar Chandrasekharan <th...@ne...> on Mon, 5 Jun 2000 11:01:42 -0700. -It was downloaded from http://www.powertweak.org +It was downloaded from http://powertweak.sourceforge.net -Upstream Author: Dave Jones <da...@po...> +Upstream Author: Dave Jones <da...@co...> Copyright: powertweak is released under the GNU General Public License (GPL). |
From: sven d. <sv...@us...> - 2003-10-12 07:28:56
|
Update of /cvsroot/powertweak/powertweak In directory sc8-pr-cvs1:/tmp/cvs-serv17782 Modified Files: AUTHORS README Log Message: updated some old email and web addresses Index: AUTHORS =================================================================== RCS file: /cvsroot/powertweak/powertweak/AUTHORS,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- AUTHORS 8 Jul 2003 11:37:51 -0000 1.9 +++ AUTHORS 12 Oct 2003 07:28:51 -0000 1.10 @@ -59,19 +59,13 @@ D: RPM Maintainer (SuSE) N: Dave Jones -E: da...@su... -W: http://www.suse.de/~davej +E: da...@co... +W: http://www.codemonkey.org.uk D: Started the ball rolling. D: PCI, CPU, hdparm, CDROM & Elevator backends. D: GTK GUI, daemon<->UI comms D: Powertweak-Linux mailing list administration. -D: Web pages for www.powertweak.org -S: c/o SuSE Linux UK Ltd -S: The Kinetic Centre -S: Theobald Street -S: Borehamwood -S: Herts, WD6 4PJ -S: United Kingdom +D: Web pages for powertweak.sourceforge.net N: Martin Mares E: mj...@at... Index: README =================================================================== RCS file: /cvsroot/powertweak/powertweak/README,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- README 6 Aug 2003 09:52:37 -0000 1.15 +++ README 12 Oct 2003 07:28:51 -0000 1.16 @@ -31,7 +31,7 @@ Related web sites: - Powertweak Linux home page. - http://www.powertweak.org (http://powertweak.sourceforge.net) + http://powertweak.sourceforge.net http://www.sourceforge.net/projects/powertweak - Main Powertweak home page (Links to Windows & BeOS versions) |
From: sven d. <sv...@us...> - 2003-10-12 07:17:02
|
Update of /cvsroot/powertweak/powertweak/src/backends/Elevator In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/Elevator Modified Files: elevatortweaks.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: elevatortweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/Elevator/elevatortweaks.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- elevatortweaks.c 1 Oct 2001 03:29:22 -0000 1.13 +++ elevatortweaks.c 12 Oct 2003 07:16:53 -0000 1.14 @@ -167,8 +167,8 @@ tweak = alloc_Elevator_tweak(TYPE_SLIDER); private = (struct private_Elevator_data *) tweak->PrivateData; private->type = ELV_READ; - tweak->MinValue = 0; - tweak->MaxValue = 128000; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 128000; snprintf (Buffer, CONFIGNAME_MAXSIZE-1,"%s Read Latency", MenuName); tweak->WidgetText = strdup (Buffer); tweak->Description = strdup ("The read latency parameter controls\n\ @@ -184,8 +184,8 @@ tweak = alloc_Elevator_tweak(TYPE_SLIDER); private = (struct private_Elevator_data *) tweak->PrivateData; private->type = ELV_WRITE; - tweak->MinValue = 0; - tweak->MaxValue = 128000; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 128000; snprintf (Buffer,CONFIGNAME_MAXSIZE-1, "%s Write Latency", MenuName); tweak->WidgetText = strdup (Buffer); tweak->Description = strdup ("The write latency parameter controls\n\ @@ -203,8 +203,8 @@ tweak = alloc_Elevator_tweak(TYPE_SLIDER); private = (struct private_Elevator_data *) tweak->PrivateData; private->type = ELV_BOMB; - tweak->MinValue = 1; - tweak->MaxValue = 128; + tweak->MinValue.intVal = 1; + tweak->MaxValue.intVal = 128; snprintf (Buffer,CONFIGNAME_MAXSIZE-1, "%s Max bomb segments", MenuName); tweak->WidgetText = strdup (Buffer); tweak->Description = strdup ("The 'Max bomb segments' parameter\n\ |
From: sven d. <sv...@us...> - 2003-10-12 07:17:02
|
Update of /cvsroot/powertweak/powertweak/src/backends/PCI In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/PCI Modified Files: latency.c xml.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: latency.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/PCI/latency.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- latency.c 7 Nov 2001 00:36:13 -0000 1.3 +++ latency.c 12 Oct 2003 07:16:53 -0000 1.4 @@ -49,8 +49,8 @@ /* Set the methods and register the tweak */ tweak->WidgetText = strdup("Latency"); - tweak->MinValue = 0; - tweak->MaxValue = 248; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 248; max_lat = pci_read_byte(dev,PCI_MAX_LAT); min_lat = pci_read_byte(dev,PCI_MIN_GNT); Index: xml.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/PCI/xml.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- xml.c 21 Apr 2003 11:37:06 -0000 1.18 +++ xml.c 12 Oct 2003 07:16:53 -0000 1.19 @@ -81,11 +81,34 @@ match_record3("TYPE", tweak->Type, string_widget_to_int); if (tweak->Type == TYPE_CHECKBOX || tweak->Type == TYPE_INFO_BOOL) { - tweak->MinValue = 0; - tweak->MaxValue = 1; - } else { - match_record3("LOW", tweak->MinValue, atoi); - match_record3("HIGH", tweak->MaxValue, atoi); + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 1; + } + else + { + char *endptr; + + match_record("LOW",tweak->MinValue.strVal); + match_record("HIGH",tweak->MaxValue.strVal); + + if (tweak->MinValue.strVal != NULL) + { + tweak->MinValue.intVal = strtol(tweak->MinValue.strVal, &endptr, 10); + if (endptr == '\0') + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MinValue.strVal); + tweak->MinValue.strVal = NULL; + } + } + if (tweak->MaxValue.strVal) + { + tweak->MaxValue.intVal = strtol(tweak->MaxValue.strVal, &endptr, 10); + if (endptr == '\0') + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MaxValue.strVal); + tweak->MaxValue.strVal = NULL; + } + } } match_record("DESCRIPTION", tweak->Description); match_record3("BITMASK", private->Mask, bitstring_to_long); |
From: sven d. <sv...@us...> - 2003-10-12 07:17:00
|
Update of /cvsroot/powertweak/powertweak/xml/proc In directory sc8-pr-cvs1:/tmp/cvs-serv16293/xml/proc Modified Files: cpufreq.xml Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: cpufreq.xml =================================================================== RCS file: /cvsroot/powertweak/powertweak/xml/proc/cpufreq.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cpufreq.xml 11 Oct 2003 13:28:24 -0000 1.2 +++ cpufreq.xml 12 Oct 2003 07:16:54 -0000 1.3 @@ -6,32 +6,32 @@ <!-- /sys/cpufreq entries (2.6.x) --> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>CPU info Max Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/cpuinfo_max_freq</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq</FILE> <DESCRIPTION>minimum operating frequency the processor can run at(in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>CPU info Min Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/cpuinfo_min_freq</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq</FILE> <DESCRIPTION>maximum operating frequency the processor can run at(in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling driver</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_driver</CONFIGNAME> @@ -42,8 +42,8 @@ </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Available cpufreq governors</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_available_governors</CONFIGNAME> @@ -54,8 +54,8 @@ </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling governor</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_governor</CONFIGNAME> @@ -66,38 +66,38 @@ </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Max Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_max_freq</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq</FILE> <DESCRIPTION>maximum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Min Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_min_freq</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq</FILE> <DESCRIPTION>minimum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>selected Scaling Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_setspeed</CONFIGNAME> <TYPE>SPINBUTTON</TYPE> - <LOW>sys/cpufreq/scaling_min_freq</LOW> - <HIGH>sys/cpufreq/scaling_max_freq</HIGH> + <LOW>sys/cpufreq/scaling_min_freq</LOW> + <HIGH>sys/cpufreq/scaling_max_freq</HIGH> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</FILE> <DESCRIPTION>current frequency for userspace governor</DESCRIPTION> @@ -106,38 +106,38 @@ <!-- /proc/cpufreq entries (2.4.x) --> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Max Frequency</WIDGETTEXT> <CONFIGNAME>proc/speed-max</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/proc/sys/cpu/cpu0/speed-max</FILE> <DESCRIPTION>maximum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Min Frequency</WIDGETTEXT> <CONFIGNAME>proc/speed-min</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>INFOINT</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/proc/sys/cpu/cpu0/speed-min</FILE> <DESCRIPTION>minimum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> - <MENU>Kernel</MENU> - <SUBMENU>Linux</SUBMENU> + <MENU>Hardware</MENU> + <SUBMENU>CPU0</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>selected Scaling Frequency</WIDGETTEXT> <CONFIGNAME>proc/speed</CONFIGNAME> <TYPE>SPINBUTTON</TYPE> - <LOW>proc/speed-min</LOW> - <HIGH>proc/speed-max</HIGH> + <LOW>proc/speed-min</LOW> + <HIGH>proc/speed-max</HIGH> <ELEMENT>-1</ELEMENT> <FILE>/proc/sys/cpu/cpu0/speed</FILE> <DESCRIPTION>current frequency for userspace governor</DESCRIPTION> |
From: sven d. <sv...@us...> - 2003-10-12 07:17:00
|
Update of /cvsroot/powertweak/powertweak/src/include In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/include Modified Files: cvsversion.h powertweak.h Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: cvsversion.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/include/cvsversion.h,v retrieving revision 1.114 retrieving revision 1.115 diff -u -r1.114 -r1.115 --- cvsversion.h 11 Oct 2003 07:33:37 -0000 1.114 +++ cvsversion.h 12 Oct 2003 07:16:54 -0000 1.115 @@ -5,4 +5,4 @@ #ifndef CVSID #define CVSID "$Revision$\n$Date$" #endif -/* Sat Oct 11 14:54:41 EST 2003 */ +/* Sat Oct 11 19:44:32 EST 2003 */ Index: powertweak.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/include/powertweak.h,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- powertweak.h 19 Jun 2003 09:34:00 -0000 1.69 +++ powertweak.h 12 Oct 2003 07:16:54 -0000 1.70 @@ -106,8 +106,9 @@ int Type; /* Type of tweak: (See #defines above) */ - unsigned int MinValue; /* Minimum value, types 2 and 3 only */ - unsigned int MaxValue; /* Maximum value, types 2 and 3 only */ + /* Maximum value (with possiblity of named values - strVal refers to the configName of another tweak), types 2 and 3 only */ + value_t MinValue; + value_t MaxValue; /* Methods */ change_fn *ChangeValue; /* Function pointer for callback */ |
From: sven d. <sv...@us...> - 2003-10-12 07:17:00
|
Update of /cvsroot/powertweak/powertweak/src/libpowertweak In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/libpowertweak Modified Files: libpowertweak.c misc.c socketlib.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: libpowertweak.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/libpowertweak/libpowertweak.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- libpowertweak.c 8 Jul 2003 11:42:12 -0000 1.43 +++ libpowertweak.c 12 Oct 2003 07:16:54 -0000 1.44 @@ -145,8 +145,24 @@ printf ("\n"); printspaces (level); - printf ("MinValue: %d\t", tweak->MinValue); - printf ("MaxValue: %d\n", tweak->MaxValue); + + /*TODO: this should use GetValueInt && GetValueString*/ + if (tweak->MinValue.strVal == NULL) + { + printf ("MinValue: %d\t", tweak->MinValue.intVal); + } + else + { + printf ("MinValue: %s\t", tweak->MinValue.strVal); + } + if (tweak->MaxValue.strVal == NULL) + { + printf ("MaxValue: %d\t", tweak->MaxValue.intVal); + } + else + { + printf ("MaxValue: %s\t", tweak->MaxValue.strVal); + } printspaces (level); printf ("fnChangeValue: %p\t", (void*)tweak->ChangeValue); printf ("fnGetValue: %p\t", (void*)tweak->GetValue); Index: misc.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/libpowertweak/misc.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- misc.c 8 Jul 2003 11:42:12 -0000 1.40 +++ misc.c 12 Oct 2003 07:16:54 -0000 1.41 @@ -65,9 +65,9 @@ if ((tweak->Type != TYPE_SPINBOX) && (tweak->Type != TYPE_SLIDER)) return 1; - if (get_value_int(NewValue) < tweak->MinValue) + if (get_value_int(NewValue) < tweak->MinValue.intVal) return 0; - if (get_value_int(NewValue) > tweak->MaxValue) + if (get_value_int(NewValue) > tweak->MaxValue.intVal) return 0; @@ -98,6 +98,9 @@ if (strcasecmp (text, "INFOSTRING") == 0) return TYPE_INFO_STRING; + if (strcasecmp (text, "INFOINT") == 0) + return TYPE_INFO_INT; + if (strcasecmp (text, "COMBO") == 0) return TYPE_COMBO; @@ -188,6 +191,8 @@ } release_value(&tweak->TempValue);/*SVEN - err huh? there is a comment in powertweak.h that says this does not get done here.*/ release_value(&tweak->OrigValue); + release_value(&tweak->MaxValue); + release_value(&tweak->MinValue); } struct tweak *alloc_tweak(int type) Index: socketlib.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/libpowertweak/socketlib.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- socketlib.c 2 Nov 2001 22:01:05 -0000 1.1 +++ socketlib.c 12 Oct 2003 07:16:54 -0000 1.2 @@ -103,8 +103,8 @@ send_string(fd, tweak->Description); send_string(fd, tweak->ConfigName); send_int(fd, tweak->Type); - send_int(fd, tweak->MinValue); - send_int(fd, tweak->MaxValue); + send_value(fd, tweak->MinValue); + send_value(fd, tweak->MaxValue); } static void receive_blob(int fd, void ** data, int *size) @@ -254,8 +254,8 @@ tweak->Description=receive_string(fd); tweak->ConfigName=receive_string(fd); tweak->Type=receive_int(fd); - tweak->MinValue=receive_int(fd); - tweak->MaxValue=receive_int(fd); + tweak->MinValue =receive_value(fd); + tweak->MaxValue =receive_value(fd); return tweak; } |
From: sven d. <sv...@us...> - 2003-10-12 07:17:00
|
Update of /cvsroot/powertweak/powertweak/src/backends/hdparm In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/hdparm Modified Files: info.c tweaks.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: info.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/info.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- info.c 11 Oct 2003 07:33:37 -0000 1.20 +++ info.c 12 Oct 2003 07:16:53 -0000 1.21 @@ -256,8 +256,8 @@ #ifdef HDIO_GET_ACOUSTIC tweak = alloc_hdparm_tweak (DeviceName, "Acoustic (128=quiet ... 254=fast)", HD_GET_ACOUSTIC, TYPE_SLIDER); - tweak->MinValue = 128; - tweak->MaxValue = 254; + tweak->MinValue.intVal = 128; + tweak->MaxValue.intVal = 254; tweak->GetValueRaw = &hdparmGetAcousticRaw; #ifdef HDIO_SET_ACOUSTIC tweak->ChangeValue = &hdparmChangeAcoustic; Index: tweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/tweaks.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- tweaks.c 11 Oct 2003 07:33:37 -0000 1.6 +++ tweaks.c 12 Oct 2003 07:16:53 -0000 1.7 @@ -150,8 +150,8 @@ Under rare circumstances, such failures can result in massive filesystem corruption. ");*/ /*TODO: valid values are 0,1,2,4,8,16,32... (and the hardware can ignore some of them)*/ - tweak->MinValue = 0; - tweak->MaxValue = 32; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal= 32; tweak->GetValueRaw = getRawHD_DMA_Setting; tweak->ChangeValue = changeHD_DMA_Setting; tweak->GetValueRaw(tweak);/*TODO: what about the return*/ @@ -164,8 +164,8 @@ "for most purposes, but in a system where most file accesses are random seeks, a smaller setting " "might provide better performance. Also, many IDE drives also have a separate builtin read-ahead " "function, which alleviates the need for a filesystem read-ahead in many situations."); - tweak->MinValue = 0; - tweak->MaxValue = 256; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 256; tweak->GetValueRaw = getRawHD_DMA_Setting; tweak->ChangeValue = changeHD_DMA_Setting; tweak->GetValueRaw(tweak);/*TODO: what about the return*/ |
From: sven d. <sv...@us...> - 2003-10-12 07:17:00
|
Update of /cvsroot/powertweak/powertweak/src/backends/proc In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/proc Modified Files: methods.c xml.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: methods.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/proc/methods.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- methods.c 8 Jul 2003 11:42:12 -0000 1.10 +++ methods.c 12 Oct 2003 07:16:54 -0000 1.11 @@ -87,10 +87,10 @@ } /* write actual value to proc here */ - if (tweak->Type == TYPE_INFO_STRING) - { - /*SVEN need a TYPE_EDIT_STRING*/ +/*SVEN need a TYPE_EDIT_STRING*/ /* write_string_to_proc_file(pvt->Filename,pvt->Field,value.strVal);*/ + if ((tweak->Type == TYPE_INFO_STRING) || (tweak->Type == TYPE_INFO_INT) || (tweak->Type == TYPE_INFO_BOOL)) + {/*TODO: is there are 'is_readonly' call? */ } else { Index: xml.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/proc/xml.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- xml.c 8 Jul 2003 11:42:12 -0000 1.21 +++ xml.c 12 Oct 2003 07:16:54 -0000 1.22 @@ -144,11 +144,34 @@ match_record3("ELEMENT",private->Field,atoi); if (tweak->Type == TYPE_CHECKBOX || tweak->Type == TYPE_INFO_BOOL) { - tweak->MinValue = 0; - tweak->MaxValue = 1; - } else { - match_record3("LOW",tweak->MinValue,atoi); - match_record3("HIGH",tweak->MaxValue,atoi); + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 1; + } + else + { + char *endptr; + + match_record("LOW",tweak->MinValue.strVal); + match_record("HIGH",tweak->MaxValue.strVal); + + if (tweak->MinValue.strVal != NULL) + { + tweak->MinValue.intVal = strtol(tweak->MinValue.strVal, &endptr, 10); + if (endptr != tweak->MinValue.strVal) + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MinValue.strVal); + tweak->MinValue.strVal = NULL; + } + } + if (tweak->MaxValue.strVal) + { + tweak->MaxValue.intVal = strtol(tweak->MaxValue.strVal, &endptr, 10); + if (endptr != tweak->MaxValue.strVal) + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MaxValue.strVal); + tweak->MaxValue.strVal = NULL; + } + } } match_record3("BITMASK",private->Mask,bitstring_to_long); match_record3("ONBITS",private->OnMask,bitstring_to_long); |
From: sven d. <sv...@us...> - 2003-10-12 07:16:59
|
Update of /cvsroot/powertweak/powertweak/src/backends/sonypi In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/sonypi Modified Files: sonypitweaks.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: sonypitweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/sonypi/sonypitweaks.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- sonypitweaks.c 1 Oct 2001 03:25:42 -0000 1.8 +++ sonypitweaks.c 12 Oct 2003 07:16:54 -0000 1.9 @@ -140,8 +140,8 @@ tweak = alloc_sonypi_tweak(TYPE_SPINBOX); private = (struct private_sonypi_data *) tweak->PrivateData; set_value_int (private->value, brightness); - tweak->MinValue = 0; - tweak->MaxValue = 255; + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 255; snprintf (Buffer, CONFIGNAME_MAXSIZE-1,"LCD brightness"); tweak->WidgetText = strdup (Buffer); tweak->Description = strdup ("This controls the brightness of\n\ |
From: sven d. <sv...@us...> - 2003-10-12 07:16:58
|
Update of /cvsroot/powertweak/powertweak/src/backends/CPU/x86/PowerNow In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/CPU/x86/PowerNow Modified Files: powernow.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: powernow.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/CPU/x86/PowerNow/powernow.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- powernow.c 19 Oct 2001 01:23:12 -0000 1.6 +++ powernow.c 12 Oct 2003 07:16:53 -0000 1.7 @@ -83,8 +83,8 @@ /* Fill the tweak structure */ tweak->WidgetText = strdup("PowerNow CPU frequency (Mhz)"); - tweak->MinValue = 200; - tweak->MaxValue = 600; + tweak->MinValue.intVal = 200; + tweak->MaxValue.intVal = 600; /* methods */ tweak->Destroy = &PowerNOW_tweak_destructor; |
From: sven d. <sv...@us...> - 2003-10-12 07:16:58
|
Update of /cvsroot/powertweak/powertweak/src/backends/CPU/x86 In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/CPU/x86 Modified Files: xml.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: xml.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/CPU/x86/xml.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- xml.c 6 Aug 2003 12:16:41 -0000 1.41 +++ xml.c 12 Oct 2003 07:16:53 -0000 1.42 @@ -126,10 +126,11 @@ set_value_int (pvt->value, value); - if ((unsigned int) value > tweak->MaxValue) { + /*TODO: what about named Min/Max?*/ + if ((unsigned int) value > tweak->MaxValue.intVal) { printf ("CPU: Value for \"%s\" (%lld) exceeded max (%d), increasing.\n", - tweak->WidgetText, value, tweak->MaxValue); - tweak->MaxValue = value; + tweak->WidgetText, value, tweak->MaxValue.intVal); + tweak->MaxValue.intVal = value; } } return TRUE; @@ -226,11 +227,38 @@ } if (tweak->Type == TYPE_CHECKBOX || tweak->Type == TYPE_INFO_BOOL) { - tweak->MinValue = 0; - tweak->MaxValue = 1; - } else { - match_record3("LOW", tweak->MinValue, atoi); - match_record3("HIGH", tweak->MaxValue, atoi); + tweak->MinValue.intVal = 0; + tweak->MaxValue.intVal = 1; + } + else + { + char *endptr; +/* + match_record3("LOW",tweak->MinValue,atoi); + match_record3("HIGH",tweak->MaxValue,atoi); +*/ +/*TODO: i want to alias LOW and HIGH to a CONFIGNAME, which is then later linked to a number*/ + match_record("LOW",tweak->MinValue.strVal); + match_record("HIGH",tweak->MaxValue.strVal); + + if (tweak->MinValue.strVal != NULL) + { + tweak->MinValue.intVal = strtol(tweak->MinValue.strVal, &endptr, 10); + if (endptr == '\0') + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MinValue.strVal); + tweak->MinValue.strVal = NULL; + } + } + if (tweak->MaxValue.strVal) + { + tweak->MaxValue.intVal = strtol(tweak->MaxValue.strVal, &endptr, 10); + if (endptr == '\0') + {/*good conversion, don't need the strVal anymore*/ + free(tweak->MaxValue.strVal); + tweak->MaxValue.strVal = NULL; + } + } } match_record3("BITMASK", pvt->MSR_Mask, bitstring_to_long); |
From: sven d. <sv...@us...> - 2003-10-12 07:16:58
|
Update of /cvsroot/powertweak/powertweak/src/backends/CDROM In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/CDROM Modified Files: cdromtweaks.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: cdromtweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/CDROM/cdromtweaks.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- cdromtweaks.c 16 Sep 2001 02:17:42 -0000 1.14 +++ cdromtweaks.c 12 Oct 2003 07:16:53 -0000 1.15 @@ -72,8 +72,8 @@ while (fgets (Buffer, 80, procfd) != NULL) { if (strstr(Buffer, currentspeedtxt) != NULL) { sscanf (Buffer+24, "%d", ¤tspeed); /* value */ - sscanf (Buffer+40, "%d", &tweak->MinValue); /* min */ - sscanf (Buffer+56, "%d", &tweak->MaxValue); /* max */ + sscanf (Buffer+40, "%d", &tweak->MinValue.intVal); /* min */ + sscanf (Buffer+56, "%d", &tweak->MaxValue.intVal); /* max */ break; } } |
From: sven d. <sv...@us...> - 2003-10-12 07:16:58
|
Update of /cvsroot/powertweak/powertweak/src/backends/proc/misc In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/backends/proc/misc Modified Files: shm.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: shm.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/proc/misc/shm.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- shm.c 19 Oct 2001 02:29:36 -0000 1.7 +++ shm.c 12 Oct 2003 07:16:54 -0000 1.8 @@ -112,8 +112,8 @@ /* Fill the tweak structure */ shm->WidgetText = strdup("Maximum shared memory percentage"); - shm->MinValue = 0; - shm->MaxValue = 200; + shm->MinValue.intVal = 0; + shm->MaxValue.intVal = 200; /* methods */ @@ -156,4 +156,3 @@ { return SHMtweak(); } - |
From: sven d. <sv...@us...> - 2003-10-12 07:16:58
|
Update of /cvsroot/powertweak/powertweak/src/GTK In directory sc8-pr-cvs1:/tmp/cvs-serv16293/src/GTK Modified Files: tab.c Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: tab.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/GTK/tab.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- tab.c 11 Oct 2003 05:24:49 -0000 1.64 +++ tab.c 12 Oct 2003 07:16:53 -0000 1.65 @@ -88,9 +88,32 @@ label = gtk_label_new (tweak->WidgetText); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); - +/*TODO: the min and max should get updated if the named limit value changes*/ +/*TODO: there is obvious duplication with spin button that needs removing*/ + if (tweak->MinValue.strVal != NULL) + { + /*find the named tweak and use it's value..*/ + struct tweak *minTWeak = find_tweak_by_configname(tweak->MinValue.strVal); + if (minTWeak != NULL) + { + tweak->MinValue.intVal = minTWeak->GetValueInt (minTWeak); +/* log_message("found it (%s)(%i)\n", minTWeak->GetValueStr (minTWeak), maxTWeak->GetValueInt (minTWeak));*/ + } + log_message("%s named MinVal %s is %i \n", tweak->ConfigName, tweak->MinValue.strVal, tweak->MinValue.intVal); + } + if (tweak->MaxValue.strVal != NULL) + { + /*find the named tweak and use it's value..*/ + struct tweak *maxTWeak = find_tweak_by_configname(tweak->MaxValue.strVal); + if (maxTWeak != NULL) + { + tweak->MaxValue.intVal = maxTWeak->GetValueInt (maxTWeak); +/* log_message("found it (%s)(%i)\n", maxTWeak->GetValueStr (maxTWeak), maxTWeak->GetValueInt (maxTWeak));*/ + } + log_message("%s named MaxVal %s is %i\n", tweak->ConfigName, tweak->MaxValue.strVal, tweak->MaxValue.intVal); + } adj = (GtkAdjustment *) gtk_adjustment_new (tweak->GetValueInt (tweak), - tweak->MinValue, tweak->MaxValue, 1.0, 16.0, 0.0); + tweak->MinValue.intVal, tweak->MaxValue.intVal, 1.0, 16.0, 0.0); spinbutton = gtk_spin_button_new (adj, 1, 0); tweak->Widget = spinbutton; gtk_widget_set_usize (spinbutton, 100, 0); @@ -121,9 +144,31 @@ label = gtk_label_new (tweak->WidgetText); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); - +/*TODO: the min and max should get updated if the named limit value changes*/ + if (tweak->MinValue.strVal != NULL) + { + /*find the named tweak and use it's value..*/ + struct tweak *minTWeak = find_tweak_by_configname(tweak->MinValue.strVal); + if (minTWeak != NULL) + { + tweak->MinValue.intVal = minTWeak->GetValueInt (minTWeak); +/* log_message("found it (%s)(%i)\n", minTWeak->GetValueStr (minTWeak), maxTWeak->GetValueInt (minTWeak));*/ + } + log_message("%s named MinVal %s is %i \n", tweak->ConfigName, tweak->MinValue.strVal, tweak->MinValue.intVal); + } + if (tweak->MaxValue.strVal != NULL) + { + /*find the named tweak and use it's value..*/ + struct tweak *maxTWeak = find_tweak_by_configname(tweak->MaxValue.strVal); + if (maxTWeak != NULL) + { + tweak->MaxValue.intVal = maxTWeak->GetValueInt (maxTWeak); +/* log_message("found it (%s)(%i)\n", maxTWeak->GetValueStr (maxTWeak), maxTWeak->GetValueInt (maxTWeak));*/ + } + log_message("%s named MaxVal %s is %i\n", tweak->ConfigName, tweak->MaxValue.strVal, tweak->MaxValue.intVal); + } adj = (GtkAdjustment *) gtk_adjustment_new (tweak->GetValueInt (tweak), - tweak->MinValue, tweak->MaxValue, 1.0, 16.0, 0.0); + tweak->MinValue.intVal, tweak->MaxValue.intVal, 1.0, 16.0, 0.0); slider = gtk_hscale_new (adj); gtk_scale_set_digits (GTK_SCALE (slider), 0); tweak->Widget = adj; |
From: sven d. <sv...@us...> - 2003-10-12 07:16:57
|
Update of /cvsroot/powertweak/powertweak In directory sc8-pr-cvs1:/tmp/cvs-serv16293 Modified Files: TODO Log Message: added named min&max values so that I can have get the range for cpufreq scale_setspeed determined by the scale_speed_max values.. looks like i'm going to need to write a simple data entry gui that is generated by a dtd.. Index: TODO =================================================================== RCS file: /cvsroot/powertweak/powertweak/TODO,v retrieving revision 1.269 retrieving revision 1.270 diff -u -r1.269 -r1.270 --- TODO 10 Oct 2003 14:48:54 -0000 1.269 +++ TODO 12 Oct 2003 07:16:52 -0000 1.270 @@ -6,8 +6,9 @@ my thoughts are (completely out of development order) * lspowertweak - tree text output like gpowertweak, order by configname, filename.. etc - good for duplicate checking :) * grab lshw and dmdecode and update libdmi - * add a powertweakd --kill to stop the daemon + * get cpufreq working + * what do http://smartmontools.sourceforge.net/ && hddtemp do that we don't * fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=113935 by adding a check to see if powertweakd died, and therefore not restarting automatically? (with mail/syslog message to say so) - at the moment we can chack the .pid and pipe file, and the init.d script can use a different command line arg. also add a debug mode that woud give us an idea of what caused the crash. (and add configuration to stop it from being tried when you upgrade the package) * possibly also have a new version daemon start that does not load the previous settings until they have been checked out with the gui @@ -23,7 +24,6 @@ * bring up a dialog listing what will be changed when apply is hit. * get rid of root only restriction from gui * fix number field size (its too small) - * get cpufreq working * re-arrange CPU so that Pentium III etc is not a node in the tree (rather info in a tab) * thaht way we can mix info from libcpu, libdmi and libproc * if there are more than one cpu, use CPU0 etc..A |
From: sven d. <sv...@us...> - 2003-10-11 13:29:12
|
Update of /cvsroot/powertweak/powertweak/xml/proc In directory sc8-pr-cvs1:/tmp/cvs-serv1484 Modified Files: cpufreq.xml Log Message: spin edit for set_speed added proc for 2.4 - but its untested :( Index: cpufreq.xml =================================================================== RCS file: /cvsroot/powertweak/powertweak/xml/proc/cpufreq.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cpufreq.xml 11 Oct 2003 10:23:57 -0000 1.1 +++ cpufreq.xml 11 Oct 2003 13:28:24 -0000 1.2 @@ -33,24 +33,24 @@ <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> - <WIDGETTEXT>Available cpufreq governors</WIDGETTEXT> - <CONFIGNAME>sys/cpufreq/scaling_available_governors</CONFIGNAME> + <WIDGETTEXT>Scaling driver</WIDGETTEXT> + <CONFIGNAME>sys/cpufreq/scaling_driver</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> - <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors</FILE> - <DESCRIPTION>the CPUfreq governors available in this kerne</DESCRIPTION> + <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver</FILE> + <DESCRIPTION>loaded scaling driver</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> - <WIDGETTEXT>Scaling driver</WIDGETTEXT> - <CONFIGNAME>sys/cpufreq/scaling_driver</CONFIGNAME> + <WIDGETTEXT>Available cpufreq governors</WIDGETTEXT> + <CONFIGNAME>sys/cpufreq/scaling_available_governors</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> - <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver</FILE> - <DESCRIPTION>loaded scaling driver</DESCRIPTION> + <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors</FILE> + <DESCRIPTION>the CPUfreq governors available in this kerne</DESCRIPTION> </PROCENTRY> <PROCENTRY> @@ -95,10 +95,53 @@ <TAB>CpuFreq</TAB> <WIDGETTEXT>selected Scaling Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_setspeed</CONFIGNAME> - <TYPE>INFOSTRING</TYPE> + <TYPE>SPINBUTTON</TYPE> + <LOW>sys/cpufreq/scaling_min_freq</LOW> + <HIGH>sys/cpufreq/scaling_max_freq</HIGH> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</FILE> <DESCRIPTION>current frequency for userspace governor</DESCRIPTION> </PROCENTRY> + +<!-- /proc/cpufreq entries (2.4.x) --> + + <PROCENTRY> + <MENU>Kernel</MENU> + <SUBMENU>Linux</SUBMENU> + <TAB>CpuFreq</TAB> + <WIDGETTEXT>Scaling Max Frequency</WIDGETTEXT> + <CONFIGNAME>proc/speed-max</CONFIGNAME> + <TYPE>INFOSTRING</TYPE> + <ELEMENT>-1</ELEMENT> + <FILE>/proc/sys/cpu/cpu0/speed-max</FILE> + <DESCRIPTION>maximum policy frequency (in kHz)</DESCRIPTION> + </PROCENTRY> + + <PROCENTRY> + <MENU>Kernel</MENU> + <SUBMENU>Linux</SUBMENU> + <TAB>CpuFreq</TAB> + <WIDGETTEXT>Scaling Min Frequency</WIDGETTEXT> + <CONFIGNAME>proc/speed-min</CONFIGNAME> + <TYPE>INFOSTRING</TYPE> + <ELEMENT>-1</ELEMENT> + <FILE>/proc/sys/cpu/cpu0/speed-min</FILE> + <DESCRIPTION>minimum policy frequency (in kHz)</DESCRIPTION> + </PROCENTRY> + + <PROCENTRY> + <MENU>Kernel</MENU> + <SUBMENU>Linux</SUBMENU> + <TAB>CpuFreq</TAB> + <WIDGETTEXT>selected Scaling Frequency</WIDGETTEXT> + <CONFIGNAME>proc/speed</CONFIGNAME> + <TYPE>SPINBUTTON</TYPE> + <LOW>proc/speed-min</LOW> + <HIGH>proc/speed-max</HIGH> + <ELEMENT>-1</ELEMENT> + <FILE>/proc/sys/cpu/cpu0/speed</FILE> + <DESCRIPTION>current frequency for userspace governor</DESCRIPTION> + </PROCENTRY> + </PROCENTRIES> |
From: sven d. <sv...@us...> - 2003-10-11 10:24:00
|
Update of /cvsroot/powertweak/powertweak/xml/proc In directory sc8-pr-cvs1:/tmp/cvs-serv6557/proc Modified Files: Makefile.am Added Files: cpufreq.xml Log Message: initial single cpu readonly view of the 2.6 cpufreq info. not sure if powertweakd should set these values, or use cpufeqd.. --- NEW FILE --- <?xml version = "1.0" encoding ="UTF-8" standalone = "no"?> <!DOCTYPE PROCENTRIES SYSTEM "proc.dtd"> <PROCENTRIES> <!-- /sys/cpufreq entries (2.6.x) --> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>CPU info Max Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/cpuinfo_max_freq</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq</FILE> <DESCRIPTION>minimum operating frequency the processor can run at(in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>CPU info Min Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/cpuinfo_min_freq</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq</FILE> <DESCRIPTION>maximum operating frequency the processor can run at(in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Available cpufreq governors</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_available_governors</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors</FILE> <DESCRIPTION>the CPUfreq governors available in this kerne</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling driver</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_driver</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver</FILE> <DESCRIPTION>loaded scaling driver</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling governor</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_governor</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor</FILE> <DESCRIPTION>currently selected scaling governor</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Max Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_max_freq</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq</FILE> <DESCRIPTION>maximum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>Scaling Min Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_min_freq</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq</FILE> <DESCRIPTION>minimum policy frequency (in kHz)</DESCRIPTION> </PROCENTRY> <PROCENTRY> <MENU>Kernel</MENU> <SUBMENU>Linux</SUBMENU> <TAB>CpuFreq</TAB> <WIDGETTEXT>selected Scaling Frequency</WIDGETTEXT> <CONFIGNAME>sys/cpufreq/scaling_setspeed</CONFIGNAME> <TYPE>INFOSTRING</TYPE> <ELEMENT>-1</ELEMENT> <FILE>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</FILE> <DESCRIPTION>current frequency for userspace governor</DESCRIPTION> </PROCENTRY> </PROCENTRIES> Index: Makefile.am =================================================================== RCS file: /cvsroot/powertweak/powertweak/xml/proc/Makefile.am,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Makefile.am 8 Jul 2003 14:22:00 -0000 1.10 +++ Makefile.am 11 Oct 2003 10:23:57 -0000 1.11 @@ -10,7 +10,8 @@ kernel25.xml\ raid.xml\ tuxwebserv.xml\ - proc.xml + proc.xml\ + cpufreq.xml dtddir = @PT_DATADIR@/proc dtd_DATA = proc.dtd |
From: sven d. <sv...@us...> - 2003-10-11 08:05:22
|
Update of /cvsroot/powertweak/powertweak/src/daemon In directory sc8-pr-cvs1:/tmp/cvs-serv11162/src/daemon Modified Files: daemon.c Log Message: added powertweakd --kill-server to send SIGTERM to running server Index: daemon.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/daemon/daemon.c,v retrieving revision 1.99 retrieving revision 1.100 diff -u -r1.99 -r1.100 --- daemon.c 6 Jul 2003 23:03:06 -0000 1.99 +++ daemon.c 11 Oct 2003 08:05:18 -0000 1.100 @@ -36,6 +36,7 @@ static int dsocket; static char nodaemon = 0; static char showinfotweaks = TRUE; +static char killServer = FALSE; static char *profile_pattern = PROFILEDIR "*"; static char *config_path = "/etc/powertweak/tweaks"; /*SVEN - what are these doing here? both the client and the server need them*/ static char socketname[]="/var/run/powertweakd"; @@ -220,6 +221,7 @@ [ --profile-dir dir ] [ -p dir ] \ [ --no-daemon ] \ [ --no-info ] \ +[ --kill-server ] \ [ --version ]\n", program_name); } @@ -237,6 +239,8 @@ nodaemon = 1; else if (!strcmp(arg, "--no-info")) showinfotweaks = FALSE; + else if (!strcmp(arg, "--kill-server")) + killServer = TRUE; else if (!strcmp(arg, "--version")) { printf ("Powertweak " VERSION "\n" CVSID "\n"); exit (EXIT_SUCCESS); @@ -391,9 +395,32 @@ log_message ("Powertweak " VERSION "\n" CVSID "\n"); + if (killServer == TRUE) + {/*send a kill signal to the running daemon*/ + FILE *fp; + + fp = fopen(pidFile, "r"); + if (fp != NULL) + { + int pid; + + fscanf (fp,"%d", &pid); + (void) fclose(fp); + kill(pid, SIGTERM); + printf("terminate powertweakd signal sent to %d\n", pid); + } + else + { + printf("no powertweakd running (or %s missing)\n", pidFile); + } + + exit(0); + } + if (create_daemon()==FALSE) { log_message ("Daemon creation failed.\n"); + printf("Daemon creation failed.\n"); exit (-1); } |
From: sven d. <sv...@us...> - 2003-10-11 07:33:41
|
Update of /cvsroot/powertweak/powertweak/src/backends/hdparm In directory sc8-pr-cvs1:/tmp/cvs-serv5975/backends/hdparm Modified Files: hdparm.h info.c tweaks.c Log Message: add changing readahead and multiio access Index: hdparm.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/hdparm.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- hdparm.h 10 Oct 2003 14:48:54 -0000 1.7 +++ hdparm.h 11 Oct 2003 07:33:37 -0000 1.8 @@ -22,6 +22,7 @@ #define HD_GET_ACOUSTIC 10 #define HD_GET_APM 11 +#define HD_GET_READAHEAD 12 struct private_hdparm_data{ char *DeviceName; Index: info.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/info.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- info.c 11 Oct 2003 05:23:39 -0000 1.19 +++ info.c 11 Oct 2003 07:33:37 -0000 1.20 @@ -239,6 +239,8 @@ } free(geom); +/*TODO: add drive size in MB/GB... - use proc / sys to avoid duplicating the maths..*/ + bufptr = make_buffers (&hd); if (bufptr != NULL) { Index: tweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/tweaks.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- tweaks.c 10 Oct 2003 14:48:54 -0000 1.5 +++ tweaks.c 11 Oct 2003 07:33:37 -0000 1.6 @@ -15,6 +15,7 @@ #include <string.h> #include <assert.h> #include <linux/hdreg.h> +#include <linux/fs.h> #include <powertweak.h> #include <config.h> @@ -24,24 +25,6 @@ char *Disabled = "Disabled"; -/*struct tweak *createTWeak(char * TweakName, int TweakType, rawvalue_fn getValueRawFn, change_fn changeValueFn)*/ - -static char *makemulti(int n) -{ - char *buf; - - buf = malloc (32); - if (buf!=NULL) { - if (n==0) - snprintf (buf, 32, "No"); - else if (n==1) - snprintf (buf, 32, "Yes, 1 sector"); - else - snprintf (buf, 32, "Yes, %d sectors", n); - } - return buf; -} - int getRawHD_DMA_Setting(struct tweak *tweak) { int fd; @@ -69,26 +52,15 @@ break; case HD_GETMULT: { - struct hd_driveid hd; - int multi; - char *mult; - - memset(&hd, 0, sizeof(hd)); - ioctl (fd, HDIO_GET_IDENTITY, &hd); - ioctl (fd, HDIO_GET_MULTCOUNT, &multi); - mult = makemulti(multi); - if ((hd.max_multsect) && (mult!=NULL)) { - private->value.strVal = mult; - } - else - {/*TODO: reduce returns*/ - return_success = FALSE; - } + ioctl (fd, HDIO_GET_MULTCOUNT, &private->value.intVal); } break; case HD_GETUNMASK: ioctl (fd, HDIO_GET_UNMASKINTR, &private->value.intVal); break; + case HD_GET_READAHEAD: + ioctl (fd, BLKRAGET, &private->value.intVal); + break; default: assert(FALSE); return_success = FALSE; @@ -121,6 +93,12 @@ case HD_GETUNMASK: ioctl (fd, HDIO_SET_UNMASKINTR, private->value.intVal); break; + case HD_GETMULT: + ioctl (fd, HDIO_SET_MULTCOUNT, private->value.intVal); + break; + case HD_GET_READAHEAD: + ioctl (fd, BLKRASET, private->value.intVal); + break; default: assert(FALSE); } @@ -147,17 +125,51 @@ tweak->GetValueRaw(tweak);/*TODO: what about the return*/ RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type.");/*TODO: can we get Register to call GetValueRaw? */ + /*TODO: use a TYPE_GROUP_BOX with 4 exclusive options?*/ tweak = alloc_hdparm_tweak (DeviceName, "IO Mode", HD_GET32BIT, TYPE_INFO_STRING); tweak->GetValueRaw = getRawHD_DMA_Setting; /* tweak->ChangeValue = changeHD_DMA_Setting;*/ tweak->GetValueRaw(tweak);/*TODO: what about the return*/ RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); - tweak = alloc_hdparm_tweak (DeviceName, "Multisector", HD_GETMULT, TYPE_INFO_STRING); + tweak = alloc_hdparm_tweak (DeviceName, "Multisector I/O", HD_GETMULT, TYPE_SPINBOX); + tweak->Description = strdup(" A setting of 0 disables " + "this feature. Multiple sector mode (aka IDE Block Mode), is a feature of most mod-" + "ern IDE hard drives, permitting the transfer of multiple sectors per I/O interrupt," + "rather than the usual one sector per interrupt. When this feature is enabled, it" + "typically reduces operating system overhead for disk I/O by 30-50%. "); /* On many sys- + tems, it also provides increased data throughput of anywhere from 5% to 50%. Some + drives, however (most notably the WD Caviar series), seem to run slower with multi- + ple mode enabled. Your mileage may vary. Most drives support the minimum settings + of 2, 4, 8, or 16 (sectors). Larger settings may also be possible, depending on the + drive. A setting of 16 or 32 seems optimal on many systems. Western Digital recom- + mends lower settings of 4 to 8 on many of their drives, due tiny (32kB) drive + buffers and non-optimized buffering algorithms. The -i flag can be used to find the + maximum setting supported by an installed drive (look for MaxMultSect in the out- + put). Some drives claim to support multiple mode, but lose data at some settings. + Under rare circumstances, such failures can result in massive filesystem corruption. +");*/ +/*TODO: valid values are 0,1,2,4,8,16,32... (and the hardware can ignore some of them)*/ + tweak->MinValue = 0; + tweak->MaxValue = 32; tweak->GetValueRaw = getRawHD_DMA_Setting; -/* tweak->ChangeValue = changeHD_DMA_Setting;*/ + tweak->ChangeValue = changeHD_DMA_Setting; tweak->GetValueRaw(tweak);/*TODO: what about the return*/ RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); + + tweak = alloc_hdparm_tweak (DeviceName, "ReadAhead", HD_GET_READAHEAD, TYPE_SPINBOX); + tweak->Description = strdup("This is used to improve performance" + "in sequential reads of large files, by prefetching additional blocks in anticipation " + "of them being needed by the running task. A setting of 8 sectors (4KB) seems good " + "for most purposes, but in a system where most file accesses are random seeks, a smaller setting " + "might provide better performance. Also, many IDE drives also have a separate builtin read-ahead " + "function, which alleviates the need for a filesystem read-ahead in many situations."); + tweak->MinValue = 0; + tweak->MaxValue = 256; + tweak->GetValueRaw = getRawHD_DMA_Setting; + tweak->ChangeValue = changeHD_DMA_Setting; + tweak->GetValueRaw(tweak);/*TODO: what about the return*/ + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Misc features."); tweak = alloc_hdparm_tweak (DeviceName, "IRQ Unmasking", HD_GETUNMASK, TYPE_CHECKBOX); tweak->GetValueRaw = getRawHD_DMA_Setting; |
From: sven d. <sv...@us...> - 2003-10-11 07:33:41
|
Update of /cvsroot/powertweak/powertweak/src/include In directory sc8-pr-cvs1:/tmp/cvs-serv5975/include Modified Files: cvsversion.h Log Message: add changing readahead and multiio access Index: cvsversion.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/include/cvsversion.h,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- cvsversion.h 10 Oct 2003 14:48:54 -0000 1.113 +++ cvsversion.h 11 Oct 2003 07:33:37 -0000 1.114 @@ -5,4 +5,4 @@ #ifndef CVSID #define CVSID "$Revision$\n$Date$" #endif -/* Wed Aug 27 09:08:45 EST 2003 */ +/* Sat Oct 11 14:54:41 EST 2003 */ |
From: sven d. <sv...@us...> - 2003-10-11 05:24:52
|
Update of /cvsroot/powertweak/powertweak/src/GTK In directory sc8-pr-cvs1:/tmp/cvs-serv24651 Modified Files: gtkgui.h tab.c Log Message: un-grey out teak values in non-daemon mode (until i figure out why ChangeValue is NULL) Index: gtkgui.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/GTK/gtkgui.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- gtkgui.h 8 Jul 2003 11:42:12 -0000 1.15 +++ gtkgui.h 11 Oct 2003 05:24:49 -0000 1.16 @@ -31,5 +31,7 @@ extern void show_error (char *title, char *message); extern void NotImplementedYet(); extern void update_GTK_tree_values(struct tweak *tweak); + +extern int HaveDaemon; #endif Index: tab.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/GTK/tab.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- tab.c 6 Aug 2003 09:24:58 -0000 1.63 +++ tab.c 11 Oct 2003 05:24:49 -0000 1.64 @@ -444,7 +444,8 @@ assert (0); } - if ((tweak->ChangeValue == NULL) && (widget != NULL)) + /*TODO: why is ChangeValue NULL when in standalone mode?*/ + if (HaveDaemon && (tweak->ChangeValue == NULL) && (widget != NULL)) { gtk_widget_set_sensitive(widget, FALSE); } |
From: sven d. <sv...@us...> - 2003-10-11 05:23:42
|
Update of /cvsroot/powertweak/powertweak/src/backends/hdparm In directory sc8-pr-cvs1:/tmp/cvs-serv24571/hdparm Modified Files: info.c smart.c Log Message: moving tweaks to the tweaks tab Index: info.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/info.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- info.c 10 Oct 2003 14:48:54 -0000 1.18 +++ info.c 11 Oct 2003 05:23:39 -0000 1.19 @@ -262,7 +262,7 @@ #endif /*HDIO_SET_ACOUSTIC*/ if (tweak->GetValueRaw(tweak)) { - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Acoustic"); + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, "Tweaks", "Acoustic"); } else { @@ -275,19 +275,19 @@ tweak->GetValueRaw = &hdparmGetPowerModeRaw; if (tweak->GetValueRaw(tweak)) { - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, "Tweaks", "State"); /*add a button that should use the changevalue for DriveState (to send a standby command)*/ tweak = alloc_hdparm_tweak (DeviceName, "Request Standby", HD_GET_APM, TYPE_BUTTON); tweak->GetValueRaw = &hdparmGetPowerModeRaw; tweak->ChangeValue = &hdparmRequestStandBy; - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, "Tweaks", "State"); /*add a button that should use the changevalue for DriveState (to send a suspend command)*/ tweak = alloc_hdparm_tweak (DeviceName, "Request Suspend", HD_GET_APM, TYPE_BUTTON); tweak->GetValueRaw = &hdparmGetPowerModeRaw; tweak->ChangeValue = &hdparmRequestSuspend; - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, "Tweaks", "State"); } else { Index: smart.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/smart.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- smart.c 29 Sep 2001 18:14:44 -0000 1.21 +++ smart.c 11 Oct 2003 05:23:39 -0000 1.22 @@ -220,7 +220,7 @@ struct smart_private *pvt; char *Menu1 = "Hardware"; char *Menu2 = "Disk"; - char *Info = "Information"; + char *Info = "Tweaks"; int fd; fd = open(hddname,O_RDWR); |
From: sven d. <sv...@us...> - 2003-10-10 14:49:04
|
Update of /cvsroot/powertweak/powertweak/src/include In directory sc8-pr-cvs1:/tmp/cvs-serv3560/src/include Modified Files: cvsversion.h Log Message: refactor ioctl calls in hdparm backend to simplify change value code and begin to move mallocs in tweak-allocators so they can be more symetrical with tweak-destructors Index: cvsversion.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/include/cvsversion.h,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- cvsversion.h 6 Aug 2003 09:51:41 -0000 1.112 +++ cvsversion.h 10 Oct 2003 14:48:54 -0000 1.113 @@ -5,4 +5,4 @@ #ifndef CVSID #define CVSID "$Revision$\n$Date$" #endif -/* Wed Jul 23 23:08:19 EST 2003 */ +/* Wed Aug 27 09:08:45 EST 2003 */ |
From: sven d. <sv...@us...> - 2003-10-10 14:49:01
|
Update of /cvsroot/powertweak/powertweak/src/backends/hdparm In directory sc8-pr-cvs1:/tmp/cvs-serv3560/src/backends/hdparm Modified Files: hdparm.c hdparm.h info.c tweaks.c Log Message: refactor ioctl calls in hdparm backend to simplify change value code and begin to move mallocs in tweak-allocators so they can be more symetrical with tweak-destructors Index: hdparm.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/hdparm.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- hdparm.c 18 Apr 2003 11:59:26 -0000 1.11 +++ hdparm.c 10 Oct 2003 14:48:54 -0000 1.12 @@ -58,7 +58,7 @@ } -struct tweak *alloc_hdparm_tweak (char *devname, int type) +struct tweak *alloc_hdparm_tweak (char *devname, char *widgetName, int HD_GET_TYPE, int type) { struct tweak *tweak; struct private_hdparm_data *private; @@ -78,8 +78,12 @@ tweak->GetValue = &hdparm_get_value; tweak->GetValueRaw = NULL; tweak->ChangeValue = NULL; + tweak->WidgetText = strdup (widgetName); + private->Type = HD_GET_TYPE; private->DeviceName = strdup (devname); - return tweak; +/*CRASH private->value.intVal = -1; + private->value.strVal = NULL; +*/ return tweak; } @@ -100,7 +104,7 @@ if (fd != -1) { if (showinfo==TRUE) { Add_Info_Page (devs[i], devicebuf, fd); - Add_Tweak_Page (devs[i], devicebuf, fd); + Add_Tweak_Page (devs[i], devicebuf); } AddSmart(devs[i],devicebuf); close (fd); Index: hdparm.h =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/hdparm.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- hdparm.h 18 Apr 2003 11:59:26 -0000 1.6 +++ hdparm.h 10 Oct 2003 14:48:54 -0000 1.7 @@ -30,9 +30,9 @@ }; -struct tweak *alloc_hdparm_tweak (char *devname, int type); +struct tweak *alloc_hdparm_tweak (char *devname, char *widgetName, int HD_GET, int type); void hdparm_tweak_destructor (struct tweak *tweak); void Add_Info_Page (char *MenuName, char *DeviceName, int fd); -void Add_Tweak_Page (char *MenuName, char *DeviceName, int fd); +void Add_Tweak_Page (char *MenuName, char *DeviceName); void AddTo_hdparm_tree (char *MenuName, char *DeviceName, int fd); Index: info.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/info.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- info.c 6 Aug 2003 09:40:57 -0000 1.17 +++ info.c 10 Oct 2003 14:48:54 -0000 1.18 @@ -206,10 +206,8 @@ memset (&hd, 0, sizeof (hd)); id = ioctl (fd, HDIO_GET_IDENTITY, &hd); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Model"); + tweak = alloc_hdparm_tweak (DeviceName, "Model", HD_GETID, TYPE_INFO_STRING); private = (struct private_hdparm_data *) tweak->PrivateData; - private->Type = HD_GETID; if (id == -1) { /* Olde drive, can't ID it. */ private->value.strVal = strdup ("Legacy MFM/RLL drive"); @@ -219,30 +217,24 @@ private->value.strVal = strdup ((char *)hd.model); RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "ID."); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Firmware"); + tweak = alloc_hdparm_tweak (DeviceName, "Firmware", HD_GETFIRMWARE, TYPE_INFO_STRING); private = (struct private_hdparm_data *) tweak->PrivateData; private->value.strVal = malloc (9); strncpy (private->value.strVal, (char*)hd.fw_rev, 8); memset (private->value.strVal + 8, 0, 1); - private->Type = HD_GETFIRMWARE; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "ID."); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Serial No."); + tweak = alloc_hdparm_tweak (DeviceName, "Serial No.", HD_GETSERIAL, TYPE_INFO_STRING); private = (struct private_hdparm_data *) tweak->PrivateData; private->value.strVal = strdup ((char *)hd.serial_no); - private->Type = HD_GETSERIAL; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "ID."); geom = make_geometry (&hd); if ((hd.cyls + hd.heads + hd.sectors != 0) && (geom != NULL)) { - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Geometry"); + tweak = alloc_hdparm_tweak (DeviceName, "Geometry", HD_GETGEOMETRY, TYPE_INFO_STRING); private = (struct private_hdparm_data *) tweak->PrivateData; private->value.strVal = strdup(geom); - private->Type = HD_GETGEOMETRY; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Drive Geometry."); } free(geom); @@ -250,11 +242,9 @@ bufptr = make_buffers (&hd); if (bufptr != NULL) { - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Cache"); + tweak = alloc_hdparm_tweak (DeviceName, "Cache", HD_GETCACHE, TYPE_INFO_STRING); private = (struct private_hdparm_data *) tweak->PrivateData; private->value.strVal = bufptr; - private->Type = HD_GETCACHE; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Cache information."); } else @@ -263,8 +253,7 @@ } #ifdef HDIO_GET_ACOUSTIC - tweak = alloc_hdparm_tweak (DeviceName, TYPE_SLIDER); - tweak->WidgetText = strdup ("Acoustic (128=quiet ... 254=fast)"); + tweak = alloc_hdparm_tweak (DeviceName, "Acoustic (128=quiet ... 254=fast)", HD_GET_ACOUSTIC, TYPE_SLIDER); tweak->MinValue = 128; tweak->MaxValue = 254; tweak->GetValueRaw = &hdparmGetAcousticRaw; @@ -282,22 +271,21 @@ } #endif /*HDIO_GET_ACOUSTIC*/ - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Drive State"); + tweak = alloc_hdparm_tweak (DeviceName, "Drive State", HD_GET_APM, TYPE_INFO_STRING); tweak->GetValueRaw = &hdparmGetPowerModeRaw; if (tweak->GetValueRaw(tweak)) { RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); /*add a button that should use the changevalue for DriveState (to send a standby command)*/ - tweak = alloc_hdparm_tweak (DeviceName, TYPE_BUTTON); - tweak->WidgetText = strdup ("Request Standby"); + tweak = alloc_hdparm_tweak (DeviceName, "Request Standby", HD_GET_APM, TYPE_BUTTON); + tweak->GetValueRaw = &hdparmGetPowerModeRaw; tweak->ChangeValue = &hdparmRequestStandBy; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); - /*add a button that should use the changevalue for DriveState (to send a standby command)*/ - tweak = alloc_hdparm_tweak (DeviceName, TYPE_BUTTON); - tweak->WidgetText = strdup ("Request Suspend"); + /*add a button that should use the changevalue for DriveState (to send a suspend command)*/ + tweak = alloc_hdparm_tweak (DeviceName, "Request Suspend", HD_GET_APM, TYPE_BUTTON); + tweak->GetValueRaw = &hdparmGetPowerModeRaw; tweak->ChangeValue = &hdparmRequestSuspend; RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "state"); } Index: tweaks.c =================================================================== RCS file: /cvsroot/powertweak/powertweak/src/backends/hdparm/tweaks.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- tweaks.c 2 Oct 2001 00:57:09 -0000 1.4 +++ tweaks.c 10 Oct 2003 14:48:54 -0000 1.5 @@ -20,6 +20,11 @@ #include <config.h> #include "hdparm.h" +char *Enabled = "Enabled"; +char *Disabled = "Disabled"; + + +/*struct tweak *createTWeak(char * TweakName, int TweakType, rawvalue_fn getValueRawFn, change_fn changeValueFn)*/ static char *makemulti(int n) { @@ -36,62 +41,127 @@ } return buf; } + +int getRawHD_DMA_Setting(struct tweak *tweak) +{ + int fd; + struct private_hdparm_data *private = (struct private_hdparm_data *) tweak->PrivateData; + int return_success = FALSE; + + fd = open (private->DeviceName, O_RDONLY | O_NONBLOCK); + if (fd != -1) + { + return_success = TRUE; + + switch (private->Type) + { + case HD_GETDMA: + ioctl (fd, HDIO_GET_DMA, &private->value.intVal); + break; + case HD_GET32BIT: + { + int bits32; + char *bit32names[]={"Default", "32-bit", "16-bit", "32-bit w/sync"}; + + ioctl (fd, HDIO_GET_32BIT, &bits32);/* valid values of 0,1,3 */ + private->value.strVal = strdup (bit32names[bits32]); + } + break; + case HD_GETMULT: + { + struct hd_driveid hd; + int multi; + char *mult; + + memset(&hd, 0, sizeof(hd)); + ioctl (fd, HDIO_GET_IDENTITY, &hd); + ioctl (fd, HDIO_GET_MULTCOUNT, &multi); + mult = makemulti(multi); + if ((hd.max_multsect) && (mult!=NULL)) { + private->value.strVal = mult; + } + else + {/*TODO: reduce returns*/ + return_success = FALSE; + } + } + break; + case HD_GETUNMASK: + ioctl (fd, HDIO_GET_UNMASKINTR, &private->value.intVal); + break; + default: + assert(FALSE); + return_success = FALSE; + } + + close(fd); + } + return return_success; +} + +static void changeHD_DMA_Setting(struct tweak *tweak,value_t value, int immediate) +{ + struct private_hdparm_data *private; + int fd; + + private=tweak->PrivateData; + + private->value = value; + if (immediate==0) + return; + + fd = open (private->DeviceName, O_RDONLY | O_NONBLOCK); + if (fd != -1) + { + switch (private->Type) + { + case HD_GETDMA: + ioctl (fd, HDIO_SET_DMA, private->value.intVal); + break; + case HD_GETUNMASK: + ioctl (fd, HDIO_SET_UNMASKINTR, private->value.intVal); + break; + default: + assert(FALSE); + } + close(fd); + } +} -void Add_Tweak_Page (char *MenuName, char *DeviceName, int fd) +/* +could getRawValue and changeValue be the same function with a load/save style variable? (get-set) +*/ + +void Add_Tweak_Page (char *MenuName, char *DeviceName) { - struct hd_driveid hd; - struct private_hdparm_data *private; struct tweak *tweak; char *Menu1 = "Hardware"; char *Menu2 = "Disk"; char *Tabname = "Tweaks"; - char *bit32names[]={"Default", "32-bit", "16-bit", "32-bit w/sync"}; - char *Enabled = "Enabled"; - char *Disabled = "Disabled"; - char *mult; - int dma, bits32, mask, multi; - - ioctl (fd, HDIO_GET_DMA, &dma); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("DMA"); - private = (struct private_hdparm_data *) tweak->PrivateData; - if (dma) - private->value.strVal = strdup (Enabled); - else - private->value.strVal = strdup (Disabled); - private->Type = HD_GETDMA; - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); - ioctl (fd, HDIO_GET_32BIT, &bits32); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("IO Mode"); - private = (struct private_hdparm_data *) tweak->PrivateData; - private->value.strVal = strdup (bit32names[bits32]); - private->Type = HD_GET32BIT; +/*TODO: add docco somehow*/ + tweak = alloc_hdparm_tweak(DeviceName, "DMA", HD_GETDMA, TYPE_CHECKBOX); + tweak->GetValueRaw = getRawHD_DMA_Setting; + tweak->ChangeValue = changeHD_DMA_Setting; + tweak->GetValueRaw(tweak);/*TODO: what about the return*/ + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type.");/*TODO: can we get Register to call GetValueRaw? */ + + tweak = alloc_hdparm_tweak (DeviceName, "IO Mode", HD_GET32BIT, TYPE_INFO_STRING); + tweak->GetValueRaw = getRawHD_DMA_Setting; +/* tweak->ChangeValue = changeHD_DMA_Setting;*/ + tweak->GetValueRaw(tweak);/*TODO: what about the return*/ RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); - memset(&hd, 0, sizeof(hd)); - ioctl (fd, HDIO_GET_IDENTITY, &hd); - ioctl (fd, HDIO_GET_MULTCOUNT, &multi); - mult = makemulti(multi); - if ((hd.max_multsect) && (mult!=NULL)) { - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("Multisector"); - private = (struct private_hdparm_data *) tweak->PrivateData; - private->value.strVal = mult; - private->Type = HD_GETMULT; - RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); - } + tweak = alloc_hdparm_tweak (DeviceName, "Multisector", HD_GETMULT, TYPE_INFO_STRING); + tweak->GetValueRaw = getRawHD_DMA_Setting; +/* tweak->ChangeValue = changeHD_DMA_Setting;*/ + tweak->GetValueRaw(tweak);/*TODO: what about the return*/ + RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Transfer type."); - ioctl (fd, HDIO_GET_UNMASKINTR, &mask); - tweak = alloc_hdparm_tweak (DeviceName, TYPE_INFO_STRING); - tweak->WidgetText = strdup ("IRQ Unmasking"); - private = (struct private_hdparm_data *) tweak->PrivateData; - if (mask) - private->value.strVal = strdup (Enabled); - else - private->value.strVal = strdup (Disabled); - private->Type = HD_GETUNMASK; + tweak = alloc_hdparm_tweak (DeviceName, "IRQ Unmasking", HD_GETUNMASK, TYPE_CHECKBOX); + tweak->GetValueRaw = getRawHD_DMA_Setting; + tweak->ChangeValue = changeHD_DMA_Setting; + tweak->GetValueRaw(tweak);/*TODO: what about the return*/ RegisterTweak (tweak, "mmmth", Menu1, Menu2, MenuName, Tabname, "Misc features."); } |