@@ -267,6 +267,8 @@ u32 rsnd_get_busif_shift(struct rsnd_dai_stream *io, struct rsnd_mod *mod);
267267int rsnd_dma_attach (struct rsnd_dai_stream * io ,
268268 struct rsnd_mod * mod , struct rsnd_mod * * dma_mod );
269269int rsnd_dma_probe (struct rsnd_priv * priv );
270+ void rsnd_dma_suspend (struct rsnd_priv * priv );
271+ void rsnd_dma_resume (struct rsnd_priv * priv );
270272struct dma_chan * rsnd_dma_request_channel (struct device_node * of_node , char * name ,
271273 struct rsnd_mod * mod , char * x );
272274
@@ -429,6 +431,8 @@ int rsnd_mod_init(struct rsnd_priv *priv,
429431 enum rsnd_mod_type type ,
430432 int id );
431433void rsnd_mod_quit (struct rsnd_mod * mod );
434+ void rsnd_suspend_clk_reset (struct clk * clk , struct reset_control * rstc );
435+ void rsnd_resume_clk_reset (struct clk * clk , struct reset_control * rstc );
432436struct dma_chan * rsnd_mod_dma_req (struct rsnd_dai_stream * io ,
433437 struct rsnd_mod * mod );
434438void rsnd_mod_interrupt (struct rsnd_mod * mod ,
@@ -625,6 +629,8 @@ int rsnd_adg_ssi_clk_stop(struct rsnd_mod *ssi_mod);
625629int rsnd_adg_ssi_clk_try_start (struct rsnd_mod * ssi_mod , unsigned int rate );
626630int rsnd_adg_probe (struct rsnd_priv * priv );
627631void rsnd_adg_remove (struct rsnd_priv * priv );
632+ void rsnd_adg_suspend (struct rsnd_priv * priv );
633+ void rsnd_adg_resume (struct rsnd_priv * priv );
628634int rsnd_adg_set_src_timesel_gen2 (struct rsnd_mod * src_mod ,
629635 struct rsnd_dai_stream * io ,
630636 unsigned int in_rate ,
@@ -822,6 +828,8 @@ extern const char * const volume_ramp_rate[];
822828 */
823829int rsnd_ssi_probe (struct rsnd_priv * priv );
824830void rsnd_ssi_remove (struct rsnd_priv * priv );
831+ void rsnd_ssi_suspend (struct rsnd_priv * priv );
832+ void rsnd_ssi_resume (struct rsnd_priv * priv );
825833struct rsnd_mod * rsnd_ssi_mod_get (struct rsnd_priv * priv , int id );
826834int rsnd_ssi_use_busif (struct rsnd_dai_stream * io );
827835u32 rsnd_ssi_multi_secondaries_runtime (struct rsnd_dai_stream * io );
@@ -845,6 +853,8 @@ int rsnd_ssiu_attach(struct rsnd_dai_stream *io,
845853 struct rsnd_mod * mod );
846854int rsnd_ssiu_probe (struct rsnd_priv * priv );
847855void rsnd_ssiu_remove (struct rsnd_priv * priv );
856+ void rsnd_ssiu_suspend (struct rsnd_priv * priv );
857+ void rsnd_ssiu_resume (struct rsnd_priv * priv );
848858void rsnd_parse_connect_ssiu (struct rsnd_dai * rdai ,
849859 struct device_node * playback ,
850860 struct device_node * capture );
@@ -856,6 +866,8 @@ bool rsnd_ssiu_busif_err_status_clear(struct rsnd_mod *mod);
856866 */
857867int rsnd_src_probe (struct rsnd_priv * priv );
858868void rsnd_src_remove (struct rsnd_priv * priv );
869+ void rsnd_src_suspend (struct rsnd_priv * priv );
870+ void rsnd_src_resume (struct rsnd_priv * priv );
859871struct rsnd_mod * rsnd_src_mod_get (struct rsnd_priv * priv , int id );
860872
861873#define rsnd_src_get_in_rate (priv , io ) rsnd_src_get_rate(priv, io, 1)
@@ -875,6 +887,8 @@ unsigned int rsnd_src_get_rate(struct rsnd_priv *priv,
875887 */
876888int rsnd_ctu_probe (struct rsnd_priv * priv );
877889void rsnd_ctu_remove (struct rsnd_priv * priv );
890+ void rsnd_ctu_suspend (struct rsnd_priv * priv );
891+ void rsnd_ctu_resume (struct rsnd_priv * priv );
878892struct rsnd_mod * rsnd_ctu_mod_get (struct rsnd_priv * priv , int id );
879893#define rsnd_ctu_of_node (priv ) rsnd_parse_of_node(priv, RSND_NODE_CTU)
880894#define rsnd_parse_connect_ctu (rdai , playback , capture ) \
@@ -887,6 +901,8 @@ struct rsnd_mod *rsnd_ctu_mod_get(struct rsnd_priv *priv, int id);
887901 */
888902int rsnd_mix_probe (struct rsnd_priv * priv );
889903void rsnd_mix_remove (struct rsnd_priv * priv );
904+ void rsnd_mix_suspend (struct rsnd_priv * priv );
905+ void rsnd_mix_resume (struct rsnd_priv * priv );
890906struct rsnd_mod * rsnd_mix_mod_get (struct rsnd_priv * priv , int id );
891907#define rsnd_mix_of_node (priv ) rsnd_parse_of_node(priv, RSND_NODE_MIX)
892908#define rsnd_parse_connect_mix (rdai , playback , capture ) \
@@ -899,6 +915,8 @@ struct rsnd_mod *rsnd_mix_mod_get(struct rsnd_priv *priv, int id);
899915 */
900916int rsnd_dvc_probe (struct rsnd_priv * priv );
901917void rsnd_dvc_remove (struct rsnd_priv * priv );
918+ void rsnd_dvc_suspend (struct rsnd_priv * priv );
919+ void rsnd_dvc_resume (struct rsnd_priv * priv );
902920struct rsnd_mod * rsnd_dvc_mod_get (struct rsnd_priv * priv , int id );
903921#define rsnd_dvc_of_node (priv ) rsnd_parse_of_node(priv, RSND_NODE_DVC)
904922#define rsnd_parse_connect_dvc (rdai , playback , capture ) \
0 commit comments