asoc: lpass-cdc: add ftrace log for NOC issue
Add ftrace log to debug NOC issues. When writing/reading lpass codec registers, add vote_lock to make sure clk is not disabled. Change-Id: I1df924d6aefee2899f7e5008851c1c324dabf62a Signed-off-by: Meng Wang <mengw@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

父節點
a39bae0a48
當前提交
2344f44b9c
@@ -84,7 +84,8 @@ static int audio_ext_clk_prepare(struct clk_hw *hw)
|
||||
if ((clk_priv->clk_src >= AUDIO_EXT_CLK_LPASS) &&
|
||||
(clk_priv->clk_src < AUDIO_EXT_CLK_LPASS_MAX) && !clk_priv->clk_cfg.enable) {
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
pr_debug("%s: clk_id %x ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
trace_printk("%s: clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_clk_cfg(&clk_priv->prm_clk_cfg,1);
|
||||
#else
|
||||
ret = afe_set_lpass_clk_cfg(IDX_RSVD_3, &clk_priv->clk_cfg);
|
||||
@@ -134,9 +135,10 @@ static void audio_ext_clk_unprepare(struct clk_hw *hw)
|
||||
(clk_priv->clk_src < AUDIO_EXT_CLK_LPASS_MAX)) {
|
||||
clk_priv->clk_cfg.enable = 0;
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d",__func__,
|
||||
pr_debug("%s: clk_id %x",__func__,
|
||||
clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_clk_cfg(&clk_priv->prm_clk_cfg,0);
|
||||
trace_printk("%s: clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
#else
|
||||
ret = afe_set_lpass_clk_cfg(IDX_RSVD_3, &clk_priv->clk_cfg);
|
||||
#endif
|
||||
@@ -177,9 +179,10 @@ static int lpass_hw_vote_prepare(struct clk_hw *hw)
|
||||
|
||||
if (clk_priv->clk_src == AUDIO_EXT_CLK_LPASS_CORE_HW_VOTE) {
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
pr_debug("%s: core vote clk_id %x \n",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_hw_core_req(&clk_priv->prm_clk_cfg,
|
||||
HW_CORE_ID_LPASS, 1);
|
||||
trace_printk("%s: core vote clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
#else
|
||||
ret = afe_vote_lpass_core_hw(AFE_LPASS_CORE_HW_MACRO_BLOCK,
|
||||
"LPASS_HW_MACRO",
|
||||
@@ -194,9 +197,10 @@ static int lpass_hw_vote_prepare(struct clk_hw *hw)
|
||||
|
||||
if (clk_priv->clk_src == AUDIO_EXT_CLK_LPASS_AUDIO_HW_VOTE) {
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
pr_debug("%s: audio vote clk_id %x \n",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_hw_core_req(&clk_priv->prm_clk_cfg,
|
||||
HW_CORE_ID_DCODEC, 1);
|
||||
trace_printk("%s: audio vote clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
#else
|
||||
ret = afe_vote_lpass_core_hw(AFE_LPASS_CORE_HW_DCODEC_BLOCK,
|
||||
"LPASS_HW_DCODEC",
|
||||
@@ -220,9 +224,10 @@ static void lpass_hw_vote_unprepare(struct clk_hw *hw)
|
||||
|
||||
if (clk_priv->clk_src == AUDIO_EXT_CLK_LPASS_CORE_HW_VOTE) {
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
pr_debug("%s: core vote clk_id %x \n",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_hw_core_req(&clk_priv->prm_clk_cfg,
|
||||
HW_CORE_ID_LPASS, 0);
|
||||
trace_printk("%s: core vote clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
#else
|
||||
ret = afe_unvote_lpass_core_hw(
|
||||
AFE_LPASS_CORE_HW_MACRO_BLOCK,
|
||||
@@ -237,9 +242,10 @@ static void lpass_hw_vote_unprepare(struct clk_hw *hw)
|
||||
if (clk_priv->clk_src == AUDIO_EXT_CLK_LPASS_AUDIO_HW_VOTE) {
|
||||
|
||||
#ifdef CONFIG_AUDIO_PRM
|
||||
pr_debug("%s: clk_id %d ",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
pr_debug("%s: audio vote clk_id %x \n",__func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
ret = audio_prm_set_lpass_hw_core_req(&clk_priv->prm_clk_cfg,
|
||||
HW_CORE_ID_DCODEC, 0);
|
||||
trace_printk("%s: audio vote clk_id %x \n", __func__, clk_priv->prm_clk_cfg.clk_id);
|
||||
#else
|
||||
ret = afe_unvote_lpass_core_hw(
|
||||
AFE_LPASS_CORE_HW_DCODEC_BLOCK,
|
||||
|
Reference in New Issue
Block a user