mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device
@ 2025-11-11  0:45 Srinivas Pandruvada
  2025-11-11  0:45 ` [PATCH 2/3] thermal: intel: int340x: Add DLVR support for Nova Lake Srinivas Pandruvada
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Srinivas Pandruvada @ 2025-11-11  0:45 UTC (permalink / raw)
  To: rafael, daniel.lezcano, lukasz.luba
  Cc: linux-pm, linux-kernel, Srinivas Pandruvada

Add PCI IDs for Nova Lake processor thermal device.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 .../intel/int340x_thermal/processor_thermal_device.h   |  2 ++
 .../int340x_thermal/processor_thermal_device_pci.c     | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h b/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
index 30760475102f..b79937a386ec 100644
--- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
+++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
@@ -27,6 +27,8 @@
 #define PCI_DEVICE_ID_INTEL_JSL_THERMAL	0x4E03
 #define PCI_DEVICE_ID_INTEL_LNLM_THERMAL	0x641D
 #define PCI_DEVICE_ID_INTEL_MTLP_THERMAL	0x7D03
+#define PCI_DEVICE_ID_INTEL_NVL_H_THERMAL	0xD703
+#define PCI_DEVICE_ID_INTEL_NVL_S_THERMAL	0xAD03
 #define PCI_DEVICE_ID_INTEL_RPL_THERMAL	0xA71D
 #define PCI_DEVICE_ID_INTEL_SKL_THERMAL	0x1903
 #define PCI_DEVICE_ID_INTEL_TGL_THERMAL	0x9A03
diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
index e2471768d355..0d4dcc66e097 100644
--- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
+++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
@@ -504,6 +504,16 @@ static const struct pci_device_id proc_thermal_pci_ids[] = {
 	  PROC_THERMAL_FEATURE_RAPL | PROC_THERMAL_FEATURE_DLVR |
 	  PROC_THERMAL_FEATURE_DVFS | PROC_THERMAL_FEATURE_WT_HINT |
 	  PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC) },
+	{ PCI_DEVICE_DATA(INTEL, NVL_H_THERMAL, PROC_THERMAL_FEATURE_RAPL |
+	  PROC_THERMAL_FEATURE_DLVR | PROC_THERMAL_FEATURE_DVFS |
+	  PROC_THERMAL_FEATURE_MSI_SUPPORT | PROC_THERMAL_FEATURE_WT_HINT |
+	  PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC |
+	  PROC_THERMAL_FEATURE_SOC_POWER_SLIDER) },
+	{ PCI_DEVICE_DATA(INTEL, NVL_S_THERMAL, PROC_THERMAL_FEATURE_RAPL |
+	  PROC_THERMAL_FEATURE_DLVR | PROC_THERMAL_FEATURE_DVFS |
+	  PROC_THERMAL_FEATURE_MSI_SUPPORT | PROC_THERMAL_FEATURE_WT_HINT |
+	  PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC |
+	  PROC_THERMAL_FEATURE_SOC_POWER_SLIDER) },
 	{ },
 };
 
-- 
2.51.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/3] thermal: intel: int340x: Add DLVR support for Nova Lake
  2025-11-11  0:45 [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Srinivas Pandruvada
@ 2025-11-11  0:45 ` Srinivas Pandruvada
  2025-11-11  0:45 ` [PATCH 3/3] ACPI: DPTF: Support " Srinivas Pandruvada
  2025-11-12 20:15 ` [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Rafael J. Wysocki
  2 siblings, 0 replies; 4+ messages in thread
From: Srinivas Pandruvada @ 2025-11-11  0:45 UTC (permalink / raw)
  To: rafael, daniel.lezcano, lukasz.luba
  Cc: linux-pm, linux-kernel, Srinivas Pandruvada

Add support for DLVR (Digital Linear Voltage Regulator) for Nova Lake.
There are no new sysfs attributes or difference in operations compared
to prior generations.

MMIO offset and bit positions are changed. Also no mapping is required
as units are already in MHz.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 .../int340x_thermal/processor_thermal_rfim.c      | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c b/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c
index 1f3d22b659db..589a3a71f0c4 100644
--- a/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c
+++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c
@@ -87,6 +87,17 @@ static const struct mapping_table lnl_dlvr_mapping[] = {
 	{NULL, 0, NULL},
 };
 
+static const struct mmio_reg nvl_dlvr_mmio_regs[] = {
+	{ 0, 0x19208, 5, 0x1F, 0}, /* dlvr_spread_spectrum_pct */
+	{ 0, 0x19208, 1, 0x1, 5}, /* dlvr_control_mode */
+	{ 0, 0x19208, 1, 0x1, 6}, /* dlvr_control_lock */
+	{ 0, 0x19208, 1, 0x1, 7}, /* dlvr_rfim_enable */
+	{ 0, 0x19208, 12, 0xFFF, 8}, /* dlvr_freq_select */
+	{ 1, 0x19210, 2, 0x3, 30}, /* dlvr_hardware_rev */
+	{ 1, 0x19210, 16, 0xFFFF, 0}, /* dlvr_freq_mhz */
+	{ 1, 0x19210, 1, 0x1, 16}, /* dlvr_pll_busy */
+};
+
 static int match_mapping_table(const struct mapping_table *table, const char *attr_name,
 			       bool match_int_value, const u32 value, const char *value_str,
 			       char **result_str, u32 *result_int)
@@ -446,6 +457,10 @@ int proc_thermal_rfim_add(struct pci_dev *pdev, struct proc_thermal_device *proc
 			dlvr_mmio_regs_table = lnl_dlvr_mmio_regs;
 			dlvr_mapping = lnl_dlvr_mapping;
 			break;
+		case PCI_DEVICE_ID_INTEL_NVL_H_THERMAL:
+		case PCI_DEVICE_ID_INTEL_NVL_S_THERMAL:
+			dlvr_mmio_regs_table = nvl_dlvr_mmio_regs;
+			break;
 		default:
 			dlvr_mmio_regs_table = dlvr_mmio_regs;
 			break;
-- 
2.51.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 3/3] ACPI: DPTF: Support Nova Lake
  2025-11-11  0:45 [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Srinivas Pandruvada
  2025-11-11  0:45 ` [PATCH 2/3] thermal: intel: int340x: Add DLVR support for Nova Lake Srinivas Pandruvada
@ 2025-11-11  0:45 ` Srinivas Pandruvada
  2025-11-12 20:15 ` [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Rafael J. Wysocki
  2 siblings, 0 replies; 4+ messages in thread
From: Srinivas Pandruvada @ 2025-11-11  0:45 UTC (permalink / raw)
  To: rafael, daniel.lezcano, lukasz.luba
  Cc: linux-pm, linux-kernel, Srinivas Pandruvada

Add Nova Lake ACPI IDs for DPTF.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 drivers/acpi/dptf/dptf_power.c                          | 2 ++
 drivers/acpi/fan.h                                      | 1 +
 drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 1 +
 drivers/thermal/intel/int340x_thermal/int3403_thermal.c | 1 +
 4 files changed, 5 insertions(+)

diff --git a/drivers/acpi/dptf/dptf_power.c b/drivers/acpi/dptf/dptf_power.c
index 776914f31b9e..55ccbb8ddbe3 100644
--- a/drivers/acpi/dptf/dptf_power.c
+++ b/drivers/acpi/dptf/dptf_power.c
@@ -240,6 +240,8 @@ static const struct acpi_device_id int3407_device_ids[] = {
 	{"INTC10D9", 0},
 	{"INTC1100", 0},
 	{"INTC1101", 0},
+	{"INTC10F7", 0},
+	{"INTC10F8", 0},
 	{"", 0},
 };
 MODULE_DEVICE_TABLE(acpi, int3407_device_ids);
diff --git a/drivers/acpi/fan.h b/drivers/acpi/fan.h
index bedbab0e8e4e..c9583b05d3fb 100644
--- a/drivers/acpi/fan.h
+++ b/drivers/acpi/fan.h
@@ -21,6 +21,7 @@
 	{"INTC10A2", }, /* Fan for Raptor Lake generation */ \
 	{"INTC10D6", }, /* Fan for Panther Lake generation */ \
 	{"INTC10FE", }, /* Fan for Wildcat Lake generation */ \
+	{"INTC10F5", }, /* Fan for Nova Lake generation */ \
 	{"PNP0C0B", } /* Generic ACPI fan */
 
 #define ACPI_FPS_NAME_LEN	20
diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
index 908cc1bf57f1..866ea9927ab1 100644
--- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
+++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
@@ -691,6 +691,7 @@ static const struct acpi_device_id int3400_thermal_match[] = {
 	{"INTC10A0", 0},
 	{"INTC10D4", 0},
 	{"INTC10FC", 0},
+	{"INTC10F3", 0},
 	{}
 };
 
diff --git a/drivers/thermal/intel/int340x_thermal/int3403_thermal.c b/drivers/thermal/intel/int340x_thermal/int3403_thermal.c
index ba63796761eb..264c9bc8e645 100644
--- a/drivers/thermal/intel/int340x_thermal/int3403_thermal.c
+++ b/drivers/thermal/intel/int340x_thermal/int3403_thermal.c
@@ -277,6 +277,7 @@ static const struct acpi_device_id int3403_device_ids[] = {
 	{"INTC10A1", 0},
 	{"INTC10D5", 0},
 	{"INTC10FD", 0},
+	{"INTC10F4", 0},
 	{"", 0},
 };
 MODULE_DEVICE_TABLE(acpi, int3403_device_ids);
-- 
2.51.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device
  2025-11-11  0:45 [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Srinivas Pandruvada
  2025-11-11  0:45 ` [PATCH 2/3] thermal: intel: int340x: Add DLVR support for Nova Lake Srinivas Pandruvada
  2025-11-11  0:45 ` [PATCH 3/3] ACPI: DPTF: Support " Srinivas Pandruvada
@ 2025-11-12 20:15 ` Rafael J. Wysocki
  2 siblings, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2025-11-12 20:15 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: rafael, daniel.lezcano, lukasz.luba, linux-pm, linux-kernel

On Tue, Nov 11, 2025 at 1:45 AM Srinivas Pandruvada
<srinivas.pandruvada@linux.intel.com> wrote:
>
> Add PCI IDs for Nova Lake processor thermal device.
>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
>  .../intel/int340x_thermal/processor_thermal_device.h   |  2 ++
>  .../int340x_thermal/processor_thermal_device_pci.c     | 10 ++++++++++
>  2 files changed, 12 insertions(+)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h b/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
> index 30760475102f..b79937a386ec 100644
> --- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
> +++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device.h
> @@ -27,6 +27,8 @@
>  #define PCI_DEVICE_ID_INTEL_JSL_THERMAL        0x4E03
>  #define PCI_DEVICE_ID_INTEL_LNLM_THERMAL       0x641D
>  #define PCI_DEVICE_ID_INTEL_MTLP_THERMAL       0x7D03
> +#define PCI_DEVICE_ID_INTEL_NVL_H_THERMAL      0xD703
> +#define PCI_DEVICE_ID_INTEL_NVL_S_THERMAL      0xAD03
>  #define PCI_DEVICE_ID_INTEL_RPL_THERMAL        0xA71D
>  #define PCI_DEVICE_ID_INTEL_SKL_THERMAL        0x1903
>  #define PCI_DEVICE_ID_INTEL_TGL_THERMAL        0x9A03
> diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
> index e2471768d355..0d4dcc66e097 100644
> --- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
> +++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
> @@ -504,6 +504,16 @@ static const struct pci_device_id proc_thermal_pci_ids[] = {
>           PROC_THERMAL_FEATURE_RAPL | PROC_THERMAL_FEATURE_DLVR |
>           PROC_THERMAL_FEATURE_DVFS | PROC_THERMAL_FEATURE_WT_HINT |
>           PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC) },
> +       { PCI_DEVICE_DATA(INTEL, NVL_H_THERMAL, PROC_THERMAL_FEATURE_RAPL |
> +         PROC_THERMAL_FEATURE_DLVR | PROC_THERMAL_FEATURE_DVFS |
> +         PROC_THERMAL_FEATURE_MSI_SUPPORT | PROC_THERMAL_FEATURE_WT_HINT |
> +         PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC |
> +         PROC_THERMAL_FEATURE_SOC_POWER_SLIDER) },
> +       { PCI_DEVICE_DATA(INTEL, NVL_S_THERMAL, PROC_THERMAL_FEATURE_RAPL |
> +         PROC_THERMAL_FEATURE_DLVR | PROC_THERMAL_FEATURE_DVFS |
> +         PROC_THERMAL_FEATURE_MSI_SUPPORT | PROC_THERMAL_FEATURE_WT_HINT |
> +         PROC_THERMAL_FEATURE_POWER_FLOOR | PROC_THERMAL_FEATURE_PTC |
> +         PROC_THERMAL_FEATURE_SOC_POWER_SLIDER) },
>         { },
>  };
>
> --

Applied along with the rest of the series as 6.19 material, thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-11-12 20:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-11  0:45 [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Srinivas Pandruvada
2025-11-11  0:45 ` [PATCH 2/3] thermal: intel: int340x: Add DLVR support for Nova Lake Srinivas Pandruvada
2025-11-11  0:45 ` [PATCH 3/3] ACPI: DPTF: Support " Srinivas Pandruvada
2025-11-12 20:15 ` [PATCH 1/3] thermal: int340x: processor_thermal: Add Nova Lake processor thermal device Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®