summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2019-05-22 14:47:27 -0500
committerVinod Koul <vkoul@kernel.org>2019-05-27 10:53:00 +0530
commita78b32d9c36bd25f96a1fe2e610712e119c86afb (patch)
tree7ccaf2f5a3e7f7b6bffaf1c33cba465f77c787ba
parenteb7df4c86e2802383ac69b3f4f4d88b0b503a986 (diff)
soundwire: cadence_master: log Slave status mask on errors
The Slave status mask exposes 4 sticky bits. When the device loses sync, the IP will report two status but the log will only show that the device lost sync. The status mask has all the information needed so let's report it instead. Also change the resolution of the mask, using 64 bits is not needed when you need 4. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--drivers/soundwire/cadence_master.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
index e3b78768886b..d76dd24a6eae 100644
--- a/drivers/soundwire/cadence_master.c
+++ b/drivers/soundwire/cadence_master.c
@@ -487,7 +487,8 @@ static int cdns_update_slave_status(struct sdw_cdns *cdns,
{
enum sdw_slave_status status[SDW_MAX_DEVICES + 1];
bool is_slave = false;
- u64 slave, mask;
+ u64 slave;
+ u32 mask;
int i, set_status;
/* combine the two status */
@@ -527,7 +528,7 @@ static int cdns_update_slave_status(struct sdw_cdns *cdns,
if (set_status > 1) {
dev_warn_ratelimited(cdns->dev,
"Slave reported multiple Status: %d\n",
- status[i]);
+ mask);
/*
* TODO: we need to reread the status here by
* issuing a PING cmd