Bug 132422

Summary: Overheat of PowerBook Titanium II due to lake of cpufreq support
Product: [Fedora] Fedora Reporter: Alain RICHARD <alain.richard>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: benh, byte, pfrields, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-11-14 19:38:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 121179    

Description Alain RICHARD 2004-09-13 08:48:57 UTC
Description of problem:

The Apple PowerBook Titanium II (also known as PowerBook3,3 plateform) is overheating 
under all the current kernel 2.6 (the last tested 2.6.8-1.541 also show the problem) 
because the processor is always running at full speed.

The consequences are that the fan is always on at full speed and you will experience 
various crashes after some usage due to components overheat.

Version-Release number of selected component (if applicable):

All kernel 2.6 tested so far (either from fedora project or kernel.org. I havn't tested kernel 
2.4 but the problem is probably the same as it also lake the needed cpufreq support.

The PowerBook3,3 are also known as Apple PowerBook Titanium II 550MHz and 667MHz. 
They where first introduced late 2001 early 2002.

How reproducible:

/proc/cpuinfo show that the processor run at full speed all the time. The fan is also on 
and loud.
/sys/devices/system/cpu/cpu0/cpufreq do not exists.

this is 100% reproductible on any kernel 2.6 from fedora-ppc (2, 3pre and rawhide).


  
Actual results:

various crashes, i/o errors, hangs, and I suspect that it may also damage the hardware on 
fastest models.


I have added the following patch to the kernel 2.6.8 :

>>>>>>>>
--- arch/ppc/platforms/pmac_cpufreq.c   2004-08-14 07:37:14.000000000 +0200
+++ arch/ppc/platforms/pmac_cpufreq.c   2004-09-11 19:11:00.509192072 +0200
@@ -553,6 +553,12 @@
                low_freq = 300000;
                set_speed_proc = pmu_set_cpu_speed;
        }
+       /* Else check for TiPb 550 & 667 */
+       else if (machine_is_compatible("PowerBook3,3")) {
+               hi_freq = cur_freq;
+               low_freq = 300000;
+               set_speed_proc = pmu_set_cpu_speed;
+       }
        /* Else check for 750FX */
        else if (PVR_VER(mfspr(PVR)) == 0x7000) {
                if (get_property(cpunode, "dynamic-power-step", NULL) == NULL)
<<<<<<<

Using this simple patch, my PowerBook3,3 now has the proper cpufreq support and 
cpuspeed daemon properly handles the cpu speed change.

Comment 1 David Woodhouse 2004-09-13 09:18:38 UTC
This needs to be sent to Ben Herrenschmidt <benh.org>
and merged upstream.

Comment 2 Warren Togami 2004-09-13 09:24:13 UTC
Please push it to upstream kernel.org, because that is the fastest way
it will make it into Fedora kernels.  Since the patch is small and
simple looking, hopefully they will accept it quickly.


Comment 3 Alain RICHARD 2004-09-13 09:51:22 UTC
I have already supplied it to lkm and I am in contact with  Ben Herrenschmidt, so I hope it 
will be pushed to the mainstream kernel, but I know it may takes a lot of time before it is 
incorporated in it. I have also noted that there are already ppc arch patches in the current 
pre-test Fedora 3 kernel and it is very simple to add it to that kernel (this is the way I have 
done it, modifying the Fedora kernel spec file).

My intent to have it incorporated as soon as possible is because the overheat may severely 
damage the hardware.


Comment 4 Warren Togami 2004-09-14 02:28:53 UTC
In most cases Fedora does NOT add patches, because the amount of
overall work in the long term is less if it goes upstream.  Keeping
track of thousands of patches in the kernel SRPM is not fun.

So please do your best to push it upstream.

Comment 5 Colin Charles 2004-09-14 10:56:39 UTC
According to benh, the patch might not be a 100%. We need to test this
on a PowerBook3,3, that's got a 667MHz to find out more information
about it (low_freq might actually be 500MHz, rather than 300MHz)

So till then, I suggest we don't rush merging this, and actually wait
for upstream

Comment 6 David Woodhouse 2005-02-20 13:47:22 UTC
Any progress on this? If we're not sure about the 667MHz version, you
could make the code detect that and leave it alone, by checking
cur_freq. See the code for the TiPb 400 & 500 above for an example.

Comment 7 Alain RICHARD 2005-03-17 10:30:05 UTC
I have add some time to test the 667 model and it lakes cpufreq functionnality. Also my patch was bad 
because the low frequency is 500MHz and not 300MHz as may be tested by recalculating bogomips 
value at each cpufreq switch.

I propose to modify the patch like this :

 >>>>>>>>
--- arch/ppc/platforms/pmac_cpufreq.c   2004-08-14 07:37:14.000000000 +0200
+++ arch/ppc/platforms/pmac_cpufreq.c   2004-09-11 19:11:00.509192072 +0200
@@ -553,6 +553,12 @@
                low_freq = 300000;
                set_speed_proc = pmu_set_cpu_speed;
        }
