2018-12-08 06:35:25

by Wen Pu

[permalink] [raw]
Subject: [RFC PATCH] hwmon/k10temp: Add Hygon Dhyana support

Add support for Hygon Dhyana family 18h processor for k10temp to get the
temperature. As Hygon Dhyana shares the same function interface with AMD
family 17h, so add Hygon PCI Vendor ID and reuse the code path of AMD.

Signed-off-by: Pu Wen <[email protected]>
---
drivers/hwmon/k10temp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
index 2cef0c3..e24ba10 100644
--- a/drivers/hwmon/k10temp.c
+++ b/drivers/hwmon/k10temp.c
@@ -330,7 +330,7 @@ static int k10temp_probe(struct pci_dev *pdev,
(boot_cpu_data.x86_model & 0xf0) == 0x70)) {
data->read_htcreg = read_htcreg_nb_f15;
data->read_tempreg = read_tempreg_nb_f15;
- } else if (boot_cpu_data.x86 == 0x17) {
+ } else if (boot_cpu_data.x86 == 0x17 || boot_cpu_data.x86 == 0x18) {
data->temp_adjust_mask = 0x80000;
data->read_tempreg = read_tempreg_nb_f17;
data->show_tdie = true;
@@ -367,6 +367,7 @@ static const struct pci_device_id k10temp_id_table[] = {
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
+ { PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
{}
};
MODULE_DEVICE_TABLE(pci, k10temp_id_table);
--
2.7.4



2018-12-08 11:14:28

by Borislav Petkov

[permalink] [raw]
Subject: Re: [RFC PATCH] hwmon/k10temp: Add Hygon Dhyana support

On Sat, Dec 08, 2018 at 02:33:28PM +0800, Pu Wen wrote:
> Add support for Hygon Dhyana family 18h processor for k10temp to get the
> temperature. As Hygon Dhyana shares the same function interface with AMD
> family 17h, so add Hygon PCI Vendor ID and reuse the code path of AMD.
>
> Signed-off-by: Pu Wen <[email protected]>
> ---
> drivers/hwmon/k10temp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
> index 2cef0c3..e24ba10 100644
> --- a/drivers/hwmon/k10temp.c
> +++ b/drivers/hwmon/k10temp.c
> @@ -330,7 +330,7 @@ static int k10temp_probe(struct pci_dev *pdev,
> (boot_cpu_data.x86_model & 0xf0) == 0x70)) {
> data->read_htcreg = read_htcreg_nb_f15;
> data->read_tempreg = read_tempreg_nb_f15;
> - } else if (boot_cpu_data.x86 == 0x17) {
> + } else if (boot_cpu_data.x86 == 0x17 || boot_cpu_data.x86 == 0x18) {
> data->temp_adjust_mask = 0x80000;
> data->read_tempreg = read_tempreg_nb_f17;
> data->show_tdie = true;
> @@ -367,6 +367,7 @@ static const struct pci_device_id k10temp_id_table[] = {
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F3) },
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
> + { PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
> {}
> };
> MODULE_DEVICE_TABLE(pci, k10temp_id_table);
> --

Acked-by: Borislav Petkov <[email protected]>

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2018-12-08 15:58:11

by Guenter Roeck

[permalink] [raw]
Subject: Re: [RFC PATCH] hwmon/k10temp: Add Hygon Dhyana support

On Sat, Dec 08, 2018 at 02:33:28PM +0800, Pu Wen wrote:
> Add support for Hygon Dhyana family 18h processor for k10temp to get the
> temperature. As Hygon Dhyana shares the same function interface with AMD
> family 17h, so add Hygon PCI Vendor ID and reuse the code path of AMD.
>
> Signed-off-by: Pu Wen <[email protected]>
> Acked-by: Borislav Petkov <[email protected]>

Applied to hwmon-next.

If the Hygon CPUs have Tctl/Tdie temperature offsets similar to some
of the AMD CPUs, please submit follow-up patches as necessary to add
support for it.

Thanks,
Guenter

> ---
> drivers/hwmon/k10temp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
> index 2cef0c3..e24ba10 100644
> --- a/drivers/hwmon/k10temp.c
> +++ b/drivers/hwmon/k10temp.c
> @@ -330,7 +330,7 @@ static int k10temp_probe(struct pci_dev *pdev,
> (boot_cpu_data.x86_model & 0xf0) == 0x70)) {
> data->read_htcreg = read_htcreg_nb_f15;
> data->read_tempreg = read_tempreg_nb_f15;
> - } else if (boot_cpu_data.x86 == 0x17) {
> + } else if (boot_cpu_data.x86 == 0x17 || boot_cpu_data.x86 == 0x18) {
> data->temp_adjust_mask = 0x80000;
> data->read_tempreg = read_tempreg_nb_f17;
> data->show_tdie = true;
> @@ -367,6 +367,7 @@ static const struct pci_device_id k10temp_id_table[] = {
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F3) },
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
> { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
> + { PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
> {}
> };
> MODULE_DEVICE_TABLE(pci, k10temp_id_table);

2018-12-09 06:40:52

by Wen Pu

[permalink] [raw]
Subject: Re: [RFC PATCH] hwmon/k10temp: Add Hygon Dhyana support

On 2018/12/8 23:56, Guenter Roeck wrote:
> On Sat, Dec 08, 2018 at 02:33:28PM +0800, Pu Wen wrote:
>> Add support for Hygon Dhyana family 18h processor for k10temp to get the
>> temperature. As Hygon Dhyana shares the same function interface with AMD
>> family 17h, so add Hygon PCI Vendor ID and reuse the code path of AMD.
>>
>> Signed-off-by: Pu Wen <[email protected]>
>> Acked-by: Borislav Petkov <[email protected]>
>
> Applied to hwmon-next.

Thanks a lot.

> If the Hygon CPUs have Tctl/Tdie temperature offsets similar to some
> of the AMD CPUs, please submit follow-up patches as necessary to add
> support for it.

Right now Hygon Dhyana CPUs do not have temperature offsets. Of course
I'll submit follow-up patches if necessary in the future.

--
Regards,
Pu Wen