[PATCH] machintosh: select defaults for cooling

Subsystems: linux for power macintosh, the rest

STALE3338d

5 messages, 3 authors, 2017-07-17 · open the first message on its own page

[PATCH] machintosh: select defaults for cooling

From: Linus Walleij <hidden>
Date: 2017-07-14 11:46:41

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(+)
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 97a420c11eed..d7186d8f30a9 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -101,6 +101,7 @@ config ADB_PMU_LED_DISK
 config PMAC_SMU
 	bool "Support for SMU  based PowerMacs"
 	depends on PPC_PMAC64
+	default PPC_PMAC64
 	help
 	  This option adds support for the newer G5 iMacs and PowerMacs based
 	  on the "SMU" system control chip which replaces the old PMU.
@@ -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
 
@@ -206,6 +209,7 @@ config WINDFARM_PM72
 	tristate "Support for thermal management on PowerMac G5 (AGP)"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the PowerMac G5
 	  "AGP" variants (PowerMac 7,2 and 7,3)
@@ -214,6 +218,7 @@ config WINDFARM_RM31
 	tristate "Support for thermal management on Xserve G5"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the Xserve G5
 	  (RackMac3,1)
@@ -222,6 +227,7 @@ config WINDFARM_PM91
 	tristate "Support for thermal management on PowerMac9,1"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the PowerMac9,1
           which is the recent (SMU based) single CPU desktop G5
-- 
2.9.4

Re: [PATCH] machintosh: select defaults for cooling

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. 
quoted hunk
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <redacted>
---
 drivers/macintosh/Kconfig | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 97a420c11eed..d7186d8f30a9 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -101,6 +101,7 @@ config ADB_PMU_LED_DISK
 config PMAC_SMU
 	bool "Support for SMU  based PowerMacs"
 	depends on PPC_PMAC64
+	default PPC_PMAC64
 	help
 	  This option adds support for the newer G5 iMacs and PowerMacs based
 	  on the "SMU" system control chip which replaces the old PMU.
@@ -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
 
@@ -206,6 +209,7 @@ config WINDFARM_PM72
 	tristate "Support for thermal management on PowerMac G5 (AGP)"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the PowerMac G5
 	  "AGP" variants (PowerMac 7,2 and 7,3)
@@ -214,6 +218,7 @@ config WINDFARM_RM31
 	tristate "Support for thermal management on Xserve G5"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the Xserve G5
 	  (RackMac3,1)
@@ -222,6 +227,7 @@ config WINDFARM_PM91
 	tristate "Support for thermal management on PowerMac9,1"
 	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
 	select I2C_POWERMAC
+	default CPU_FREQ_PMAC64
 	help
 	  This driver provides thermal control for the PowerMac9,1
           which is the recent (SMU based) single CPU desktop G5

Re: [PATCH] machintosh: select defaults for cooling

From: Linus Walleij <hidden>
Date: 2017-07-15 11:45:19

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

Re: [PATCH] machintosh: select defaults for cooling

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.

Re: [PATCH] machintosh: select defaults for cooling

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.
quoted hunk
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 97a420c11eed..d7186d8f30a9 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -101,6 +101,7 @@ config ADB_PMU_LED_DISK
 config PMAC_SMU
 	bool "Support for SMU  based PowerMacs"
 	depends on PPC_PMAC64
+	default PPC_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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help