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

Commit 3898cff0 authored by Tharun Kumar Merugu's avatar Tharun Kumar Merugu
Browse files

soc:qcom: CDSPRM module update for SM8150 cx ipeak limit management



Added cx ipeak and CDSP thermal limit management framework in
CDSRPM module for SM8150. NPU will notify CDSPRM module of clock
and activity changes.
CDSPRM module interacts with cx ipeak limit management driver on
CDSP and control compute subsystem (CDSP, NPU) clocks to limit
cx ipeak to the characterized levels. Also added CDSP subsystem
thermal mitigation support by registering cooling devices for CDSP
and HVX cores.

Change-Id: Ide61e2df09859fbf1669e4821cc1d2c7fbb684df
Acked-by: default avatarSreekanth Gande <sgande@qti.qualcomm.com>
Signed-off-by: default avatarTharun Kumar Merugu <mtharu@codeaurora.org>
parent 51683be8
Loading
Loading
Loading
Loading
+34 −2
Original line number Diff line number Diff line
@@ -2,20 +2,45 @@ Qualcomm Technologies, Inc. CDSP Request Manager driver

CDSP Request Manager driver implements an rpmsg interface with
CDSP subsystem to serve L3 frequency and CPU QoS requests from CDSP.
It also interacts with NPU, Camera modules for Cx iPeak mitigations and
thermal module via CDSP/HVX cooling devices for thermal mitigation of
CDSP core.

Required properties:
- compatible: Must be "qcom,msm-cdsprm-rpmsg"
- qcom,glink-channels: Glink channel for communication with CDSP
- qcom,intents: A list of <number of intents, size of each intent>

- qcom,msm-cdsp-rm: A sub-device node to define CDSPM RM configuration
		parameters
- qcom,msm-cdsp-rm: A sub-device node to define CDSPM RM, Cx iPeak mitigation
		driver and CDSP core thermal cooling device
	Required properties:
	- compatible: Must be "qcom,msm-cdsp-rm"
	- qcom,qos-latency-us: pm_qos latency vote to be applied on CDSP request in
				micro seconds
	- qcom,qos-maxhold-ms: Maximum hold time for pm_qos latency vote from CDSP
				in milli seconds
	- qcom,compute-priority-mode: when Cx iPeak mitigation is enabled,
				this field sets desired compute priority mode
				for AIX and HVX concurrency cases based on
				following values, where in HVX and NPU cores,
				if required, are throttled in concurrency based
				on the selected priority mode
				1 : HVX_MAX - Allows HVX to run at maximum possible
						frequency during concurrency with NPU
				2 : AIX_MAX - Allows NPU to run at maximum possible
						frequency during concurrency with HVX
				3 : HVX_OVER_AIX - Allows HVX to run at a higher
						frequency than NPU during concurrency
				4 : AIX_OVER_HVX - Allows NPU to run at a higher
						frequency than HVX during concurrency
	- #cooling-cells: Number of cooling cells for CDSP cooling device based on
			CDSP Q6 core clock throttling

- qcom,msm-hvx-rm: A sub-device node to define HVX based thermal cooling device
	Required properties:
	- compatible: Must be "qcom,msm-hvx-rm"
	- #cooling-cells: Number of cooling cells for CDSP cooling device based on
			HVX hardware throttling

- qcom,cdsp-l3: A sub-device node to define CDSP L3 target device for L3
		clock voting
@@ -39,5 +64,12 @@ Example:
			compatible = "qcom,msm-cdsp-rm";
			qcom,qos-latency-us = <100>;
			qcom,qos-maxhold-ms = <20>;
			qcom,compute-priority-mode = <2>;
			#cooling-cells = <2>;
		};

		 msm_hvx_rm: qcom,msm_hvx_rm {
			compatible = "qcom,msm-hvx-rm";
			#cooling-cells = <2>;
		};
	};
+626 −11

File changed.

Preview size limit exceeded, changes collapsed.

+93 −0

File added.

Preview size limit exceeded, changes collapsed.