+       /* Else check for TiPb 550 (the 667 model do not switch freqs) */
+       else if (machine_is_compatible("PowerBook3,3") && cur_freq == 550000) {
+               hi_freq = cur_freq;
+               low_freq = 500000;
+               set_speed_proc = pmu_set_cpu_speed;
+       }
        /* Else check for 750FX */
        else if (PVR_VER(mfspr(PVR)) == 0x7000) {
                if (get_property(cpunode, "dynamic-power-step", NULL) == NULL)
<<<<<<<

Comment 8 David Woodhouse 2005-03-17 11:03:59 UTC
Thanks for the testing. Please could you forward your results to BenH, and I'm
sure it'll get fixed upstream fairly promptly.

Comment 9 Dave Jones 2005-07-15 20:31:18 UTC
An update has been released for Fedora Core 3 (kernel-2.6.12-1.1372_FC3) which
may contain a fix for your problem.   Please update to this new kernel, and
report whether or not it fixes your problem.

If you have updated to Fedora Core 4 since this bug was opened, and the problem
still occurs with the latest updates for that release, please change the version
field of this bug to 'fc4'.

Thank you.

Comment 10 Alain RICHARD 2005-07-20 13:47:30 UTC
I have upgraded to Fedora-4. The problem is still present in kernel 2.6.12-1.1398_FC4.

A fix versus this kernel version is :

>>>>>>>>
diff -ur linux-2.6.12/arch/ppc/platforms/pmac_cpufreq.c linux-2.6.12-agr/arch/ppc/platforms/
pmac_cpufreq.c
--- linux-2.6.12/arch/ppc/platforms/pmac_cpufreq.c      2005-06-17 21:48:29.000000000 +0200
+++ linux-2.6.12-agr/arch/ppc/platforms/pmac_cpufreq.c  2005-07-20 12:56:06.000000000 +0200
@@ -695,6 +695,13 @@
                set_speed_proc = pmu_set_cpu_speed;
                is_pmu_based = 1;
        }
+       /* Else check for TiPb 550 */
+       else if (machine_is_compatible("PowerBook3,3") && cur_freq == 550000) {
+               hi_freq = cur_freq;
+               low_freq = 500000;
+               set_speed_proc = pmu_set_cpu_speed;
+               is_pmu_based = 1;
+       }
        /* Else check for TiPb 400 & 500 */
        else if (machine_is_compatible("PowerBook3,2")) {
                /* We only know about the 400 MHz and the 500Mhz model
<<<<<<<<

I have successfully tested this patch on the current kernel 2.6.12-1.1398_FC4.


Comment 11 Dave Jones 2005-09-30 07:07:53 UTC
Mass update to all FC4 bugs:

An update has been released (2.6.13-1.1526_FC4) which rebases to a new upstream
kernel (2.6.13.2). As there were ~3500 changes upstream between this and the
previous kernel, it's possible your bug has been fixed already.

Please retest with this update, and update this bug if necessary.

Thanks.


Comment 12 Alain RICHARD 2005-09-30 13:06:42 UTC
The problem is still not addressed in kernel 2.6.13-1.1526_FC4.

Comment 13 Benjamin Herrenschmidt 2005-09-30 23:15:55 UTC
Yah, sorry about that, I forgot. I'll send that to Linus now

Comment 14 Dave Jones 2005-11-10 20:13:46 UTC
2.6.14-1.1637_FC4 has been released as an update for FC4.
Please retest with this update, as a large amount of code has been changed in
this release, which may have fixed your problem.

Thank you.


Comment 15 Alain RICHARD 2005-11-14 09:08:51 UTC
2.6.14-1.1637_FC4 integrates the needed patch and I have successfully tested it on this powerbook 
model. You may close the case.