Hi Mansur, The patch looks fine and correct but the description should be better. On 2/17/20 2:01 PM, Mansur Alisha Shaik wrote: > video driver is voting for CNOC during probe and not clear > while device suspend. Because of which XO shutdown is > happing(BCM42: VALID: 0x1 VOTE_X: 0x0000 VOTE_Y: 0x0004). > > So, clearing CNOC voting while device suspend. Maybe something like this ? The Venus driver is voting Configuration NoC during .probe but not clear voting in .suspend. As a consequence the whole device could leak energy while in suspend. Correct this by moving voting in .resume and unvoting in .suspend. > > Signed-off-by: Mansur Alisha Shaik <mansur@xxxxxxxxxxxxxx> > --- > drivers/media/platform/qcom/venus/core.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index e7995cb..153effe 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -244,10 +244,6 @@ static int venus_probe(struct platform_device *pdev) > if (ret) > return ret; > > - ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); > - if (ret) > - return ret; > - > ret = hfi_create(core, &venus_core_ops); > if (ret) > return ret; > @@ -353,6 +349,10 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev) > if (ret) > return ret; > > + ret = icc_set_bw(core->cpucfg_path, 0, 0); > + if (ret) > + return ret; > + > if (pm_ops->core_power) > ret = pm_ops->core_power(dev, POWER_OFF); > > @@ -371,6 +371,10 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) > return ret; > } > > + ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); > + if (ret) > + return ret; > + > return hfi_core_resume(core, false); > } > > -- regards, Stan -- regards, Stan