There is a wrong condition in checking "small frequency change"
Instead of this, the driver should check the frequency change against the last rough tuning.
The second issue is the driver tunes from the last tunned frequency. Therefore it accumulates the frequency error.
Both problems could be resolved by maintaining the internal tuning status in the CLKGEN object.
save calibration frequency read by recall_nvm ()
save frequency of the last rough tuning
Prvně teda v set_freq porovná novou frekvenci vůči poslednímu pomalýmu ladění, a pokud musí znovu pomalu ladit, tak si vezme kalibraci poznamenanou v recall_nvm, a ignoruje tu současnou frekvenci předanou jako jeden z argumentů pro set_freq
There is a wrong condition in checking "small frequency change"
Instead of this, the driver should check the frequency change against the last rough tuning.
The second issue is the driver tunes from the last tunned frequency. Therefore it accumulates the frequency error.
Both problems could be resolved by maintaining the internal tuning status in the CLKGEN object.
Prvně teda v set_freq porovná novou frekvenci vůči poslednímu pomalýmu ladění, a pokud musí znovu pomalu ladit, tak si vezme kalibraci poznamenanou v recall_nvm, a ignoruje tu současnou frekvenci předanou jako jeden z argumentů pro set_freq