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

Commit 11205b98 authored by Deepak Katragadda's avatar Deepak Katragadda
Browse files

qcom: ssr: Add sysmon-id property to subsystem dt entries



Add a "qcom,sysmon-id" property to subsystem dt entries
for storing the platform device id that sysmon is probed
with for that subsystem. This information is required to
remove having to statically store the names of subsystems
that have sysmon support.

Change-Id: I2fcc8718076877d80786dba4ed5c6216bbb67312
Signed-off-by: default avatarDeepak Katragadda <dkatraga@codeaurora.org>
parent 4befe668
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ Optional driver parameters:
- qcom,mdm-dual-link: Boolean indicates wheter both links can used for
		communication.
- qcom,ssctl-instance-id: Instance id used by the subsystem to connect with the SSCTL service.
- qcom,sysmon-id: platform device id that sysmon is probed with for the subsystem.

Example:
	mdm0: qcom,mdm0 {
@@ -140,4 +141,5 @@ Example:
                qcom,vddmin-modes  = "normal";
                qcom,vddmin-drive-strength = <8>;
		qcom,ssctl-instance-id = <10>;
		qcom,sysmon-id = <20>;
        };
+2 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ Optional properties:
				format.
- qcom,ssctl-instance-id: Instance id used by the subsystem to connect with the SSCTL
			  service.
- qcom,sysmon-id:	platform device id that sysmon is probed with for the subsystem.

Example:
	qcom,mss@fc880000 {
@@ -90,4 +91,5 @@ Example:
		/* GPIO output to mss */
		qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
		qcom,ssctl-instance-id = <12>;
		qcom,sysmon-id = <0>;
	};
+2 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ Optional properties:
- qcom,restart-group: List of subsystems that will need to restart together.
- qcom,ssctl-instance-id: Instance id used by the subsystem to connect with the SSCTL
			  service.
- qcom,sysmon-id:	platform device id that sysmon is probed with for the subsystem.

Example:
	qcom,venus@fdce0000 {
@@ -116,4 +117,5 @@ Example:
		/* GPIO output to lpass */
		qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_2_out 0 0>;
		qcom,ssctl-instance-id = <14>;
		qcom,sysmon-id = <1>;
	};
+7 −0
Original line number Diff line number Diff line
@@ -1407,6 +1407,7 @@ struct subsys_device *subsys_register(struct subsys_desc *desc)
	subsys->dev.bus = &subsys_bus_type;
	subsys->dev.release = subsys_device_release;
	subsys->notif_state = -1;
	subsys->desc->sysmon_pid = -1;

	subsys->notify = subsys_notif_add_subsys(desc->name);

@@ -1457,6 +1458,12 @@ struct subsys_device *subsys_register(struct subsys_desc *desc)
					&desc->ssctl_instance_id))
			pr_debug("Reading instance-id for %s failed\n",
								desc->name);

		if (of_property_read_u32(desc->dev->of_node,
					"qcom,sysmon-id",
					&subsys->desc->sysmon_pid))
			pr_debug("Reading sysmon-id for %s failed\n",
								desc->name);
	}

	mutex_lock(&subsys_list_lock);
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ struct module;
 * @no_auth: Set if subsystem does not rely on PIL to authenticate and bring
 * it out of reset
 * @ssctl_instance_id: Instance id used to connect with SSCTL service
 * @sysmon_pid:	pdev id that sysmon is probed with for the subsystem
 */
struct subsys_desc {
	const char *name;
@@ -67,6 +68,7 @@ struct subsys_desc {
	int force_stop_gpio;
	bool no_auth;
	int ssctl_instance_id;
	u32 sysmon_pid;
};

/**