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

Commit e7074a1c authored by Yizheng Zhou's avatar Yizheng Zhou Committed by Gerrit - the friendly Code Review server
Browse files

msm: kgsl: Vote against deep low power modes when GPU wakes up from slumber



System should not enter global low power modes during GPU wakeup.
To avoid this problem, explicitly vote against these modes at the
beginning of wakeup, and restore the vote to the default value
after that.

Change-Id: I436fe5562e26de57ea6fd39fe15ecde0b909e4aa
Signed-off-by: default avatarYizheng Zhou <yizhengz@codeaurora.org>
parent fe33452b
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -90,12 +90,16 @@ Optional Properties:
			   This is used to override faulty hardware readings.
- qcom,strtstp-sleepwake:  Boolean. Enables use of GPU SLUMBER instead of SLEEP for power savings

- qcom,pm-qos-latency:		Every time GPU wakes up from sleep, driver votes for
- qcom,pm-qos-active-latency:
				Right after GPU wakes up from sleep, driver votes for
				acceptable maximum latency to the pm-qos driver. This
				voting demands that *CPU* can not go into a power save
				state *if* the latency to bring CPU back into normal
				state is more than this value.
				voting demands that the system can not go into any
				power save state *if* the latency to bring system back
				into active state is more than this value.
				Value is in microseconds.
- qcom,pm-qos-wakeup-latency:
				Similar to the above. Driver votes against deep low
				power modes right before GPU wakes up from sleep.

The following properties are optional as collecting data via coresight might
not be supported for every chipset. The documentation for coresight
+3 −0
Original line number Diff line number Diff line
@@ -33,6 +33,9 @@
		qcom,idle-timeout = <8>; //<HZ/12>
		qcom,strtstp-sleepwake;

		qcom,pm-qos-active-latency = <501>;
		qcom,pm-qos-wakeup-latency = <101>;

		/*
		 * Clocks = KGSL_CLK_CORE | KGSL_CLK_IFACE |
		 * KGSL_CLK_RBBMTIMER
+2 −1
Original line number Diff line number Diff line
@@ -48,7 +48,8 @@
		iommu = <&kgsl_iommu>;

		/* CPU latency parameter */
		qcom,pm-qos-latency = <701>;
		qcom,pm-qos-active-latency = <701>;
		qcom,pm-qos-wakeup-latency = <701>;

		/* Power levels */
		qcom,gpu-pwrlevels {
+2 −1
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@
		iommu = <&gfx_iommu>;

		/* CPU latency parameter */
		qcom,pm-qos-latency = <701>;
		qcom,pm-qos-active-latency = <701>;
		qcom,pm-qos-wakeup-latency = <701>;

		/* Power levels */
		qcom,gpu-pwrlevels {
+2 −1
Original line number Diff line number Diff line
@@ -60,7 +60,8 @@
		iommu = <&gfx_iommu>;

		/* CPU latency parameter */
		qcom,pm-qos-latency = <701>;
		qcom,pm-qos-active-latency = <701>;
		qcom,pm-qos-wakeup-latency = <701>;

		/* Power levels */
		qcom,gpu-pwrlevels {
Loading