summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddharth Kapoor <ksiddharth@google.com>2022-08-01 16:50:41 -0700
committerSiddharth Kapoor <ksiddharth@google.com>2022-08-03 05:07:20 +0000
commit865a858478765e384e3be77f0ff777d3d4daf5c8 (patch)
treed7424c9020708981bbfc4784af35f2757490839c
parentfd7b74008f7ae6e2a3d2704cd73ffb11dba35e8f (diff)
downloadgpu-android-gs-bluejay-5.10-android13-qpr1-beta.tar.gz
Currently the QoS votes are set correcty, but not reset if it is set to 0 in gpu dvfs table for a specific OPP. Reset the QoS votes in case it is set to 0 in gpu dvfs table. Bug: 237810419 Test: Check INT/MIF votes for Camera, gfxbench use-case Change-Id: I5f4ec4e506986be12ffe68df92b9d540cd22bbb9 Signed-off-by: Siddharth Kapoor <ksiddharth@google.com>
-rw-r--r--mali_kbase/platform/pixel/pixel_gpu_dvfs_qos.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/mali_kbase/platform/pixel/pixel_gpu_dvfs_qos.c b/mali_kbase/platform/pixel/pixel_gpu_dvfs_qos.c
index 88c22f7..7c7f84f 100644
--- a/mali_kbase/platform/pixel/pixel_gpu_dvfs_qos.c
+++ b/mali_kbase/platform/pixel/pixel_gpu_dvfs_qos.c
@@ -22,19 +22,6 @@
#include "pixel_gpu_dvfs.h"
/**
- * qos_set() - Set a QOS vote on an IP block
- *
- * @vote: The &struct gpu_dvfs_qos_vote to set the vote on.
- * @value: The value to vote for.
- */
-static inline void qos_set(struct gpu_dvfs_qos_vote *vote, int value) {
- if (unlikely(value)) {
- exynos_pm_qos_update_request(&vote->req, value);
- vote->enabled = true;
- }
-}
-
-/**
* qos_reset() - Resets a QOS vote on an IP block
*
* @vote: The &struct gpu_dvfs_qos_vote to reset the vote on.
@@ -50,6 +37,22 @@ static inline void qos_reset(struct gpu_dvfs_qos_vote *vote) {
}
/**
+ * qos_set() - Set a QOS vote on an IP block
+ *
+ * @vote: The &struct gpu_dvfs_qos_vote to set the vote on.
+ * @value: The value to vote for.
+ */
+static inline void qos_set(struct gpu_dvfs_qos_vote *vote, int value) {
+ if (unlikely(value)) {
+ exynos_pm_qos_update_request(&vote->req, value);
+ vote->enabled = true;
+ }
+ else {
+ qos_reset(vote);
+ }
+}
+
+/**
* gpu_dvfs_qos_set() - Issue QOS requests for a GPU DVFS level.
*
* @kbdev: The &struct kbase_device for the GPU.