]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
soundwire: cadence_master: use rate_limited dynamic debug
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Wed, 22 May 2019 19:47:26 +0000 (14:47 -0500)
committerVinod Koul <vkoul@kernel.org>
Mon, 27 May 2019 05:23:00 +0000 (10:53 +0530)
When commands start failing, e.g. due to a bad electrical connection
or bus conflicts, the dmesg log is flooded. This should not happen for
production devices but it's quite frequent when bringing-up a new
platform.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/cadence_master.c

index d56237bb351f3f3bad5d982537c69bc84a288964..e3b78768886b53b6da709921bd3fd6a33f87c4cd 100644 (file)
@@ -237,19 +237,19 @@ cdns_fill_msg_resp(struct sdw_cdns *cdns,
        for (i = 0; i < count; i++) {
                if (!(cdns->response_buf[i] & CDNS_MCP_RESP_ACK)) {
                        no_ack = 1;
-                       dev_dbg(cdns->dev, "Msg Ack not received\n");
+                       dev_dbg_ratelimited(cdns->dev, "Msg Ack not received\n");
                        if (cdns->response_buf[i] & CDNS_MCP_RESP_NACK) {
                                nack = 1;
-                               dev_err(cdns->dev, "Msg NACK received\n");
+                               dev_err_ratelimited(cdns->dev, "Msg NACK received\n");
                        }
                }
        }
 
        if (nack) {
-               dev_err(cdns->dev, "Msg NACKed for Slave %d\n", msg->dev_num);
+               dev_err_ratelimited(cdns->dev, "Msg NACKed for Slave %d\n", msg->dev_num);
                return SDW_CMD_FAIL;
        } else if (no_ack) {
-               dev_dbg(cdns->dev, "Msg ignored for Slave %d\n", msg->dev_num);
+               dev_dbg_ratelimited(cdns->dev, "Msg ignored for Slave %d\n", msg->dev_num);
                return SDW_CMD_IGNORED;
        }
 
@@ -357,12 +357,12 @@ cdns_program_scp_addr(struct sdw_cdns *cdns, struct sdw_msg *msg)
 
        /* For NACK, NO ack, don't return err if we are in Broadcast mode */
        if (nack) {
-               dev_err(cdns->dev,
-                       "SCP_addrpage NACKed for Slave %d\n", msg->dev_num);
+               dev_err_ratelimited(cdns->dev,
+                                   "SCP_addrpage NACKed for Slave %d\n", msg->dev_num);
                return SDW_CMD_FAIL;
        } else if (no_ack) {
-               dev_dbg(cdns->dev,
-                       "SCP_addrpage ignored for Slave %d\n", msg->dev_num);
+               dev_dbg_ratelimited(cdns->dev,
+                                   "SCP_addrpage ignored for Slave %d\n", msg->dev_num);
                return SDW_CMD_IGNORED;
        }
 
@@ -525,9 +525,9 @@ static int cdns_update_slave_status(struct sdw_cdns *cdns,
 
                /* first check if Slave reported multiple status */
                if (set_status > 1) {
-                       dev_warn(cdns->dev,
-                                "Slave reported multiple Status: %d\n",
-                                status[i]);
+                       dev_warn_ratelimited(cdns->dev,
+                                            "Slave reported multiple Status: %d\n",
+                                            status[i]);
                        /*
                         * TODO: we need to reread the status here by
                         * issuing a PING cmd
@@ -613,7 +613,7 @@ irqreturn_t sdw_cdns_thread(int irq, void *dev_id)
        struct sdw_cdns *cdns = dev_id;
        u32 slave0, slave1;
 
-       dev_dbg(cdns->dev, "Slave status change\n");
+       dev_dbg_ratelimited(cdns->dev, "Slave status change\n");
 
        slave0 = cdns_readl(cdns, CDNS_MCP_SLAVE_INTSTAT0);
        slave1 = cdns_readl(cdns, CDNS_MCP_SLAVE_INTSTAT1);