diff mbox series

hwmon: amd_energy: match for supported models

Message ID 20200706171715.124993-1-nchatrad@amd.com (mailing list archive)
State Accepted
Headers show
Series hwmon: amd_energy: match for supported models | expand

Commit Message

Naveen Krishna Chatradhi July 6, 2020, 5:17 p.m. UTC
The energy counters of certain models seems to be reporting
inconsisten values. Hence, match for the supported models.

Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
---
 drivers/hwmon/amd_energy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Naveen Krishna Ch July 6, 2020, 5:20 p.m. UTC | #1
Hi Guenter,

On Mon, 6 Jul 2020 at 22:47, Naveen Krishna Chatradhi <nchatrad@amd.com> wrote:
>
> The energy counters of certain models seems to be reporting
> inconsisten values. Hence, match for the supported models.
Actually, the supported models could be of family 0x17 in a range
between 0x30 ~ 0x3f. I did not find any macro or usage for a range
of models. Could you suggest to me if i've missed an existing way to
provide a range for models.

>
> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
> ---
>  drivers/hwmon/amd_energy.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
> index e95b7426106e..29603742c858 100644
> --- a/drivers/hwmon/amd_energy.c
> +++ b/drivers/hwmon/amd_energy.c
> @@ -362,7 +362,7 @@ static struct platform_driver amd_energy_driver = {
>  static struct platform_device *amd_energy_platdev;
>
>  static const struct x86_cpu_id cpu_ids[] __initconst = {
> -       X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
> +       X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
>         {}
>  };
>  MODULE_DEVICE_TABLE(x86cpu, cpu_ids);
> --
> 2.17.1
>
Guenter Roeck July 6, 2020, 9:54 p.m. UTC | #2
On 7/6/20 10:20 AM, Naveen Krishna Ch wrote:
> Hi Guenter,
> 
> On Mon, 6 Jul 2020 at 22:47, Naveen Krishna Chatradhi <nchatrad@amd.com> wrote:
>>
>> The energy counters of certain models seems to be reporting
>> inconsisten values. Hence, match for the supported models.
> Actually, the supported models could be of family 0x17 in a range
> between 0x30 ~ 0x3f. I did not find any macro or usage for a range
> of models. Could you suggest to me if i've missed an existing way to
> provide a range for models.
> 

I have no idea, sorry. Maybe match all of them, check for
actually supported models in the probe function, and return
-ENODEV if the model is not supported. Alternatively,
just list all models in the supported range.

Either case, how would you know that a future model in the presumably
supported range doesn't have a bug in the microcode that makes it
report bad data ? Assuming that this is a microcode bug, of course.

Guenter

>>
>> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
>> ---
>>  drivers/hwmon/amd_energy.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
>> index e95b7426106e..29603742c858 100644
>> --- a/drivers/hwmon/amd_energy.c
>> +++ b/drivers/hwmon/amd_energy.c
>> @@ -362,7 +362,7 @@ static struct platform_driver amd_energy_driver = {
>>  static struct platform_device *amd_energy_platdev;
>>
>>  static const struct x86_cpu_id cpu_ids[] __initconst = {
>> -       X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
>> +       X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
>>         {}
>>  };
>>  MODULE_DEVICE_TABLE(x86cpu, cpu_ids);
>> --
>> 2.17.1
>>
> 
>
Guenter Roeck July 7, 2020, 3:55 a.m. UTC | #3
On 7/6/20 10:20 AM, Naveen Krishna Ch wrote:
> Hi Guenter,
> 
> On Mon, 6 Jul 2020 at 22:47, Naveen Krishna Chatradhi <nchatrad@amd.com> wrote:
>>
>> The energy counters of certain models seems to be reporting
>> inconsisten values. Hence, match for the supported models.
> Actually, the supported models could be of family 0x17 in a range
> between 0x30 ~ 0x3f. I did not find any macro or usage for a range
> of models. Could you suggest to me if i've missed an existing way to
> provide a range for models.
> 
So, do you want me to apply the patch as-is, or are you going to send an
updated version ?

Thanks,
Guenter

>>
>> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
>> ---
>>  drivers/hwmon/amd_energy.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
>> index e95b7426106e..29603742c858 100644
>> --- a/drivers/hwmon/amd_energy.c
>> +++ b/drivers/hwmon/amd_energy.c
>> @@ -362,7 +362,7 @@ static struct platform_driver amd_energy_driver = {
>>  static struct platform_device *amd_energy_platdev;
>>
>>  static const struct x86_cpu_id cpu_ids[] __initconst = {
>> -       X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
>> +       X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
>>         {}
>>  };
>>  MODULE_DEVICE_TABLE(x86cpu, cpu_ids);
>> --
>> 2.17.1
>>
> 
>
Naveen Krishna Ch July 7, 2020, 6:24 a.m. UTC | #4
Hi Guenter

On Tue, 7 Jul 2020 at 09:25, Guenter Roeck <linux@roeck-us.net> wrote:
>
> On 7/6/20 10:20 AM, Naveen Krishna Ch wrote:
> > Hi Guenter,
> >
> > On Mon, 6 Jul 2020 at 22:47, Naveen Krishna Chatradhi <nchatrad@amd.com> wrote:
> >>
> >> The energy counters of certain models seems to be reporting
> >> inconsisten values. Hence, match for the supported models.
> > Actually, the supported models could be of family 0x17 in a range
> > between 0x30 ~ 0x3f. I did not find any macro or usage for a range
> > of models. Could you suggest to me if i've missed an existing way to
> > provide a range for models.
> >
> So, do you want me to apply the patch as-is, or are you going to send an
> updated version ?
Please take this patch as-is, i will update the supported models when ever
i get a chance to test on them.
>
> Thanks,
> Guenter
>
> >>
> >> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
> >> ---
> >>  drivers/hwmon/amd_energy.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
> >> index e95b7426106e..29603742c858 100644
> >> --- a/drivers/hwmon/amd_energy.c
> >> +++ b/drivers/hwmon/amd_energy.c
> >> @@ -362,7 +362,7 @@ static struct platform_driver amd_energy_driver = {
> >>  static struct platform_device *amd_energy_platdev;
> >>
> >>  static const struct x86_cpu_id cpu_ids[] __initconst = {
> >> -       X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
> >> +       X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
> >>         {}
> >>  };
> >>  MODULE_DEVICE_TABLE(x86cpu, cpu_ids);
> >> --
> >> 2.17.1
> >>
> >
> >
>
Guenter Roeck July 7, 2020, 2:16 p.m. UTC | #5
On Mon, Jul 06, 2020 at 10:47:15PM +0530, Naveen Krishna Chatradhi wrote:
> The energy counters of certain models seems to be reporting
> inconsisten values. Hence, match for the supported models.
> 
> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>

Applied.

Thanks,
Guenter

> ---
>  drivers/hwmon/amd_energy.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
> index e95b7426106e..29603742c858 100644
> --- a/drivers/hwmon/amd_energy.c
> +++ b/drivers/hwmon/amd_energy.c
> @@ -362,7 +362,7 @@ static struct platform_driver amd_energy_driver = {
>  static struct platform_device *amd_energy_platdev;
>  
>  static const struct x86_cpu_id cpu_ids[] __initconst = {
> -	X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
> +	X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
>  	{}
>  };
>  MODULE_DEVICE_TABLE(x86cpu, cpu_ids);
diff mbox series

Patch

diff --git a/drivers/hwmon/amd_energy.c b/drivers/hwmon/amd_energy.c
index e95b7426106e..29603742c858 100644
--- a/drivers/hwmon/amd_energy.c
+++ b/drivers/hwmon/amd_energy.c
@@ -362,7 +362,7 @@  static struct platform_driver amd_energy_driver = {
 static struct platform_device *amd_energy_platdev;
 
 static const struct x86_cpu_id cpu_ids[] __initconst = {
-	X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL),
+	X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL),
 	{}
 };
 MODULE_DEVICE_TABLE(x86cpu, cpu_ids);