diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2021-05-11 10:52:47 +0800 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-05-11 17:50:33 +0530 |
commit | 36eee232df7b41dce5a26e4da2d083f6a6b0f476 (patch) | |
tree | 35069ed490084bf29dbf0e949cffc5f121b434b0 /tools | |
parent | 54a6ca4fa8a316b2ae26fb9ad646bfb1b0b75410 (diff) | |
download | linux-36eee232df7b41dce5a26e4da2d083f6a6b0f476.tar.gz |
soundwire: cadence_master: always set CMD_ACCEPT
The Cadence IP can be configured in two different ways to deal with
CMD_IGNORED replies to broadcast commands. The CMD_ACCEPT bitfield
controls whether the command is discarded or if the IP proceeds with
the change (typically a bank switch or clock stop command).
The existing code seems to be inconsistent:
a) For some historical reason, we set this CMD_ACCEPT bitfield during
the initialization, but we don't during a resume from a clock-stoppped
state.
b) In addition, the loop used in the clock-stop sequence is quite
racy, it's possible that a device has lost sync but it's still tagged
as ATTACHED.
c) If somehow a Device loses sync and is unable to ack a broadcast
command, we do not have an error handling mechanism anyways. The IP
should go ahead and let the Device regain sync at a later time.
Make sure the CMD_ACCEPT bit is always set.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20210511025247.25339-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions