soundwire: intel: simplify sync_go sequence
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 14 Mar 2023 01:53:59 +0000 (09:53 +0800)
committerVinod Koul <vkoul@kernel.org>
Wed, 15 Mar 2023 13:54:02 +0000 (19:24 +0530)
commit9c49a4dd6c861bd2636094712d6d874e257787e2
treebc911f60381b40f80c14d4d98c4e8d4dd7615396
parent59e924fe159cb441d6ff96811fde72ef0f32c094
soundwire: intel: simplify sync_go sequence

In the existing code, the SHIM_SYNC::SYNC_GO bit is set, and the code
waits for it to return to zero.

That second wait part is just wrong: the SYNC_GO bit is *write-only* so
there's no way to know if it's cleared by hardware. The code works
because the value for a read-only bit is zero, but that's really just
luck.

Simplify the sequence to a plain read-modify-write.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@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/20230314015410.487311-6-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.c