Ver Fonte

waterDataStatistics memoryCall.c 朱俊杰 commit at 2021-03-26

朱俊杰 há 4 anos atrás
pai
commit
97c170008f
1 ficheiros alterados com 55 adições e 0 exclusões
  1. 55 0
      waterDataStatistics/dataSharedMemory/memoryCall.c

+ 55 - 0
waterDataStatistics/dataSharedMemory/memoryCall.c

@@ -962,3 +962,58 @@ int pwrdm_set_lowpwrstchange(struct powerdomain *pwrdm)
 int pwrdm_wait_transition(struct powerdomain *pwrdm)
 {
 	int ret = -EINVAL;
+
+	if (!pwrdm)
+		return -EINVAL;
+
+	if (arch_pwrdm && arch_pwrdm->pwrdm_wait_transition)
+		ret = arch_pwrdm->pwrdm_wait_transition(pwrdm);
+
+	return ret;
+}
+
+int pwrdm_state_switch(struct powerdomain *pwrdm)
+{
+	int ret;
+
+	ret = pwrdm_wait_transition(pwrdm);
+	if (!ret)
+		ret = _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW);
+
+	return ret;
+}
+
+int pwrdm_pre_transition(struct powerdomain *pwrdm)
+{
+	if (pwrdm)
+		_pwrdm_pre_transition_cb(pwrdm, NULL);
+	else
+		pwrdm_for_each(_pwrdm_pre_transition_cb, NULL);
+
+	return 0;
+}
+
+int pwrdm_post_transition(struct powerdomain *pwrdm)
+{
+	if (pwrdm)
+		_pwrdm_post_transition_cb(pwrdm, NULL);
+	else
+		pwrdm_for_each(_pwrdm_post_transition_cb, NULL);
+
+	return 0;
+}
+
+/**
+ * pwrdm_get_context_loss_count - get powerdomain's context loss count
+ * @pwrdm: struct powerdomain * to wait for
+ *
+ * Context loss count is the sum of powerdomain off-mode counter, the
+ * logic off counter and the per-bank memory off counter.  Returns negative
+ * (and WARNs) upon error, otherwise, returns the context loss count.
+ */
+int pwrdm_get_context_loss_count(struct powerdomain *pwrdm)
+{
+	int i, count;
+
+	if (!pwrdm) {
+		WARN(1, "powerdomain: %s: pwrdm is null\n", __func__);