Hi Katsuhiro > This patch set 0Hz to sysclk when shutdown the card. > > Some codecs set rate constraints that derives from sysclk. This > mechanism works correctly if machine drivers give fixed frequency. > > But simple-audio and audio-graph card set variable clock rate if > 'mclk-fs' property exists. In this case, rate constraints will go > bad scenario. For example a codec accepts three limited rates > (mclk / 256, mclk / 384, mclk / 512). > > Bad scenario as follows (mclk-fs = 256): > - Initialize sysclk by correct value (Ex. 12.288MHz) > - Codec set constraints of PCM rate by sysclk > 48kHz (1/256), 32kHz (1/384), 24kHz (1/512) > - Play 48kHz sound, it's acceptable > - Sysclk is not changed > > - Play 32kHz sound, it's acceptable > - Set sysclk to 8.192MHz (= fs * mclk-fs = 32k * 256) > - Codec set constraints of PCM rate by sysclk > 32kHz (1/256), 21.33kHz (1/384), 16kHz (1/512) > > - Play 48kHz again, but it's NOT acceptable because constraints > do not allow 48kHz > > So codecs treat 0Hz sysclk as signal of applying no constraints to > avoid this problem. > > Signed-off-by: Katsuhiro Suzuki <katsuhiro@xxxxxxxxxxxxx> > --- I'm not 100% understand your issue. .hw_params (= set mclk/sysclk) is not called in bad case ?? Or it is called but Codec driver ignores it somehow ?? Thank you for your help !! Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel