pass: gov: Set the raw data of PMQoS to HAL 78/136378/4 accepted/tizen/unified/20170706.193437 submit/tizen/20170705.081057
authorChanwoo Choi <cw00.choi@samsung.com>
Tue, 27 Jun 2017 06:19:55 +0000 (15:19 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 4 Jul 2017 08:27:09 +0000 (17:27 +0900)
This patch calls the pass_set_pmqos_data() in order to set
the raw data from platform to HAL layer because of supporting
the backward compatibility.

Change-Id: I49b03382596f66682895b8cbd005cfeb7fd921cb
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/pass/pass-gov.c
src/pass/pass-gov.h
src/pass/pass-pmqos.c

index e4ae37c2f7112cfdfb976d740249f95ae8284045..fc5126a3e564aff01452a58ac12d4a20b6182c8f 100644 (file)
@@ -595,13 +595,22 @@ static int __pass_governor_update(struct pass_policy *policy,
  * @new_level: the desirous pass level
  * @min_level: the minimum pass level
  * @max_level: the maximum pass level
+ * @data: the PMQoS's data containing the scenario name and lock state
  */
-int pass_governor_change_level_scope(struct pass_policy *policy,
-                               int new_level, int min_level, int max_level)
+int pass_governor_change_level_scope(struct pass_policy *policy, int new_level,
+                               int min_level, int max_level, void *data)
 {
        if (!policy)
                return -EINVAL;
 
+       /*
+        * FIXME: PMQoS core sends the raw data to the HAL in order to
+        * support the backwards compatibility. This function call will
+        * be removed after finding the proper method.
+        */
+       if (data)
+               pass_set_pmqos_data(to_pass_resource(policy), data);
+
        if (min_level > max_level) {
                _E("min_level(%d) have to be smaller than max_level(%d)\n",
                                                min_level, max_level);
index d61cf953b8d3dec2503f363b1a8539e25982efa0..221a54bc912ffdc14d92491e9bcedcb7c5e67f3b 100644 (file)
@@ -23,8 +23,8 @@
 int pass_governor_init(struct pass_policy *policy);
 int pass_governor_exit(struct pass_policy *policy);
 int pass_governor_update(struct pass_policy *policy, enum pass_gov_state state);
-int pass_governor_change_level_scope(struct pass_policy *policy,
-                               int new_level, int min_level, int max_level);
+int pass_governor_change_level_scope(struct pass_policy *policy, int new_level,
+                               int min_level, int max_level, void *data);
 
 /* Get the governor/hotplug instance according to enum pass_gov_type */
 struct pass_governor* pass_get_governor(struct pass_policy *policy,
index 1b58b337ea2bbe1c2d36479bc5ee99c8ba7d6354..ab80b3d2393a1b310f4d0cbd6548c66188246a24 100644 (file)
@@ -181,7 +181,8 @@ int pass_notifier_pmqos_func(struct pass_policy *policy, void *data)
                }
        }
 
-       pass_governor_change_level_scope(policy, new_level, min_level, max_level);
+       pass_governor_change_level_scope(policy, new_level,
+                                               min_level, max_level, data);
 
        if (scn->locked) {
                _I("Lock   '%s' scenario for '%s' resource\n",