OSDN Git Service

soc: swr-wcd-ctrl: Fix wsa mute issue for stereo playback
authorLaxminath Kasam <lkasam@codeaurora.org>
Fri, 14 Sep 2018 13:20:12 +0000 (18:50 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Thu, 20 Sep 2018 07:03:09 +0000 (00:03 -0700)
When temperature on a single wsa881x device is being read,
then soundwire master wakes up both wsa881x devices but
regcache_sync is happening only for one wsa881x device on
which the temperature is being read. This results in
audio playback mute after temperature read. Fix the
regcache sync during temperature read and playback usecase.

CRs-Fixed: 2282230
Change-Id: I856b96517c629ac685bbc25caabee841037106c8
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
drivers/soundwire/swr-wcd-ctrl.c

index 1dcaba2..a8458b9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -1727,6 +1727,8 @@ int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data)
                    (swrm->state == SWR_MSTR_UP)) {
                        dev_dbg(swrm->dev, "%s: SWR master is already UP: %d\n",
                                __func__, swrm->state);
+                       list_for_each_entry(swr_dev, &mstr->devices, dev_list)
+                               swr_reset_device(swr_dev);
                } else {
                        pm_runtime_mark_last_busy(&pdev->dev);
                        mutex_unlock(&swrm->reslock);