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

Commit 5ed1b650 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "power: qcom: apm: provide mutual exclusion with LMH register accesses"

parents 074dff9a 4e121f0e
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/power/qcom/apm.h>
#include <linux/power/qcom/apm.h>
#include <soc/qcom/scm.h>


/*
/*
 *        VDD_APCC
 *        VDD_APCC
@@ -222,6 +223,7 @@ static int msm_apm_switch_to_mx(struct msm_apm_ctrl_dev *ctrl_dev)
	int ret = 0;
	int ret = 0;
	unsigned long flags;
	unsigned long flags;


	mutex_lock(&scm_lmh_lock);
	spin_lock_irqsave(&ctrl_dev->lock, flags);
	spin_lock_irqsave(&ctrl_dev->lock, flags);


	/* Perform revision-specific programming steps */
	/* Perform revision-specific programming steps */
@@ -297,6 +299,7 @@ static int msm_apm_switch_to_mx(struct msm_apm_ctrl_dev *ctrl_dev)
	}
	}


	spin_unlock_irqrestore(&ctrl_dev->lock, flags);
	spin_unlock_irqrestore(&ctrl_dev->lock, flags);
	mutex_unlock(&scm_lmh_lock);


	return ret;
	return ret;
}
}
@@ -308,6 +311,7 @@ static int msm_apm_switch_to_apcc(struct msm_apm_ctrl_dev *ctrl_dev)
	int ret = 0;
	int ret = 0;
	unsigned long flags;
	unsigned long flags;


	mutex_lock(&scm_lmh_lock);
	spin_lock_irqsave(&ctrl_dev->lock, flags);
	spin_lock_irqsave(&ctrl_dev->lock, flags);


	/* Perform revision-specific programming steps */
	/* Perform revision-specific programming steps */
@@ -383,6 +387,7 @@ static int msm_apm_switch_to_apcc(struct msm_apm_ctrl_dev *ctrl_dev)
	}
	}


	spin_unlock_irqrestore(&ctrl_dev->lock, flags);
	spin_unlock_irqrestore(&ctrl_dev->lock, flags);
	mutex_unlock(&scm_lmh_lock);


	return ret;
	return ret;
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -1043,7 +1043,9 @@ static void lmh_voltage_scale_set(uint32_t voltage)
{
{
	char trace_buf[MAX_TRACE_EVENT_MSG_LEN] = "";
	char trace_buf[MAX_TRACE_EVENT_MSG_LEN] = "";


	mutex_lock(&scm_lmh_lock);
	writel_relaxed(voltage, lmh_data->dpm_voltage_scale_reg);
	writel_relaxed(voltage, lmh_data->dpm_voltage_scale_reg);
	mutex_unlock(&scm_lmh_lock);
	snprintf(trace_buf, MAX_TRACE_EVENT_MSG_LEN,
	snprintf(trace_buf, MAX_TRACE_EVENT_MSG_LEN,
		"DPM voltage scale %d mV", voltage);
		"DPM voltage scale %d mV", voltage);
	pr_debug("%s\n", trace_buf);
	pr_debug("%s\n", trace_buf);