OSDN Git Service

Merge branches 'pnp' and 'pm-tools'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 18 Jun 2015 23:18:43 +0000 (01:18 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 18 Jun 2015 23:18:43 +0000 (01:18 +0200)
* pnp:
  PNP / ACPI: use unsigned int in pnpacpi_encode_resources()
  PNP / ACPI: use u8 instead of int in acpi_resource_extended_irq context

* pm-tools:
  cpupower: mperf monitor: fix output in MAX_FREQ_SYSFS mode

drivers/pnp/pnpacpi/rsparser.c
tools/power/cpupower/utils/idle_monitor/mperf_monitor.c

index ff0356f..0579649 100644 (file)
@@ -28,8 +28,8 @@
 #include "../base.h"
 #include "pnpacpi.h"
 
-static void decode_irq_flags(struct pnp_dev *dev, int flags, int *triggering,
-                            int *polarity, int *shareable)
+static void decode_irq_flags(struct pnp_dev *dev, int flags, u8 *triggering,
+                            u8 *polarity, u8 *shareable)
 {
        switch (flags & (IORESOURCE_IRQ_LOWLEVEL | IORESOURCE_IRQ_HIGHLEVEL |
                         IORESOURCE_IRQ_LOWEDGE  | IORESOURCE_IRQ_HIGHEDGE)) {
@@ -654,7 +654,7 @@ static void pnpacpi_encode_irq(struct pnp_dev *dev,
                               struct resource *p)
 {
        struct acpi_resource_irq *irq = &resource->data.irq;
-       int triggering, polarity, shareable;
+       u8 triggering, polarity, shareable;
 
        if (!pnp_resource_enabled(p)) {
                irq->interrupt_count = 0;
@@ -683,7 +683,7 @@ static void pnpacpi_encode_ext_irq(struct pnp_dev *dev,
                                   struct resource *p)
 {
        struct acpi_resource_extended_irq *extended_irq = &resource->data.extended_irq;
-       int triggering, polarity, shareable;
+       u8 triggering, polarity, shareable;
 
        if (!pnp_resource_enabled(p)) {
                extended_irq->interrupt_count = 0;
@@ -873,7 +873,7 @@ int pnpacpi_encode_resources(struct pnp_dev *dev, struct acpi_buffer *buffer)
        /* pnpacpi_build_resource_template allocates extra mem */
        int res_cnt = (buffer->length - 1) / sizeof(struct acpi_resource) - 1;
        struct acpi_resource *resource = buffer->pointer;
-       int port = 0, irq = 0, dma = 0, mem = 0;
+       unsigned int port = 0, irq = 0, dma = 0, mem = 0;
 
        pnp_dbg(&dev->dev, "encode %d resources\n", res_cnt);
        while (i < res_cnt) {
index 90a8c4f..c83f160 100644 (file)
@@ -135,7 +135,7 @@ static int mperf_get_count_percent(unsigned int id, double *percent,
                dprint("%s: TSC Ref - mperf_diff: %llu, tsc_diff: %llu\n",
                       mperf_cstates[id].name, mperf_diff, tsc_diff);
        } else if (max_freq_mode == MAX_FREQ_SYSFS) {
-               timediff = timespec_diff_us(time_start, time_end);
+               timediff = max_frequency * timespec_diff_us(time_start, time_end);
                *percent = 100.0 * mperf_diff / timediff;
                dprint("%s: MAXFREQ - mperf_diff: %llu, time_diff: %llu\n",
                       mperf_cstates[id].name, mperf_diff, timediff);
@@ -176,7 +176,7 @@ static int mperf_get_count_freq(unsigned int id, unsigned long long *count,
        dprint("%s: Average freq based on %s maximum frequency:\n",
               mperf_cstates[id].name,
               (max_freq_mode == MAX_FREQ_TSC_REF) ? "TSC calculated" : "sysfs read");
-       dprint("%max_frequency: %lu", max_frequency);
+       dprint("max_frequency: %lu\n", max_frequency);
        dprint("aperf_diff: %llu\n", aperf_diff);
        dprint("mperf_diff: %llu\n", mperf_diff);
        dprint("avg freq:   %llu\n", *count);
@@ -279,6 +279,7 @@ use_sysfs:
                return -1;
        }
        max_freq_mode = MAX_FREQ_SYSFS;
+       max_frequency /= 1000; /* Default automatically to MHz value */
        return 0;
 }