diff options
author | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2023-01-17 11:39:46 +0000 |
---|---|---|
committer | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2023-01-17 12:26:48 +0000 |
commit | 0575dad04160c5e5341f8acbfd6154535a61333c (patch) | |
tree | ea5ce521f675422269e9c688ed50ff3faa9dcfd5 | |
parent | 4fe6f1780fc7327b6a08502a9198ad0047a91109 (diff) |
DEBUG-ONLY: Not for Upstream
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-rw-r--r-- | drivers/soundwire/bus.c | 4 | ||||
-rw-r--r-- | drivers/soundwire/qcom.c | 46 | ||||
-rw-r--r-- | sound/soc/codecs/lpass-rx-macro.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/lpass-tx-macro.c | 3 | ||||
-rw-r--r-- | sound/soc/codecs/lpass-va-macro.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/lpass-wsa-macro.c | 5 | ||||
-rw-r--r-- | sound/soc/codecs/wcd938x-sdw.c | 7 |
7 files changed, 59 insertions, 10 deletions
diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index 76515c33e639e..2396c5566cb07 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -1810,8 +1810,8 @@ int sdw_handle_slave_status(struct sdw_bus *bus, if (status[i] == SDW_SLAVE_UNATTACHED && slave->status != SDW_SLAVE_UNATTACHED) { - dev_warn(&slave->dev, "Slave %d state check1: UNATTACHED, status was %d\n", - i, slave->status); + dev_warn(&slave->dev, "Slave %d state check1: UNATTACHED, status was %d vs %d\n", + i, slave->status, status[i]); sdw_modify_slave_status(slave, SDW_SLAVE_UNATTACHED); /* Ensure driver knows that peripheral unattached */ diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 634b5304ada1c..5d60f602c20fa 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -358,6 +358,11 @@ static int qcom_swrm_cmd_fifo_wr_cmd(struct qcom_swrm_ctrl *swrm, u8 cmd_data, u32 val; int ret = 0; u8 cmd_id = 0x0; + if (dev_addr == 0) { + pr_err("DEBUG: %s: %d %x -> %d\n", __func__, dev_addr, reg_addr, cmd_data); + dump_stack(); + return 0; + } if (dev_addr == SDW_BROADCAST_DEV_NUM) { cmd_id = SWR_BROADCAST_CMD_ID; @@ -410,6 +415,11 @@ static int qcom_swrm_cmd_fifo_rd_cmd(struct qcom_swrm_ctrl *swrm, val = swrm_get_packed_reg_val(&swrm->rcmd_id, len, dev_addr, reg_addr); + if (dev_addr == 0) { + pr_err("DEBUG: %s: %d %x %d\n", __func__, dev_addr, reg_addr, len); + dump_stack(); + return 0; + } /* * Check for outstanding cmd wrt. write fifo depth to avoid * overflow as read will also increase write fifo cnt. @@ -607,18 +617,26 @@ static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id) dev_err_ratelimited(swrm->dev, "no slave alert found.spurious interrupt\n"); } else { + dev_err_ratelimited(swrm->dev, + "slave pend irq\n"); sdw_handle_slave_status(&swrm->bus, swrm->status); } break; case SWRM_INTERRUPT_STATUS_NEW_SLAVE_ATTACHED: case SWRM_INTERRUPT_STATUS_CHANGE_ENUM_SLAVE_STATUS: - dev_dbg_ratelimited(swrm->dev, "SWR new slave attached\n"); + if (value == SWRM_INTERRUPT_STATUS_CHANGE_ENUM_SLAVE_STATUS) + dev_err_ratelimited(swrm->dev, "SWR slave Status Changed\n"); + else + dev_err_ratelimited(swrm->dev, "SWR new slave attached\n"); + swrm->reg_read(swrm, SWRM_MCP_SLV_STATUS, &slave_status); if (swrm->slave_status == slave_status) { - dev_dbg(swrm->dev, "Slave status not changed %x\n", + dev_err(swrm->dev, "Slave status not changed %x\n", slave_status); } else { + dev_err_ratelimited(swrm->dev, + "slave status changed %x vs %x\n", slave_status,swrm->slave_status); qcom_swrm_get_device_status(swrm); qcom_swrm_enumerate(&swrm->bus); sdw_handle_slave_status(&swrm->bus, swrm->status); @@ -678,10 +696,17 @@ static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id) complete(&swrm->broadcast); break; case SWRM_INTERRUPT_STATUS_BUS_RESET_FINISHED_V2: + dev_err_ratelimited(swrm->dev, + "%s: SWR bus reset finished....\n", __func__); + break; case SWRM_INTERRUPT_STATUS_CLK_STOP_FINISHED_V2: + dev_err_ratelimited(swrm->dev, + "%s: SWR Clk stop finished....\n", __func__); break; case SWRM_INTERRUPT_STATUS_EXT_CLK_STOP_WAKEUP: + dev_err_ratelimited(swrm->dev, + "%s: SWR Clk stop Wakeup...\n", __func__); break; default: dev_err_ratelimited(swrm->dev, @@ -708,14 +733,18 @@ static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *swrm) do { swrm->reg_read(swrm, SWRM_COMP_STATUS, &comp_sts); - if (comp_sts & SWRM_FRM_GEN_ENABLED) + if (comp_sts & SWRM_FRM_GEN_ENABLED) { + dev_err(swrm->dev, "%s: Frame Gen Enabled\n", + __func__); + return true; + } usleep_range(500, 510); } while (retry--); - dev_err(swrm->dev, "%s: link status %s\n", __func__, - comp_sts & SWRM_FRM_GEN_ENABLED ? "connected" : "disconnected"); + dev_err(swrm->dev, "%s: Frame Gen %s\n", __func__, + comp_sts & SWRM_FRM_GEN_ENABLED ? "Enabled" : "disconnected"); return false; } @@ -1542,7 +1571,7 @@ static int __maybe_unused swrm_runtime_resume(struct device *dev) { struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(dev); int ret; - + dev_err(ctrl->dev, " %s: enter \n", __func__); if (ctrl->wake_irq > 0) { if (!irqd_irq_disabled(irq_get_irq_data(ctrl->wake_irq))) disable_irq_nosync(ctrl->wake_irq); @@ -1591,6 +1620,7 @@ static int __maybe_unused swrm_runtime_resume(struct device *dev) if (ret < 0) dev_err(ctrl->dev, "bus failed to exit clock stop %d\n", ret); } + dev_err(ctrl->dev, " %s: done \n", __func__); return 0; } @@ -1599,7 +1629,7 @@ static int __maybe_unused swrm_runtime_suspend(struct device *dev) { struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(dev); int ret; - + dev_err(ctrl->dev, " %s: enter \n", __func__); swrm_wait_for_wr_fifo_done(ctrl); if (!ctrl->clock_stop_not_supported) { /* Mask bus clash interrupt */ @@ -1628,7 +1658,7 @@ static int __maybe_unused swrm_runtime_suspend(struct device *dev) if (irqd_irq_disabled(irq_get_irq_data(ctrl->wake_irq))) enable_irq(ctrl->wake_irq); } - + dev_err(ctrl->dev, " %s: done \n", __func__); return 0; } diff --git a/sound/soc/codecs/lpass-rx-macro.c b/sound/soc/codecs/lpass-rx-macro.c index c4c54930b9ada..545f24c0620be 100644 --- a/sound/soc/codecs/lpass-rx-macro.c +++ b/sound/soc/codecs/lpass-rx-macro.c @@ -3437,6 +3437,7 @@ static int swclk_gate_enable(struct clk_hw *hw) dev_err(rx->dev, "unable to prepare mclk\n"); return ret; } + dev_err(rx->dev, " %s: %d \n", __func__, __LINE__); rx_macro_mclk_enable(rx, true); regmap_update_bits(rx->regmap, CDC_RX_CLK_RST_CTRL_SWR_CONTROL, @@ -3456,6 +3457,7 @@ static void swclk_gate_disable(struct clk_hw *hw) { struct rx_macro *rx = to_rx_macro(hw); + dev_err(rx->dev, " %s: %d \n", __func__, __LINE__); regmap_update_bits(rx->regmap, CDC_RX_CLK_RST_CTRL_SWR_CONTROL, CDC_RX_SWR_CLK_EN_MASK, 0); diff --git a/sound/soc/codecs/lpass-tx-macro.c b/sound/soc/codecs/lpass-tx-macro.c index 702ea07e5c2c5..76da3cdf7ac74 100644 --- a/sound/soc/codecs/lpass-tx-macro.c +++ b/sound/soc/codecs/lpass-tx-macro.c @@ -1854,6 +1854,7 @@ static int swclk_gate_enable(struct clk_hw *hw) struct regmap *regmap = tx->regmap; int ret; + dev_err(tx->dev, " %s: %d \n", __func__, __LINE__); ret = clk_prepare_enable(tx->mclk); if (ret) { dev_err(tx->dev, "failed to enable mclk\n"); @@ -1877,6 +1878,7 @@ static void swclk_gate_disable(struct clk_hw *hw) { struct tx_macro *tx = to_tx_macro(hw); struct regmap *regmap = tx->regmap; + dev_err(tx->dev, " %s: %d \n", __func__, __LINE__); regmap_update_bits(regmap, CDC_TX_CLK_RST_CTRL_SWR_CONTROL, CDC_TX_SWR_CLK_EN_MASK, 0x0); @@ -1889,6 +1891,7 @@ static int swclk_gate_is_enabled(struct clk_hw *hw) { struct tx_macro *tx = to_tx_macro(hw); int ret, val; + dev_err(tx->dev, " %s: %d \n", __func__, __LINE__); regmap_read(tx->regmap, CDC_TX_CLK_RST_CTRL_SWR_CONTROL, &val); ret = val & BIT(0); diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c index b0b6cf29cba30..3113bc95f8b88 100644 --- a/sound/soc/codecs/lpass-va-macro.c +++ b/sound/soc/codecs/lpass-va-macro.c @@ -1332,6 +1332,7 @@ static int fsgen_gate_enable(struct clk_hw *hw) struct regmap *regmap = va->regmap; int ret; + dev_err(va->dev, " %s: %d \n", __func__, __LINE__); ret = va_macro_mclk_enable(va, true); if (!va->has_swr_master) return ret; @@ -1352,6 +1353,7 @@ static void fsgen_gate_disable(struct clk_hw *hw) { struct va_macro *va = to_va_macro(hw); struct regmap *regmap = va->regmap; + dev_err(va->dev, " %s: %d \n", __func__, __LINE__); if (va->has_swr_master) regmap_update_bits(regmap, CDC_VA_CLK_RST_CTRL_SWR_CONTROL, diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c index 88482ac316356..34947ca8b6092 100644 --- a/sound/soc/codecs/lpass-wsa-macro.c +++ b/sound/soc/codecs/lpass-wsa-macro.c @@ -2313,11 +2313,15 @@ static int wsa_macro_component_probe(struct snd_soc_component *comp) static int swclk_gate_enable(struct clk_hw *hw) { + struct wsa_macro *wsa = to_wsa_macro(hw); + dev_err(wsa->dev, " %s: %d \n", __func__, __LINE__); return wsa_swrm_clock(to_wsa_macro(hw), true); } static void swclk_gate_disable(struct clk_hw *hw) { + struct wsa_macro *wsa = to_wsa_macro(hw); + dev_err(wsa->dev, " %s: %d \n", __func__, __LINE__); wsa_swrm_clock(to_wsa_macro(hw), false); } @@ -2326,6 +2330,7 @@ static int swclk_gate_is_enabled(struct clk_hw *hw) struct wsa_macro *wsa = to_wsa_macro(hw); int ret, val; + dev_err(wsa->dev, " %s: %d \n", __func__, __LINE__); regmap_read(wsa->regmap, CDC_WSA_CLK_RST_CTRL_SWR_CONTROL, &val); ret = val & BIT(0); diff --git a/sound/soc/codecs/wcd938x-sdw.c b/sound/soc/codecs/wcd938x-sdw.c index 1bf3c06a2b622..d9f40c7bede6c 100644 --- a/sound/soc/codecs/wcd938x-sdw.c +++ b/sound/soc/codecs/wcd938x-sdw.c @@ -161,6 +161,13 @@ EXPORT_SYMBOL_GPL(wcd938x_sdw_set_sdw_stream); static int wcd9380_update_status(struct sdw_slave *slave, enum sdw_slave_status status) { + + if (status == SDW_SLAVE_UNATTACHED) + dev_err(&slave->dev, "Unattached \n"); + + if (status == SDW_SLAVE_ATTACHED) + dev_err(&slave->dev, "Attached ...\n"); + return 0; } |