26.04.2020 02:13, Dmitry Osipenko пишет: > 24.04.2020 06:55, Sowjanya Komatineni пишет: >> +static int __maybe_unused vi_runtime_resume(struct device *dev) >> +{ >> + struct tegra_vi *vi = dev_get_drvdata(dev); >> + int ret; >> + >> + ret = regulator_enable(vi->vdd); >> + if (ret) { >> + dev_err(dev, "failed to enable VDD supply: %d\n", ret); >> + return ret; >> + } >> + >> + ret = clk_set_rate(vi->clk, vi->soc->vi_max_clk_hz); >> + if (ret) { >> + dev_err(dev, "failed to set vi clock rate: %d\n", ret); >> + goto disable_vdd; >> + } > > Isn't setting clock rate using assigned-clocks in a device-tree enough? > Could you please clarify why this vi_max_clk_hz is needed? > In that case it should be wrong to set the clock rate in the RPM callback because RPM works asynchronously and RPM may not be suspended on TGP -> sensor source switch.