I have this pretty nasty problem when trying to boot up a fresh
openSuSE DVD on a PowerMac G5: the kernel by default does not have
CONFIG_WINDFARM_PM72 enabled, with the effect that the cooling
is not functioning.
The BIOS on the PowerMac G5 reacts to this by, after a grace
period when the BIOS has waited for the OS to take over, increasing
the fan speeds so it sounds like an airplane is in the room, and
after another grace period simply cutting the power to the
machine. This is done not beacuse the cooling is not working, but
because the BIOS is not recieving handover of cooling from the
OS, so it panics and give up. The problem has been reported by
Linux users online.
Needless to say, this makes it impossible to install the OS
before the machine turns itself off.
The g5_defconfig looks like this:
CONFIG_PMAC_SMU=y
CONFIG_WINDFARM=y
CONFIG_WINDFARM_PM81=y
CONFIG_WINDFARM_PM91=y
CONFIG_WINDFARM_PM112=y
CONFIG_WINDFARM_PM121=y
Notably PM72 is missing, making the PowerMac G5 fail.
The defconfig is not the right place to do this: it should be
done by default when selecting Mac support for PPC/PPC64 and
especially for the Macs CPUfreq driver. We select SMU by default
for PPC_PMAC64, WINDFARM by default on PPC_PMAC and all the
WINDFARM thermal managers by default if CPU_FREQ_PMAC64 is
selected.
I think this will make install images work in the G5 Macs.
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <redacted>
---
drivers/macintosh/Kconfig | 6 ++++++
1 file changed, 6 insertions(+)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2017-07-14 22:53:49
On Fri, 2017-07-14 at 13:46 +0200, Linus Walleij wrote:
I have this pretty nasty problem when trying to boot up a fresh
openSuSE DVD on a PowerMac G5: the kernel by default does not have
CONFIG_WINDFARM_PM72 enabled, with the effect that the cooling
is not functioning.
The BIOS on the PowerMac G5 reacts to this by, after a grace
period when the BIOS has waited for the OS to take over, increasing
the fan speeds so it sounds like an airplane is in the room, and
after another grace period simply cutting the power to the
machine. This is done not beacuse the cooling is not working, but
because the BIOS is not recieving handover of cooling from the
OS, so it panics and give up. The problem has been reported by
Linux users online.
It's not actually the BIOS but the fan controller HW who does that.
Needless to say, this makes it impossible to install the OS
before the machine turns itself off.
The g5_defconfig looks like this:
CONFIG_PMAC_SMU=y
CONFIG_WINDFARM=y
CONFIG_WINDFARM_PM81=y
CONFIG_WINDFARM_PM91=y
CONFIG_WINDFARM_PM112=y
CONFIG_WINDFARM_PM121=y
Notably PM72 is missing, making the PowerMac G5 fail.
The defconfig is not the right place to do this: it should be
done by default when selecting Mac support for PPC/PPC64 and
especially for the Macs CPUfreq driver. We select SMU by default
for PPC_PMAC64, WINDFARM by default on PPC_PMAC and all the
WINDFARM thermal managers by default if CPU_FREQ_PMAC64 is
selected.
I think this will make install images work in the G5 Macs.
Why is it not the job of the defconfig ? I was under the impression
that just "selecting" like this was frowned upon ? I don't care much
either way mind you, I'll let Michael decide what he wants to do.
On Sat, Jul 15, 2017 at 12:53 AM, Benjamin Herrenschmidt
[off-list ref] wrote:
On Fri, 2017-07-14 at 13:46 +0200, Linus Walleij wrote:
quoted
I have this pretty nasty problem when trying to boot up a fresh
openSuSE DVD on a PowerMac G5: the kernel by default does not have
CONFIG_WINDFARM_PM72 enabled, with the effect that the cooling
is not functioning.
The BIOS on the PowerMac G5 reacts to this by, after a grace
period when the BIOS has waited for the OS to take over, increasing
the fan speeds so it sounds like an airplane is in the room, and
after another grace period simply cutting the power to the
machine. This is done not beacuse the cooling is not working, but
because the BIOS is not recieving handover of cooling from the
OS, so it panics and give up. The problem has been reported by
Linux users online.
It's not actually the BIOS but the fan controller HW who does that.
OK then :)
Are you running this hardware BTW?
quoted
I think this will make install images work in the G5 Macs.
Why is it not the job of the defconfig ? I was under the impression
that just "selecting" like this was frowned upon ? I don't care much
either way mind you, I'll let Michael decide what he wants to do.
I think nobody is happy with Kconfig really.
This relates to a recent Kconfig unmanageability discussion at
ksummit-discuss I'd say. The situation is not great, it is very hard
to make working configs and this patch is meant to help with that
using the crude tools we have.
I prefer to just think about making it easy to do the right thing.
And making Kconfig do the right thing without human
intervention, because humans just screw everything up.
As is proven by the openSuSE install media situation.
They simply have no clue what to enable to create an installable
powermac media, even though they obviously know their way
around ppc64, it's just too hard to get the Kconfig right.
So if I patch arch/arm/configs/g5_defconfig it starts working for me,
true.
But I would not be surprised if the distros just forget to sync their
configs with g5_defconfig so it doesn't help at all but instead I have
to go and poke everyone and their dog about it.
Debian obviously had this enabled in *their* defconfig, because that
installed just fine with their Jessue distro. They have since dropped
support for ppc64 yay.
An alternative option is to go in and patch
drivers/cpufreq/Kconfig.powerpc like that:
config CPU_FREQ_PMAC64
bool "Support for some Apple G5s"
depends on PPC_PMAC && PPC64
+ select WINDFARM
+ select WINDFARM_PM81
+ select WINDFARM_PM72
+ select WINDFARM_RM31
+ select WINDFARM_PM91
+ select WINDFARM_PM112
+ select WINDFARM_PM121
If that is preferred?
Yours,
Linus Walleij
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2017-07-15 21:56:56
On Sat, 2017-07-15 at 13:45 +0200, Linus Walleij wrote:
quoted
It's not actually the BIOS but the fan controller HW who does that.
OK then :)
Are you running this hardware BTW?
A pm_72 ? No but I might still be able to find one somewhere in the lab
if needed (not sure).
quoted
quoted
I think this will make install images work in the G5 Macs.
Why is it not the job of the defconfig ? I was under the impression
that just "selecting" like this was frowned upon ? I don't care much
either way mind you, I'll let Michael decide what he wants to do.
I think nobody is happy with Kconfig really.
This relates to a recent Kconfig unmanageability discussion at
ksummit-discuss I'd say. The situation is not great, it is very hard
to make working configs and this patch is meant to help with that
using the crude tools we have.
Yup.
I prefer to just think about making it easy to do the right thing.
And making Kconfig do the right thing without human
intervention, because humans just screw everything up.
As is proven by the openSuSE install media situation.
They simply have no clue what to enable to create an installable
powermac media, even though they obviously know their way
around ppc64, it's just too hard to get the Kconfig right.
So if I patch arch/arm/configs/g5_defconfig it starts working for me,
true.
But I would not be surprised if the distros just forget to sync their
configs with g5_defconfig so it doesn't help at all but instead I have
to go and poke everyone and their dog about it.
Debian obviously had this enabled in *their* defconfig, because that
installed just fine with their Jessue distro. They have since dropped
support for ppc64 yay.
An alternative option is to go in and patch
drivers/cpufreq/Kconfig.powerpc like that:
config CPU_FREQ_PMAC64
bool "Support for some Apple G5s"
depends on PPC_PMAC && PPC64
+ select WINDFARM
+ select WINDFARM_PM81
+ select WINDFARM_PM72
+ select WINDFARM_RM31
+ select WINDFARM_PM91
+ select WINDFARM_PM112
+ select WINDFARM_PM121
If that is preferred?
Not really. I don't like also how we end up selecting etc... based on
CPUFREQ... I wouldn't mind select'ing cpufreq itself but then we end up
having to pull i2c etc..
In the end, your defaults are probably be way to go but make them just
default y, the dependency on CPUFREQ should be sufficient. Or will that
screw up with modules ?
Cheers,
Ben.
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2017-07-17 02:02:32
Linus Walleij [off-list ref] writes:
I have this pretty nasty problem when trying to boot up a fresh
openSuSE DVD on a PowerMac G5: the kernel by default does not have
CONFIG_WINDFARM_PM72 enabled, with the effect that the cooling
is not functioning.
The BIOS on the PowerMac G5 reacts to this by, after a grace
period when the BIOS has waited for the OS to take over, increasing
the fan speeds so it sounds like an airplane is in the room, and
after another grace period simply cutting the power to the
machine. This is done not beacuse the cooling is not working, but
because the BIOS is not recieving handover of cooling from the
OS, so it panics and give up. The problem has been reported by
Linux users online.
Needless to say, this makes it impossible to install the OS
before the machine turns itself off.
The g5_defconfig looks like this:
CONFIG_PMAC_SMU=y
CONFIG_WINDFARM=y
CONFIG_WINDFARM_PM81=y
CONFIG_WINDFARM_PM91=y
CONFIG_WINDFARM_PM112=y
CONFIG_WINDFARM_PM121=y
Notably PM72 is missing, making the PowerMac G5 fail.
The defconfig is not the right place to do this: it should be
done by default when selecting Mac support for PPC/PPC64 and
especially for the Macs CPUfreq driver. We select SMU by default
for PPC_PMAC64, WINDFARM by default on PPC_PMAC and all the
WINDFARM thermal managers by default if CPU_FREQ_PMAC64 is
selected.
I agree with the intent of your patch, but I'm not sure I like the
implementation.
@@ -101,6 +101,7 @@ config ADB_PMU_LED_DISKconfigPMAC_SMUbool"Support for SMU based PowerMacs"depends onPPC_PMAC64+defaultPPC_PMAC64
Defaulting to one of your dependencies is exactly the same as defaulting
to yes (unless it's a tristate).
I think it's fine to make this default y, it has the dependency on the
platform so it won't appear for most users.
quoted hunk
@@ -194,11 +195,13 @@ config THERM_ADT746X config WINDFARM tristate "New PowerMac thermal control infrastructure" depends on PPC+ default PPC_PMAC config WINDFARM_PM81 tristate "Support for thermal management on iMac G5" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU select I2C_POWERMAC+ default CPU_FREQ_PMAC64 help This driver provides thermal control for the iMacG5
These I think should all just be 'default m'.
cheers