Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'acpi-cppc'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 8 Apr 2016 19:46:05 +0000 (21:46 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 8 Apr 2016 19:46:05 +0000 (21:46 +0200)
* pm-cpufreq:
  cpufreq: dt: Drop stale comment
  cpufreq: intel_pstate: Documenation for structures
  cpufreq: intel_pstate: fix inconsistency in setting policy limits
  intel_pstate: Avoid extra invocation of intel_pstate_sample()
  intel_pstate: Do not set utilization update hook too early

* pm-cpuidle:
  intel_idle: Add KBL support
  intel_idle: Add SKX support
  intel_idle: Clean up all registered devices on exit.
  intel_idle: Propagate hot plug errors.
  intel_idle: Don't overreact to a cpuidle registration failure.
  intel_idle: Setup the timer broadcast only on successful driver load.
  intel_idle: Avoid a double free of the per-CPU data.
  intel_idle: Fix dangling registration on error path.
  intel_idle: Fix deallocation order on the driver exit path.
  intel_idle: Remove redundant initialization calls.
  intel_idle: Fix a helper function's return value.
  intel_idle: remove useless return from void function.

* acpi-cppc:
  mailbox: pcc: Don't access an unmapped memory address space

1  2  3  4 
drivers/mailbox/pcc.c

index 0ddf638d60f3645c4a083b37027625dfd850b97f,8f779a1ec99c4b248c9721fceef19b579432539b,8f779a1ec99c4b248c9721fceef19b579432539b,9d3955e6ab44f2fb99e23094e73570c11d567024..043828d541f794b331fdaef51e2649a58a472525
@@@@@ -358,18 -270,9 -270,9 -364,18 +358,18 @@@@@ static int __init acpi_pcc_probe(void
                (unsigned long) pcct_tbl + sizeof(struct acpi_table_pcct));
    
        for (i = 0; i < count; i++) {
 ++             struct acpi_generic_address *db_reg;
 ++             struct acpi_pcct_hw_reduced *pcct_ss;
                pcc_mbox_channels[i].con_priv = pcct_entry;
-               pcct_entry = (struct acpi_subtable_header *)
-                       ((unsigned long) pcct_entry + pcct_entry->length);
 ++ 
 ++             /* If doorbell is in system memory cache the virt address */
 ++             pcct_ss = (struct acpi_pcct_hw_reduced *)pcct_entry;
 ++             db_reg = &pcct_ss->doorbell_register;
 ++             if (db_reg->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY)
 ++                     pcc_doorbell_vaddr[i] = acpi_os_ioremap(db_reg->address,
 ++                                                     db_reg->bit_width/8);
+               pcct_entry = (struct acpi_subtable_header *)
+                       ((unsigned long) pcct_entry + pcct_entry->length);
        }
    
        pcc_mbox_ctrl.num_chans = count;