diff mbox series

[RESEND,v2,4/4] venus: put dummy vote on video-mem path after last session release

Message ID 1600305963-7659-5-git-send-email-mansur@codeaurora.org
State New
Headers show
Series Venus - change clk enable, disable order and change bw values | expand

Commit Message

Mansur Alisha Shaik Sept. 17, 2020, 1:26 a.m. UTC
As per current implementation, we are unvoting "videom-mem" path
for last video session during vdec_session_release().
While video playback when we try to suspend device, we see video clock
warnings since votes are already removed during vdec_session_release().

corrected this by putting dummy vote on "video-mem" after last video
session release and unvoting it during suspend.

Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org>
---
 drivers/media/platform/qcom/venus/pm_helpers.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Stephen Boyd Sept. 17, 2020, 7:26 a.m. UTC | #1
Quoting Mansur Alisha Shaik (2020-09-16 18:26:03)
> As per current implementation, we are unvoting "videom-mem" path

> for last video session during vdec_session_release().

> While video playback when we try to suspend device, we see video clock

> warnings since votes are already removed during vdec_session_release().

> 

> corrected this by putting dummy vote on "video-mem" after last video

> session release and unvoting it during suspend.

> 

> Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org>

> ---


Fixes tag? Should this be combined with an earlier change?

>  drivers/media/platform/qcom/venus/pm_helpers.c | 3 +++

>  1 file changed, 3 insertions(+)

> 

> diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c

> index 57877ea..c0a3524 100644

> --- a/drivers/media/platform/qcom/venus/pm_helpers.c

> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c

> @@ -212,6 +212,9 @@ static int load_scale_bw(struct venus_core *core)

>         }

>         mutex_unlock(&core->lock);

>  

> +       if (!total_avg && !total_peak)

> +               total_avg = kbps_to_icc(1000);


Can you add a comment in the code here? Just guessing but something
like..

	/*
	 * Keep bandwidth enabled here so that vdec_session_release()
	 * can disable clks without clks getting stuck. We'll drop the
	 * bandwidth request when this device is suspended so this is a
	 * low value to keep things on but not high power until the
	 * device is powered down.
	 */

> +

>         dev_dbg(core->dev, VDBGL "total: avg_bw: %u, peak_bw: %u\n",

>                 total_avg, total_peak);

>
diff mbox series

Patch

diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
index 57877ea..c0a3524 100644
--- a/drivers/media/platform/qcom/venus/pm_helpers.c
+++ b/drivers/media/platform/qcom/venus/pm_helpers.c
@@ -212,6 +212,9 @@  static int load_scale_bw(struct venus_core *core)
 	}
 	mutex_unlock(&core->lock);
 
+	if (!total_avg && !total_peak)
+		total_avg = kbps_to_icc(1000);
+
 	dev_dbg(core->dev, VDBGL "total: avg_bw: %u, peak_bw: %u\n",
 		total_avg, total_peak);