Apart from nice, automatic, dynamic power management we will need to let userspace provide it's own power state.
I posted my first idea on forum: http://www.phoronix.com/forums/showpost.php?p=92109&postcount=24 - it was about providing read/write files: /sys/class/gpu/engine_clock /sys/class/gpu/memory_clock /sys/class/gpu/voltage However this would cause mess when specifying own state. For example echo 200000 > /sys/class/gpu/engine_clock should change engine clock to 200'000, but what about memory and voltage? Keeping them still dynamic could be problematic and cause problems (not proportional scaling of every attribute). So we probably should wait for every 3 attribute being specified. Or maybe set them default after setting 1 property. Or maybe calculate them. Or take them from current dynamic state... Uh, as I said: mess. My new proposition is rather create some "user_power_mode" and let user specify all 3 params. For example: $ echo 200000 400000 1050 > /sys/class/gpu/user_power_mode $ cat /sys/class/gpu/user_power_mode Engine clock: 200000 Memory clock: 400000 Voltage: 1050 and then something like: $ echo user > /sys/class/gpu/current_mode (use defined user_power_mode) $ echo dynamic > /sys/class/gpu/current_mode (KMS will do dynamic PM) and maybe $ echo maximum > /sys/class/gpu/current_mode (forcing static maximum) $ echo minimum > /sys/class/gpu/current_mode (forcing static minimum) What do you think about this? Any comments? -- Rafał ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
