lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0de42147-16c3-e610-caae-e7aba5406782@linux.intel.com>
Date: Tue, 23 Dec 2025 14:29:23 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Xi Pardee <xi.pardee@...ux.intel.com>
cc: irenic.rajneesh@...il.com, david.e.box@...ux.intel.com, 
    hdegoede@...hat.com, platform-driver-x86@...r.kernel.org, 
    LKML <linux-kernel@...r.kernel.org>, linux-pm@...r.kernel.org
Subject: Re: [PATCH 1/3] platform/x86/intel/pmc: Change LPM mode fields to
 u8

On Tue, 16 Dec 2025, Xi Pardee wrote:

> Change the datatypes pf num_lpm_modes and lpm_en_modes[] from int
> to u8. The u8 type is more appropriate and improves the readability
> and maintainability of the code.
> 
> Signed-off-by: Xi Pardee <xi.pardee@...ux.intel.com>
> ---
>  drivers/platform/x86/intel/pmc/core.c | 18 ++++++++++--------
>  drivers/platform/x86/intel/pmc/core.h |  4 ++--
>  2 files changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel/pmc/core.c b/drivers/platform/x86/intel/pmc/core.c
> index 7d7ae8a40b0ec..3e916228e7ed2 100644
> --- a/drivers/platform/x86/intel/pmc/core.c
> +++ b/drivers/platform/x86/intel/pmc/core.c
> @@ -779,7 +779,7 @@ static int pmc_core_substate_res_show(struct seq_file *s, void *unused)
>  	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];
>  	const int lpm_adj_x2 = pmc->map->lpm_res_counter_step_x2;
>  	u32 offset = pmc->map->lpm_residency_offset;
> -	int mode;
> +	u8 mode;
>  
>  	seq_printf(s, "%-10s %-15s\n", "Substate", "Residency");
>  
> @@ -838,7 +838,7 @@ static void pmc_core_substate_req_header_show(struct seq_file *s, int pmc_index,
>  					      enum header_type type)
>  {
>  	struct pmc_dev *pmcdev = s->private;
> -	int mode;
> +	u8 mode;
>  
>  	seq_printf(s, "%40s |", "Element");
>  	pmc_for_each_mode(mode, pmcdev)
> @@ -880,7 +880,7 @@ static int pmc_core_substate_blk_req_show(struct seq_file *s, void *unused)
>  			const struct pmc_bit_map *map;
>  
>  			for (map = maps[r_idx]; map->name; map++) {
> -				int mode;
> +				u8 mode;
>  
>  				if (!map->blk)
>  					continue;
> @@ -953,7 +953,8 @@ static int pmc_core_substate_req_regs_show(struct seq_file *s, void *unused)
>  			u32 lpm_status;
>  			u32 lpm_status_live;
>  			const struct pmc_bit_map *map;
> -			int mode, i, len = 32;
> +			int i, len = 32;
> +			u8 mode;
>  
>  			/*
>  			 * Capture the requirements and create a mask so that we only
> @@ -1065,7 +1066,7 @@ static int pmc_core_lpm_latch_mode_show(struct seq_file *s, void *unused)
>  	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];
>  	bool c10;
>  	u32 reg;
> -	int mode;
> +	u8 mode;
>  
>  	reg = pmc_core_reg_read(pmc, pmc->map->lpm_sts_latch_en_offset);
>  	if (reg & LPM_STS_LATCH_MODE) {
> @@ -1097,8 +1098,9 @@ static ssize_t pmc_core_lpm_latch_mode_write(struct file *file,
>  	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];
>  	bool clear = false, c10 = false;
>  	unsigned char buf[8];
> -	int m, mode;
> +	int mode;
>  	u32 reg;
> +	u8 m;
>  
>  	if (count > sizeof(buf) - 1)
>  		return -EINVAL;
> @@ -1490,8 +1492,8 @@ int pmc_core_pmt_get_lpm_req(struct pmc_dev *pmcdev, struct pmc *pmc, struct tel
>  {
>  	const u8 *lpm_indices;
>  	int num_maps, mode_offset = 0;
> -	int ret, mode;
> -	int lpm_size;
> +	int ret, lpm_size;
> +	u8 mode;
>  
>  	lpm_indices = pmc->map->lpm_reg_index;
>  	num_maps = pmc->map->lpm_num_maps;

Why is "mode" in pmc_core_get_low_power_modes() left untouched?

(Unrelated to the patch, it seems to contain a double empty line as well.)

> diff --git a/drivers/platform/x86/intel/pmc/core.h b/drivers/platform/x86/intel/pmc/core.h
> index 272fb4f57f346..ead2f33ed3ed5 100644
> --- a/drivers/platform/x86/intel/pmc/core.h
> +++ b/drivers/platform/x86/intel/pmc/core.h
> @@ -462,8 +462,8 @@ struct pmc_dev {
>  	struct mutex lock; /* generic mutex lock for PMC Core */
>  
>  	u64 s0ix_counter;
> -	int num_lpm_modes;
> -	int lpm_en_modes[LPM_MAX_NUM_MODES];
> +	u8 num_lpm_modes;
> +	u8 lpm_en_modes[LPM_MAX_NUM_MODES];
>  	void (*suspend)(struct pmc_dev *pmcdev);
>  	int (*resume)(struct pmc_dev *pmcdev);
>  
> 

-- 
 i.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