26.04.2020 02:27, Sowjanya Komatineni пишет: > > On 4/25/20 4:25 PM, Dmitry Osipenko wrote: >> External email: Use caution opening links or attachments >> >> >> 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. > > Driver will not do TPG and Sensor switch dynamically. > > Based on kconfig, it will only do TPG or Sensor and sensor will be > default all the time once sensor support is added in next series. > Doesn't V4L have a native support for the capture source selection? Why it needs to be a compile-time option? I think other drivers use a generic V4L "Image Processing Controls" with a configurable test_pattern option.