Re: [PATCH v1 1/4] hwmon (it87): Rename NOEXIT to BIOSOPEN as more descriptive of requirement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 01, 2024 at 01:56:03PM +1100, Frank Crawford wrote:
> Rename previous definitions to match the new information that they are
> preinitialised by the BIOS and should not receive codes to enter or exit
> configuration mode.
> 

That is wrong. NOEXIT is needed for broken chips where two chips are on the
sio bus, and disabling sio access on the broken chip results in sio access
errors. The description is also wrong, because SIO mode still needs to be
_entered_.

Also, a BIOS open mode, if it indeed exists, would have to be be board
specific, not chip specific.

Guenter

> Signed-off-by: Frank Crawford <frank@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/hwmon/it87.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
> index fbe86cec6055..6eeba3a01e3c 100644
> --- a/drivers/hwmon/it87.c
> +++ b/drivers/hwmon/it87.c
> @@ -320,7 +320,7 @@ struct it87_devices {
>   * second SIO address. Never exit configuration mode on these
>   * chips to avoid the problem.
>   */
> -#define FEAT_CONF_NOEXIT	BIT(19)	/* Chip should not exit conf mode */
> +#define FEAT_CONF_BIOSOPEN	BIT(19)	/* Chip conf mode enabled by BIOS */
>  #define FEAT_FOUR_FANS		BIT(20)	/* Supports four fans */
>  #define FEAT_FOUR_PWM		BIT(21)	/* Supports four fan controls */
>  #define FEAT_FOUR_TEMP		BIT(22)
> @@ -452,7 +452,7 @@ static const struct it87_devices it87_devices[] = {
>  		.model = "IT8790E",
>  		.features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
>  		  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI | FEAT_IN7_INTERNAL
> -		  | FEAT_PWM_FREQ2 | FEAT_FANCTL_ONOFF | FEAT_CONF_NOEXIT,
> +		  | FEAT_PWM_FREQ2 | FEAT_FANCTL_ONOFF | FEAT_CONF_BIOSOPEN,
>  		.peci_mask = 0x07,
>  	},
>  	[it8792] = {
> @@ -461,7 +461,7 @@ static const struct it87_devices it87_devices[] = {
>  		.features = FEAT_NEWER_AUTOPWM | FEAT_16BIT_FANS
>  		  | FEAT_TEMP_OFFSET | FEAT_TEMP_OLD_PECI | FEAT_TEMP_PECI
>  		  | FEAT_10_9MV_ADC | FEAT_IN7_INTERNAL | FEAT_FANCTL_ONOFF
> -		  | FEAT_CONF_NOEXIT,
> +		  | FEAT_CONF_BIOSOPEN,
>  		.peci_mask = 0x07,
>  		.old_peci_mask = 0x02,	/* Actually reports PCH */
>  	},
> @@ -507,7 +507,7 @@ static const struct it87_devices it87_devices[] = {
>  		.features = FEAT_NEWER_AUTOPWM | FEAT_16BIT_FANS
>  		  | FEAT_TEMP_OFFSET | FEAT_TEMP_OLD_PECI | FEAT_TEMP_PECI
>  		  | FEAT_10_9MV_ADC | FEAT_IN7_INTERNAL | FEAT_FANCTL_ONOFF
> -		  | FEAT_CONF_NOEXIT,
> +		  | FEAT_CONF_BIOSOPEN,
>  		.peci_mask = 0x07,
>  		.old_peci_mask = 0x02,	/* Actually reports PCH */
>  	},
> @@ -544,7 +544,7 @@ static const struct it87_devices it87_devices[] = {
>  #define has_four_temp(data)	((data)->features & FEAT_FOUR_TEMP)
>  #define has_six_temp(data)	((data)->features & FEAT_SIX_TEMP)
>  #define has_vin3_5v(data)	((data)->features & FEAT_VIN3_5V)
> -#define has_conf_noexit(data)	((data)->features & FEAT_CONF_NOEXIT)
> +#define has_conf_biosopen(data)	((data)->features & FEAT_CONF_BIOSOPEN)
>  #define has_scaling(data)	((data)->features & (FEAT_12MV_ADC | \
>  						     FEAT_10_9MV_ADC))
>  #define has_fanctl_onoff(data)	((data)->features & FEAT_FANCTL_ONOFF)
> @@ -748,7 +748,7 @@ static int smbus_disable(struct it87_data *data)
>  		superio_select(data->sioaddr, PME);
>  		superio_outb(data->sioaddr, IT87_SPECIAL_CFG_REG,
>  			     data->ec_special_config & ~data->smbus_bitmap);
> -		superio_exit(data->sioaddr, has_conf_noexit(data));
> +		superio_exit(data->sioaddr, has_conf_biosopen(data));
>  	}
>  	return 0;
>  }
> @@ -765,7 +765,7 @@ static int smbus_enable(struct it87_data *data)
>  		superio_select(data->sioaddr, PME);
>  		superio_outb(data->sioaddr, IT87_SPECIAL_CFG_REG,
>  			     data->ec_special_config);
> -		superio_exit(data->sioaddr, has_conf_noexit(data));
> +		superio_exit(data->sioaddr, has_conf_biosopen(data));
>  	}
>  	return 0;
>  }
> @@ -3143,7 +3143,7 @@ static int __init it87_find(int sioaddr, unsigned short *address,
>  	}
>  
>  exit:
> -	superio_exit(sioaddr, config ? has_conf_noexit(config) : false);
> +	superio_exit(sioaddr, config ? has_conf_biosopen(config) : false);
>  	return err;
>  }
>  
> @@ -3540,7 +3540,7 @@ static void it87_resume_sio(struct platform_device *pdev)
>  			     reg2c);
>  	}
>  
> -	superio_exit(data->sioaddr, has_conf_noexit(data));
> +	superio_exit(data->sioaddr, has_conf_biosopen(data));
>  }
>  
>  static int it87_resume(struct device *dev)




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux