Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 726dcbe5 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'pm-fixes'

* pm-fixes:
  intel_pstate: fix no_turbo
  cpufreq: cpufreq-cpu0: NULL is a valid regulator, part 2
  cpufreq: SPEAr: Fix incorrect variable type
  PM / hibernate: Fix user space driven resume regression
parents 8a21c0e7 19ea1a44
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
	if (of_property_read_u32(np, "clock-latency", &transition_latency))
		transition_latency = CPUFREQ_ETERNAL;

	if (cpu_reg) {
	if (!IS_ERR(cpu_reg)) {
		struct opp *opp;
		unsigned long min_uV, max_uV;
		int i;
+4 −1
Original line number Diff line number Diff line
@@ -394,6 +394,9 @@ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate)
	trace_cpu_frequency(pstate * 100000, cpu->cpu);

	cpu->pstate.current_pstate = pstate;
	if (limits.no_turbo)
		wrmsrl(MSR_IA32_PERF_CTL, BIT(32) | (pstate << 8));
	else
		wrmsrl(MSR_IA32_PERF_CTL, pstate << 8);

}
+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ static int spear_cpufreq_target(struct cpufreq_policy *policy,
		unsigned int target_freq, unsigned int relation)
{
	struct cpufreq_freqs freqs;
	unsigned long newfreq;
	long newfreq;
	struct clk *srcclk;
	int index, ret, mult = 1;

+4 −1
Original line number Diff line number Diff line
@@ -743,6 +743,9 @@ int create_basic_memory_bitmaps(void)
	struct memory_bitmap *bm1, *bm2;
	int error = 0;

	if (forbidden_pages_map && free_pages_map)
		return 0;
	else
		BUG_ON(forbidden_pages_map || free_pages_map);

	bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL);
+8 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ static struct snapshot_data {
	char frozen;
	char ready;
	char platform_support;
	bool free_bitmaps;
} snapshot_state;

atomic_t snapshot_device_available = ATOMIC_INIT(1);
@@ -82,6 +83,10 @@ static int snapshot_open(struct inode *inode, struct file *filp)
		data->swap = -1;
		data->mode = O_WRONLY;
		error = pm_notifier_call_chain(PM_RESTORE_PREPARE);
		if (!error) {
			error = create_basic_memory_bitmaps();
			data->free_bitmaps = !error;
		}
		if (error)
			pm_notifier_call_chain(PM_POST_RESTORE);
	}
@@ -111,6 +116,8 @@ static int snapshot_release(struct inode *inode, struct file *filp)
		pm_restore_gfp_mask();
		free_basic_memory_bitmaps();
		thaw_processes();
	} else if (data->free_bitmaps) {
		free_basic_memory_bitmaps();
	}
	pm_notifier_call_chain(data->mode == O_RDONLY ?
			PM_POST_HIBERNATION : PM_POST_RESTORE);
@@ -231,6 +238,7 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
			break;
		pm_restore_gfp_mask();
		free_basic_memory_bitmaps();
		data->free_bitmaps = false;
		thaw_processes();
		data->frozen = 0;
		break;