[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <11077f24-72e4-4ba0-87b5-5a6e4dbd1eb0@linux.intel.com>
Date: Tue, 6 Jan 2026 15:45:12 -0800
From: Xi Pardee <xi.pardee@...ux.intel.com>
To: Ilpo Järvinen <ilpo.jarvinen@...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
Hi Ilpo,
Thanks for reviewing the patch. My response is inline.
On 12/23/2025 4:29 AM, Ilpo Järvinen wrote:
> 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.)
I missed this function. Will change the type of "mode" in
pmc_core_get_low_power_modes() in next version.
Will add another patch to remove one empty line in next version.
Thanks!
Xi
>
>> 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);
>>
>>
Powered by blists - more mailing lists