static void rsnd_ssi_master_clk_stop(struct rsnd_mod *mod, struct rsnd_dai_stream *io) { struct rsnd_dai *rdai = rsnd_io_to_rdai(io); struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); struct rsnd_mod *ssi_parent_mod = rsnd_io_to_mod_ssip(io); if (!rsnd_rdai_is_clk_master(rdai)) return; if (ssi_parent_mod && !rsnd_ssi_is_parent(mod, io)) return; if (ssi->usrcnt > 1) return; ssi->cr_clk = 0; ssi->rate = 0; rsnd_adg_ssi_clk_stop(mod); }
static void rsnd_ssi_master_clk_stop(struct rsnd_ssi *ssi) { ssi->cr_clk = 0; rsnd_adg_ssi_clk_stop(&ssi->mod); }