thermal: int340x: processor_thermal: Add Tiger Lake support
authorSumeet Pawnikar <sumeet.r.pawnikar@intel.com>
Fri, 6 Mar 2020 10:19:12 +0000 (15:49 +0530)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 23 Mar 2020 14:20:47 +0000 (15:20 +0100)
Added new PCI id for Tiger Lake processor thermal device along with
MMIO RAPL support.

Signed-off-by: Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/1583489952-29612-1-git-send-email-sumeet.r.pawnikar@intel.com
drivers/thermal/intel/int340x_thermal/processor_thermal_device.c
tools/thermal/tmon/tmon.c

index b1fd345..297db1d 100644 (file)
@@ -45,6 +45,9 @@
 /* JasperLake thermal reporting device */
 #define PCI_DEVICE_ID_PROC_JSL_THERMAL 0x4503
 
+/* TigerLake thermal reporting device */
+#define PCI_DEVICE_ID_PROC_TGL_THERMAL 0x9A03
+
 #define DRV_NAME "proc_thermal"
 
 struct power_config {
@@ -728,6 +731,8 @@ static const struct pci_device_id proc_thermal_pci_ids[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_PROC_ICL_THERMAL),
                .driver_data = (kernel_ulong_t)&rapl_mmio_hsw, },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_PROC_JSL_THERMAL)},
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_PROC_TGL_THERMAL),
+               .driver_data = (kernel_ulong_t)&rapl_mmio_hsw, },
        { 0, },
 };
 
index 83ec6e4..7eb3216 100644 (file)
@@ -46,7 +46,7 @@ static void   start_daemon_mode(void);
 
 pthread_t event_tid;
 pthread_mutex_t input_lock;
-void usage()
+void usage(void)
 {
        printf("Usage: tmon [OPTION...]\n");
        printf("  -c, --control         cooling device in control\n");
@@ -62,7 +62,7 @@ void usage()
        exit(0);
 }
 
-void version()
+void version(void)
 {
        printf("TMON version %s\n", VERSION);
        exit(EXIT_SUCCESS);
@@ -70,7 +70,6 @@ void version()
 
 static void tmon_cleanup(void)
 {
-
        syslog(LOG_INFO, "TMON exit cleanup\n");
        fflush(stdout);
        refresh();
@@ -96,7 +95,6 @@ static void tmon_cleanup(void)
        exit(1);
 }
 
-
 static void tmon_sig_handler(int sig)
 {
        syslog(LOG_INFO, "TMON caught signal %d\n", sig);
@@ -120,7 +118,6 @@ static void tmon_sig_handler(int sig)
        tmon_exit = true;
 }
 
-
 static void start_syslog(void)
 {
        if (debug_on)
@@ -167,7 +164,6 @@ static void prepare_logging(void)
                return;
        }
 
-
        fprintf(tmon_log, "#----------- THERMAL SYSTEM CONFIG -------------\n");
        for (i = 0; i < ptdata.nr_tz_sensor; i++) {
                char binding_str[33]; /* size of long + 1 */
@@ -175,7 +171,7 @@ static void prepare_logging(void)
 
                memset(binding_str, 0, sizeof(binding_str));
                for (j = 0; j < 32; j++)
-                       binding_str[j] = (ptdata.tzi[i].cdev_binding & 1<<j) ?
+                       binding_str[j] = (ptdata.tzi[i].cdev_binding & (1 << j)) ?
                                '1' : '0';
 
                fprintf(tmon_log, "#thermal zone %s%02d cdevs binding: %32s\n",
@@ -187,7 +183,6 @@ static void prepare_logging(void)
                                trip_type_name[ptdata.tzi[i].tp[j].type],
                                ptdata.tzi[i].tp[j].temp);
                }
-
        }
 
        for (i = 0; i < ptdata.nr_cooling_dev; i++)
@@ -219,7 +214,6 @@ static struct option opts[] = {
        { 0, 0, NULL, 0 }
 };
 
-
 int main(int argc, char **argv)
 {
        int err = 0;
@@ -283,7 +277,7 @@ int main(int argc, char **argv)
        if (signal(SIGINT, tmon_sig_handler) == SIG_ERR)
                syslog(LOG_DEBUG, "Cannot handle SIGINT\n");
        if (signal(SIGTERM, tmon_sig_handler) == SIG_ERR)
-               syslog(LOG_DEBUG, "Cannot handle SIGINT\n");
+               syslog(LOG_DEBUG, "Cannot handle SIGTERM\n");
 
        if (probe_thermal_sysfs()) {
                pthread_mutex_destroy(&input_lock);
@@ -328,8 +322,7 @@ int main(int argc, char **argv)
                        show_cooling_device();
                }
                time_elapsed += ticktime;
-               controller_handler(trec[0].temp[target_tz_index] / 1000,
-                               &yk);
+               controller_handler(trec[0].temp[target_tz_index] / 1000, &yk);
                trec[0].pid_out_pct = yk;
                if (!dialogue_on)
                        show_control_w();
@@ -340,14 +333,15 @@ int main(int argc, char **argv)
        return 0;
 }
 
-static void start_daemon_mode()
+static void start_daemon_mode(void)
 {
        daemon_mode = 1;
        /* fork */
        pid_t   sid, pid = fork();
-       if (pid < 0) {
+
+       if (pid < 0)
                exit(EXIT_FAILURE);
-       else if (pid > 0)
+       else if (pid > 0)
                /* kill parent */
                exit(EXIT_SUCCESS);
 
@@ -366,11 +360,9 @@ static void start_daemon_mode()
        if ((chdir("/")) < 0)
                exit(EXIT_FAILURE);
 
-
        sleep(10);
 
        close(STDIN_FILENO);
        close(STDOUT_FILENO);
        close(STDERR_FILENO);
-
 }