Message ID | 1599536678-4666-1-git-send-email-mansur@codeaurora.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Venus - change clk enable, disable order and change bw values | expand |
Quoting Mansur Alisha Shaik (2020-09-07 20:44:38) > Currently we are voting for venus0-ebi path during buffer processing > with an average bandwidth of all the instances and unvoting during > session release. > > While video streaming when we try to do XO-SD using the command > "echo mem > /sys/power/state command" , device is not entering > to suspend state and from interconnect summary seeing votes for venus0-ebi > > Corrected this by voting for venus0-ebi path in venus_runtime_resume venus_runtime_resume() please so we know it's a function. > and unvote during venus_runtime_suspend. venus_runtime_suspend(). > > Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org> > --- Any Fixes: tag? > drivers/media/platform/qcom/venus/core.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 4857bbd..79d8600 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -373,6 +373,10 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev) > if (ret) > return ret; > > + ret = icc_set_bw(core->video_path, 0, 0); > + if (ret) > + return ret; > + > return ret; > } > > @@ -382,7 +386,11 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) > const struct venus_pm_ops *pm_ops = core->pm_ops; > int ret; > > - ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); > + ret = icc_set_bw(core->video_path, kbps_to_icc(20000), 0); This also shows that the arguments to icc_set_bw() we're backwards? Can that be fixed in another patch instead of putting it in this one?
> On 2020-09-09 00:08, Stephen Boyd wrote: >> Quoting Mansur Alisha Shaik (2020-09-07 20:44:38) >>> Currently we are voting for venus0-ebi path during buffer processing >>> with an average bandwidth of all the instances and unvoting during >>> session release. >>> >>> While video streaming when we try to do XO-SD using the command >>> "echo mem > /sys/power/state command" , device is not entering >>> to suspend state and from interconnect summary seeing votes for >>> venus0-ebi >>> >>> Corrected this by voting for venus0-ebi path in venus_runtime_resume >> >> venus_runtime_resume() please so we know it's a function. Changed to function like notation and RESEND v2 https://lore.kernel.org/patchwork/project/lkml/list/?series=463283 >> >>> and unvote during venus_runtime_suspend. >> >> venus_runtime_suspend(). >> >>> >>> Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org> >>> --- >> >> Any Fixes: tag? Added the Fixes tag >> >>> drivers/media/platform/qcom/venus/core.c | 10 +++++++++- >>> 1 file changed, 9 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/media/platform/qcom/venus/core.c >>> b/drivers/media/platform/qcom/venus/core.c >>> index 4857bbd..79d8600 100644 >>> --- a/drivers/media/platform/qcom/venus/core.c >>> +++ b/drivers/media/platform/qcom/venus/core.c >>> @@ -373,6 +373,10 @@ static __maybe_unused int >>> venus_runtime_suspend(struct device *dev) >>> if (ret) >>> return ret; >>> >>> + ret = icc_set_bw(core->video_path, 0, 0); >>> + if (ret) >>> + return ret; >>> + >>> return ret; >>> } >>> >>> @@ -382,7 +386,11 @@ static __maybe_unused int >>> venus_runtime_resume(struct device *dev) >>> const struct venus_pm_ops *pm_ops = core->pm_ops; >>> int ret; >>> >>> - ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); >>> + ret = icc_set_bw(core->video_path, kbps_to_icc(20000), 0); >> >> This also shows that the arguments to icc_set_bw() we're backwards? >> Can >> that be fixed in another patch instead of putting it in this one? posted as another patch set. https://lore.kernel.org/patchwork/project/lkml/list/?series=463283
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c index 4857bbd..79d8600 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -373,6 +373,10 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev) if (ret) return ret; + ret = icc_set_bw(core->video_path, 0, 0); + if (ret) + return ret; + return ret; } @@ -382,7 +386,11 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) const struct venus_pm_ops *pm_ops = core->pm_ops; int ret; - ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); + ret = icc_set_bw(core->video_path, kbps_to_icc(20000), 0); + if (ret) + return ret; + + ret = icc_set_bw(core->cpucfg_path, kbps_to_icc(1000), 0); if (ret) return ret;
Currently we are voting for venus0-ebi path during buffer processing with an average bandwidth of all the instances and unvoting during session release. While video streaming when we try to do XO-SD using the command "echo mem > /sys/power/state command" , device is not entering to suspend state and from interconnect summary seeing votes for venus0-ebi Corrected this by voting for venus0-ebi path in venus_runtime_resume and unvote during venus_runtime_suspend. Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org> --- drivers/media/platform/qcom/venus/core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)