> On Sat, Oct 24, 2009 at 05:25:38PM +0200, Krzysztof Helt wrote: > > From: Krzysztof Helt > > > > There is a typo in the longhaul detection code so only Longhaul v1 or Longhaul v3 > > is selected. The Longhaul v2 is not selected even for CPUs which are capable of. > > > > Tested on PCChips Giga Pro board. Frequency changes work and the Longhaul v2 > > detects that the board is not capable of changing CPU voltage. > Most likely processor isn't capable of changing voltage. It is hardcoded in most processors. > > > > Signed-off-by: Krzysztof Helt > > It seems we deliberately changed this two years ago, though the changelog > is a bit sparse on details.. > > commit 07844252ffd81ec192a62014bada1016c9703765 > Author: Rafal Bilski > Date: Sun Apr 22 12:26:04 2007 +0200 > > [CPUFREQ] Longhaul - Revert Longhaul ver. 2 > > There is something wrong with this code. It needs more > testing. It is better to disable it for now because support > for some machines will be broken. > > Signed-off-by: Rafal Bilski > Signed-off-by: Dave Jones > > > In hindsight, changing it to report V1 instead of V2 was the wrong thing > to do, and we should have done something like -ENODEV with > a printk explaining why. > > I've not got any old VIA CPUs/boards to test with any more, but I'm inclined > to apply your change, but we'll have to keep an eye out for any strange > bugs on affected systems. Currently this driver should do nothing, as the > longhaul v1 registers that don't exist on longhaul V2 CPUs. Yes this register do exists on ver. 2 CPU's. It was removed later from "powersaver" line of processors. > With this change, > we're going to be actually doing scaling again, which may introduce instability > on some machines, as iirc, we never did get this driver 100% stable due > to a lot of really crappy motherboards. > > Perhaps we should printk a warning related to this. > (We should definitly mention it in the Kconfig too, which I thought we already had) > > Dave It's my fault. Commit 52a2638bff063acb28ba3355891c49cc240cc98b: > Longhaul: add auto enabled "revid_errata" option > > VIA C3 Ezra-T has RevisionID equal to 1, but it needs RevisionKey to be 0 > or CPU will ignore new frequency and will continue to work at old > frequency. New "revid_errata" option will force RevisionKey to be set to > 0, whatever RevisionID is. > > Additionaly "Longhaul" will not silently ignore unsuccessful transition. > It will try to check if "revid_errata" or "disable_acpi_c3" options need to > be enabled for this processor/system. > > Same for Longhaul ver. 2 support. It will be disabled if none of above > options will work. It was permanent fix for badly programmed ver. 2 registers. What this commit failed to do is to restore ver. 2 support. Probably I used wrong branch to create it. One with voltage scaling enabled. > Best case scenario (with patch apllied and v2 enabled): > longhaul: VIA C3 'Ezra' [C5C] CPU detected. Longhaul v2 supported. > longhaul: Using northbridge support. > longhaul: VRM 8.5 > longhaul: Max VID=1.350 Min VID=1.050, 13 possible voltage scales > longhaul: f: 300000 kHz, index: 0, vid: 1050 mV > [...] > longhaul: Voltage scaling enabled. > Worst case scenario: > longhaul: VIA C3 'Ezra-T' [C5M] CPU detected. Powersaver supported. > longhaul: Using northbridge support. > longhaul: Using ACPI support. > longhaul: VRM 8.5 > longhaul: Claims to support voltage scaling but min & max are both 1.250. Voltage scaling disabled > longhaul: Failed to set requested frequency! > longhaul: Enabling "Ignore Revision ID" option. > longhaul: Failed to set requested frequency! > longhaul: Disabling ACPI C3 support. > longhaul: Disabling "Ignore Revision ID" option. > longhaul: Failed to set requested frequency! > longhaul: Enabling "Ignore Revision ID" option. Sorry. RafaƂ Bilski ---------------------------------------------------------------------- Bezpłatne konto i limit do 100 tys. Otwierasz? >> http://link.interia.pl/f23bb