2021-11-08 15:44:44

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] thermal/drivers/int340x: limit Kconfig to 64-bit

From: Arnd Bergmann <[email protected]>

32-bit processors cannot generally access 64-bit MMIO registers
atomically, and it is unknown in which order the two halves of
this registers would need to be read:

drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c: In function 'send_mbox_cmd':
drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c:79:37: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
79 | *cmd_resp = readq((void __iomem *) (proc_priv->mmio_base + MBOX_OFFSET_DATA));
| ^~~~~
| readl

The driver already does not build for anything other than x86,
so limit it further to x86-64.

Fixes: aeb58c860dc5 ("thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/thermal/intel/int340x_thermal/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/intel/int340x_thermal/Kconfig b/drivers/thermal/intel/int340x_thermal/Kconfig
index 45c31f3d6054..5d046de96a5d 100644
--- a/drivers/thermal/intel/int340x_thermal/Kconfig
+++ b/drivers/thermal/intel/int340x_thermal/Kconfig
@@ -5,12 +5,12 @@

config INT340X_THERMAL
tristate "ACPI INT340X thermal drivers"
- depends on X86 && ACPI && PCI
+ depends on X86_64 && ACPI && PCI
select THERMAL_GOV_USER_SPACE
select ACPI_THERMAL_REL
select ACPI_FAN
select INTEL_SOC_DTS_IOSF_CORE
- select PROC_THERMAL_MMIO_RAPL if X86_64 && POWERCAP
+ select PROC_THERMAL_MMIO_RAPL if POWERCAP
help
Newer laptops and tablets that use ACPI may have thermal sensors and
other devices with thermal control capabilities outside the core
--
2.29.2


2021-11-08 15:50:42

by srinivas pandruvada

[permalink] [raw]
Subject: Re: [PATCH] thermal/drivers/int340x: limit Kconfig to 64-bit

On Mon, 2021-11-08 at 12:13 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 32-bit processors cannot generally access 64-bit MMIO registers
> atomically, and it is unknown in which order the two halves of
> this registers would need to be read:
>
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c: In
> function 'send_mbox_cmd':
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c:79:37:
> error: implicit declaration of function 'readq'; did you mean
> 'readl'? [-Werror=implicit-function-declaration]
>    79 |                         *cmd_resp = readq((void __iomem *)
> (proc_priv->mmio_base + MBOX_OFFSET_DATA));
>       |                                     ^~~~~
>       |                                     readl
>
> The driver already does not build for anything other than x86,
> so limit it further to x86-64.
>
> Fixes: aeb58c860dc5 ("thermal/drivers/int340x: processor_thermal:
> Suppot 64 bit RFIM responses")
> Signed-off-by: Arnd Bergmann <[email protected]>
Reviewed-by: Srinivas Pandruvada <[email protected]>

> ---
>  drivers/thermal/intel/int340x_thermal/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/Kconfig
> b/drivers/thermal/intel/int340x_thermal/Kconfig
> index 45c31f3d6054..5d046de96a5d 100644
> --- a/drivers/thermal/intel/int340x_thermal/Kconfig
> +++ b/drivers/thermal/intel/int340x_thermal/Kconfig
> @@ -5,12 +5,12 @@
>  
>  config INT340X_THERMAL
>         tristate "ACPI INT340X thermal drivers"
> -       depends on X86 && ACPI && PCI
> +       depends on X86_64 && ACPI && PCI
>         select THERMAL_GOV_USER_SPACE
>         select ACPI_THERMAL_REL
>         select ACPI_FAN
>         select INTEL_SOC_DTS_IOSF_CORE
> -       select PROC_THERMAL_MMIO_RAPL if X86_64 && POWERCAP
> +       select PROC_THERMAL_MMIO_RAPL if POWERCAP
>         help
>           Newer laptops and tablets that use ACPI may have thermal
> sensors and
>           other devices with thermal control capabilities outside the
> core


2021-11-09 14:21:57

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] thermal/drivers/int340x: limit Kconfig to 64-bit

On 11/8/21 3:13 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 32-bit processors cannot generally access 64-bit MMIO registers
> atomically, and it is unknown in which order the two halves of
> this registers would need to be read:
>
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c: In function 'send_mbox_cmd':
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c:79:37: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
> 79 | *cmd_resp = readq((void __iomem *) (proc_priv->mmio_base + MBOX_OFFSET_DATA));
> | ^~~~~
> | readl
>
> The driver already does not build for anything other than x86,
> so limit it further to x86-64.
>
> Fixes: aeb58c860dc5 ("thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/thermal/intel/int340x_thermal/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/Kconfig b/drivers/thermal/intel/int340x_thermal/Kconfig
> index 45c31f3d6054..5d046de96a5d 100644
> --- a/drivers/thermal/intel/int340x_thermal/Kconfig
> +++ b/drivers/thermal/intel/int340x_thermal/Kconfig
> @@ -5,12 +5,12 @@
>
> config INT340X_THERMAL
> tristate "ACPI INT340X thermal drivers"
> - depends on X86 && ACPI && PCI
> + depends on X86_64 && ACPI && PCI
> select THERMAL_GOV_USER_SPACE
> select ACPI_THERMAL_REL
> select ACPI_FAN
> select INTEL_SOC_DTS_IOSF_CORE
> - select PROC_THERMAL_MMIO_RAPL if X86_64 && POWERCAP
> + select PROC_THERMAL_MMIO_RAPL if POWERCAP
> help
> Newer laptops and tablets that use ACPI may have thermal sensors and
> other devices with thermal control capabilities outside the core
>

Reviewed-by: Randy Dunlap <[email protected]>

Thanks.

--
~Randy

2021-11-16 19:18:11

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] thermal/drivers/int340x: limit Kconfig to 64-bit

On Mon, Nov 8, 2021 at 12:13 PM Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> 32-bit processors cannot generally access 64-bit MMIO registers
> atomically, and it is unknown in which order the two halves of
> this registers would need to be read:
>
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c: In function 'send_mbox_cmd':
> drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.c:79:37: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
> 79 | *cmd_resp = readq((void __iomem *) (proc_priv->mmio_base + MBOX_OFFSET_DATA));
> | ^~~~~
> | readl
>
> The driver already does not build for anything other than x86,
> so limit it further to x86-64.
>
> Fixes: aeb58c860dc5 ("thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/thermal/intel/int340x_thermal/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/Kconfig b/drivers/thermal/intel/int340x_thermal/Kconfig
> index 45c31f3d6054..5d046de96a5d 100644
> --- a/drivers/thermal/intel/int340x_thermal/Kconfig
> +++ b/drivers/thermal/intel/int340x_thermal/Kconfig
> @@ -5,12 +5,12 @@
>
> config INT340X_THERMAL
> tristate "ACPI INT340X thermal drivers"
> - depends on X86 && ACPI && PCI
> + depends on X86_64 && ACPI && PCI
> select THERMAL_GOV_USER_SPACE
> select ACPI_THERMAL_REL
> select ACPI_FAN
> select INTEL_SOC_DTS_IOSF_CORE
> - select PROC_THERMAL_MMIO_RAPL if X86_64 && POWERCAP
> + select PROC_THERMAL_MMIO_RAPL if POWERCAP
> help
> Newer laptops and tablets that use ACPI may have thermal sensors and
> other devices with thermal control capabilities outside the core
> --

Applied as 5.16-rc2 material, thanks!