linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD.
  2085-06-18 15:57 [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD Amy.Shih
@ 2019-09-02 16:09 ` Guenter Roeck
  2019-09-28  9:37 ` Jean Delvare
  1 sibling, 0 replies; 3+ messages in thread
From: Guenter Roeck @ 2019-09-02 16:09 UTC (permalink / raw)
  To: Amy.Shih
  Cc: she90122, oakley.ding, bichan.lu, jia.sui, Jean Delvare,
	linux-hwmon, linux-kernel

On Mon, Jun 18, 2085 at 03:57:19PM +0000, Amy.Shih@advantech.com.tw wrote:
> From: "amy.shih" <amy.shih@advantech.com.tw>
> 
> According to kernel hwmon sysfs-interface documentation, temperature
> critical max value, typically greater than corresponding temp_max values.
> Thus, reads the LTD_HV_HL (LTD HIGH VALUE HIGH LIMITATION) and LTD_LV_HL
> (LTD LOW VALUE HIGH LIMITATION) for case hwmon_temp_crit and
> hwmon_temp_crit_hyst. Reads the LTD_HV_LL (HIGH VALUE LOW LIMITATION)
> and LTD_LV_LL (LOW VALUE LOW LIMITATION) for case hwmon_temp_max
> and hwmon_temp_max_hyst.
> 
> Signed-off-by: amy.shih <amy.shih@advantech.com.tw>
> ---
> 
> Changes in v6:
> - Fix incorrect temperature limitation register setting of LTD.

This is a separate (follow-up) patch; v6 is inappropriate here.
Nevertheless, applied on top of the previous patch to hwmon-next.

Thanks,
Guenter

> Changes in v5:
> - Squashed subsequent fixes of three patches into one patch.
> Changes in v4:
> - Fix the incorrect return value of case hwmon_fan_min in function "nct7904_write_fan".
> - Fix the confused calculation of case hwmon_fan_min in function
> Changes in v3:
> - Squashed subsequent fixes of patches into one patch.
> 
> -- Fix bad fallthrough in various switch statements.
> -- Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int.
> -- Fix incorrect register setting of voltage.
> -- Fix incorrect register bit mapping of temperature alarm.
> -- Fix wrong return code 0x1fff in function nct7904_write_fan.
> -- Delete wrong comment in function nct7904_write_in.
> -- Fix wrong attribute names for temperature.
> -- Fix wrong registers setting for temperature.
> 
> Changes in v2:
> - Fix bad fallthrough in various switch statements.
> - Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int.
> ---
>  drivers/hwmon/nct7904.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
> index 76372f20d71a..ce688ab4fce2 100644
> --- a/drivers/hwmon/nct7904.c
> +++ b/drivers/hwmon/nct7904.c
> @@ -398,22 +398,22 @@ static int nct7904_read_temp(struct device *dev, u32 attr, int channel,
>  		}
>  		return 0;
>  	case hwmon_temp_max:
> -		reg1 = LTD_HV_HL_REG;
> +		reg1 = LTD_HV_LL_REG;
>  		reg2 = TEMP_CH1_W_REG;
>  		reg3 = DTS_T_CPU1_W_REG;
>  		break;
>  	case hwmon_temp_max_hyst:
> -		reg1 = LTD_LV_HL_REG;
> +		reg1 = LTD_LV_LL_REG;
>  		reg2 = TEMP_CH1_WH_REG;
>  		reg3 = DTS_T_CPU1_WH_REG;
>  		break;
>  	case hwmon_temp_crit:
> -		reg1 = LTD_HV_LL_REG;
> +		reg1 = LTD_HV_HL_REG;
>  		reg2 = TEMP_CH1_C_REG;
>  		reg3 = DTS_T_CPU1_C_REG;
>  		break;
>  	case hwmon_temp_crit_hyst:
> -		reg1 = LTD_LV_LL_REG;
> +		reg1 = LTD_LV_HL_REG;
>  		reg2 = TEMP_CH1_CH_REG;
>  		reg3 = DTS_T_CPU1_CH_REG;
>  		break;
> @@ -507,22 +507,22 @@ static int nct7904_write_temp(struct device *dev, u32 attr, int channel,
>  
>  	switch (attr) {
>  	case hwmon_temp_max:
> -		reg1 = LTD_HV_HL_REG;
> +		reg1 = LTD_HV_LL_REG;
>  		reg2 = TEMP_CH1_W_REG;
>  		reg3 = DTS_T_CPU1_W_REG;
>  		break;
>  	case hwmon_temp_max_hyst:
> -		reg1 = LTD_LV_HL_REG;
> +		reg1 = LTD_LV_LL_REG;
>  		reg2 = TEMP_CH1_WH_REG;
>  		reg3 = DTS_T_CPU1_WH_REG;
>  		break;
>  	case hwmon_temp_crit:
> -		reg1 = LTD_HV_LL_REG;
> +		reg1 = LTD_HV_HL_REG;
>  		reg2 = TEMP_CH1_C_REG;
>  		reg3 = DTS_T_CPU1_C_REG;
>  		break;
>  	case hwmon_temp_crit_hyst:
> -		reg1 = LTD_LV_LL_REG;
> +		reg1 = LTD_LV_HL_REG;
>  		reg2 = TEMP_CH1_CH_REG;
>  		reg3 = DTS_T_CPU1_CH_REG;
>  		break;

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD.
  2085-06-18 15:57 [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD Amy.Shih
  2019-09-02 16:09 ` Guenter Roeck
@ 2019-09-28  9:37 ` Jean Delvare
  1 sibling, 0 replies; 3+ messages in thread
From: Jean Delvare @ 2019-09-28  9:37 UTC (permalink / raw)
  To: Amy.Shih
  Cc: she90122, oakley.ding, bichan.lu, jia.sui, Guenter Roeck,
	linux-hwmon, linux-kernel

On Mon, 18 Jun 2085 15:57:19 +0000, Amy.Shih@advantech.com.tw wrote:
> (...)

I suggest you fix your system clock ;-)

-- 
Jean Delvare
SUSE L3 Support

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD.
@ 2085-06-18 15:57 Amy.Shih
  2019-09-02 16:09 ` Guenter Roeck
  2019-09-28  9:37 ` Jean Delvare
  0 siblings, 2 replies; 3+ messages in thread
From: Amy.Shih @ 2085-06-18 15:57 UTC (permalink / raw)
  To: she90122
  Cc: amy.shih, oakley.ding, bichan.lu, jia.sui, Jean Delvare,
	Guenter Roeck, linux-hwmon, linux-kernel

From: "amy.shih" <amy.shih@advantech.com.tw>

According to kernel hwmon sysfs-interface documentation, temperature
critical max value, typically greater than corresponding temp_max values.
Thus, reads the LTD_HV_HL (LTD HIGH VALUE HIGH LIMITATION) and LTD_LV_HL
(LTD LOW VALUE HIGH LIMITATION) for case hwmon_temp_crit and
hwmon_temp_crit_hyst. Reads the LTD_HV_LL (HIGH VALUE LOW LIMITATION)
and LTD_LV_LL (LOW VALUE LOW LIMITATION) for case hwmon_temp_max
and hwmon_temp_max_hyst.

Signed-off-by: amy.shih <amy.shih@advantech.com.tw>
---

Changes in v6:
- Fix incorrect temperature limitation register setting of LTD.
Changes in v5:
- Squashed subsequent fixes of three patches into one patch.
Changes in v4:
- Fix the incorrect return value of case hwmon_fan_min in function "nct7904_write_fan".
- Fix the confused calculation of case hwmon_fan_min in function
Changes in v3:
- Squashed subsequent fixes of patches into one patch.

-- Fix bad fallthrough in various switch statements.
-- Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int.
-- Fix incorrect register setting of voltage.
-- Fix incorrect register bit mapping of temperature alarm.
-- Fix wrong return code 0x1fff in function nct7904_write_fan.
-- Delete wrong comment in function nct7904_write_in.
-- Fix wrong attribute names for temperature.
-- Fix wrong registers setting for temperature.

Changes in v2:
- Fix bad fallthrough in various switch statements.
- Fix the wrong declared of tmp as u8 in nct7904_write_in, declared tmp to int.
---
 drivers/hwmon/nct7904.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
index 76372f20d71a..ce688ab4fce2 100644
--- a/drivers/hwmon/nct7904.c
+++ b/drivers/hwmon/nct7904.c
@@ -398,22 +398,22 @@ static int nct7904_read_temp(struct device *dev, u32 attr, int channel,
 		}
 		return 0;
 	case hwmon_temp_max:
-		reg1 = LTD_HV_HL_REG;
+		reg1 = LTD_HV_LL_REG;
 		reg2 = TEMP_CH1_W_REG;
 		reg3 = DTS_T_CPU1_W_REG;
 		break;
 	case hwmon_temp_max_hyst:
-		reg1 = LTD_LV_HL_REG;
+		reg1 = LTD_LV_LL_REG;
 		reg2 = TEMP_CH1_WH_REG;
 		reg3 = DTS_T_CPU1_WH_REG;
 		break;
 	case hwmon_temp_crit:
-		reg1 = LTD_HV_LL_REG;
+		reg1 = LTD_HV_HL_REG;
 		reg2 = TEMP_CH1_C_REG;
 		reg3 = DTS_T_CPU1_C_REG;
 		break;
 	case hwmon_temp_crit_hyst:
-		reg1 = LTD_LV_LL_REG;
+		reg1 = LTD_LV_HL_REG;
 		reg2 = TEMP_CH1_CH_REG;
 		reg3 = DTS_T_CPU1_CH_REG;
 		break;
@@ -507,22 +507,22 @@ static int nct7904_write_temp(struct device *dev, u32 attr, int channel,
 
 	switch (attr) {
 	case hwmon_temp_max:
-		reg1 = LTD_HV_HL_REG;
+		reg1 = LTD_HV_LL_REG;
 		reg2 = TEMP_CH1_W_REG;
 		reg3 = DTS_T_CPU1_W_REG;
 		break;
 	case hwmon_temp_max_hyst:
-		reg1 = LTD_LV_HL_REG;
+		reg1 = LTD_LV_LL_REG;
 		reg2 = TEMP_CH1_WH_REG;
 		reg3 = DTS_T_CPU1_WH_REG;
 		break;
 	case hwmon_temp_crit:
-		reg1 = LTD_HV_LL_REG;
+		reg1 = LTD_HV_HL_REG;
 		reg2 = TEMP_CH1_C_REG;
 		reg3 = DTS_T_CPU1_C_REG;
 		break;
 	case hwmon_temp_crit_hyst:
-		reg1 = LTD_LV_LL_REG;
+		reg1 = LTD_LV_HL_REG;
 		reg2 = TEMP_CH1_CH_REG;
 		reg3 = DTS_T_CPU1_CH_REG;
 		break;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-28  9:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2085-06-18 15:57 [v6,1/1] hwmon: (nct7904) Fix incorrect temperature limitation register setting of LTD Amy.Shih
2019-09-02 16:09 ` Guenter Roeck
2019-09-28  9:37 ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).