From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date: Fri, 8 Apr 2016 19:46:05 +0000 (+0200)
Subject: Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'acpi-cppc'
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fa81e66ec8648f62e96e95e53db2ea95a4b57b26;p=linux.git

Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'acpi-cppc'

* 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
---

fa81e66ec8648f62e96e95e53db2ea95a4b57b26
diff --cc drivers/mailbox/pcc.c
index 0ddf638d60f36,8f779a1ec99c4,8f779a1ec99c4,9d3955e6ab44f..043828d541f79
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@@@@ -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;