Merge branches 'pm-cpufreq', 'pm-pci' and 'pm-sleep'
Merge fixes for the ondemand and conservative cpufreq governors, PCI power management and system wakeup framework. * pm-cpufreq: cpufreq: governor: Avoid accessing invalid governor_data * pm-pci: PCI / ACPI / PM: Resume all bridges on suspend-to-RAM * pm-sleep: PM / sleep: wakeup: Fix build error caused by missing SRCU support
This commit is contained in:
Коммит
01ac7c4c2e
|
@ -555,12 +555,20 @@ EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_stop);
|
||||||
|
|
||||||
void cpufreq_dbs_governor_limits(struct cpufreq_policy *policy)
|
void cpufreq_dbs_governor_limits(struct cpufreq_policy *policy)
|
||||||
{
|
{
|
||||||
struct policy_dbs_info *policy_dbs = policy->governor_data;
|
struct policy_dbs_info *policy_dbs;
|
||||||
|
|
||||||
|
/* Protect gov->gdbs_data against cpufreq_dbs_governor_exit() */
|
||||||
|
mutex_lock(&gov_dbs_data_mutex);
|
||||||
|
policy_dbs = policy->governor_data;
|
||||||
|
if (!policy_dbs)
|
||||||
|
goto out;
|
||||||
|
|
||||||
mutex_lock(&policy_dbs->update_mutex);
|
mutex_lock(&policy_dbs->update_mutex);
|
||||||
cpufreq_policy_apply_limits(policy);
|
cpufreq_policy_apply_limits(policy);
|
||||||
gov_update_sample_delay(policy_dbs, 0);
|
gov_update_sample_delay(policy_dbs, 0);
|
||||||
|
|
||||||
mutex_unlock(&policy_dbs->update_mutex);
|
mutex_unlock(&policy_dbs->update_mutex);
|
||||||
|
|
||||||
|
out:
|
||||||
|
mutex_unlock(&gov_dbs_data_mutex);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_limits);
|
EXPORT_SYMBOL_GPL(cpufreq_dbs_governor_limits);
|
||||||
|
|
|
@ -632,13 +632,11 @@ static bool acpi_pci_need_resume(struct pci_dev *dev)
|
||||||
/*
|
/*
|
||||||
* In some cases (eg. Samsung 305V4A) leaving a bridge in suspend over
|
* In some cases (eg. Samsung 305V4A) leaving a bridge in suspend over
|
||||||
* system-wide suspend/resume confuses the platform firmware, so avoid
|
* system-wide suspend/resume confuses the platform firmware, so avoid
|
||||||
* doing that, unless the bridge has a driver that should take care of
|
* doing that. According to Section 16.1.6 of ACPI 6.2, endpoint
|
||||||
* the PM handling. According to Section 16.1.6 of ACPI 6.2, endpoint
|
|
||||||
* devices are expected to be in D3 before invoking the S3 entry path
|
* devices are expected to be in D3 before invoking the S3 entry path
|
||||||
* from the firmware, so they should not be affected by this issue.
|
* from the firmware, so they should not be affected by this issue.
|
||||||
*/
|
*/
|
||||||
if (pci_is_bridge(dev) && !dev->driver &&
|
if (pci_is_bridge(dev) && acpi_target_system_state() != ACPI_STATE_S0)
|
||||||
acpi_target_system_state() != ACPI_STATE_S0)
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (!adev || !acpi_device_power_manageable(adev))
|
if (!adev || !acpi_device_power_manageable(adev))
|
||||||
|
|
|
@ -105,6 +105,7 @@ config PM_SLEEP
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on SUSPEND || HIBERNATE_CALLBACKS
|
depends on SUSPEND || HIBERNATE_CALLBACKS
|
||||||
select PM
|
select PM
|
||||||
|
select SRCU
|
||||||
|
|
||||||
config PM_SLEEP_SMP
|
config PM_SLEEP_SMP
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
Загрузка…
Ссылка в новой задаче