From 4506302e7dddc7406d2faf2a85503524f4f68985 Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Thu, 28 Oct 2021 13:16:56 +0800 Subject: [PATCH] asoc: codec: enable use_single_read for wsa and wcd regmap When interrupts are triggered on the second or third interrupt status register, current logic cannot clear that interrupt status after handling it. Enable use_single_read for wsa and wcd regmap to resolve the issue. Change-Id: I31b301e70fc51c86302f80baeec82c865e9a25cd Signed-off-by: Meng Wang --- asoc/codecs/wcd937x/wcd937x-regmap.c | 3 ++- asoc/codecs/wcd938x/wcd938x-regmap.c | 3 ++- asoc/codecs/wsa883x/wsa883x-regmap.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/asoc/codecs/wcd937x/wcd937x-regmap.c b/asoc/codecs/wcd937x/wcd937x-regmap.c index ec29826d58cc..0bbc4b8a8a96 100644 --- a/asoc/codecs/wcd937x/wcd937x-regmap.c +++ b/asoc/codecs/wcd937x/wcd937x-regmap.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include @@ -461,4 +461,5 @@ struct regmap_config wcd937x_regmap_config = { .writeable_reg = wcd937x_writeable_register, .volatile_reg = wcd937x_volatile_register, .can_multi_write = true, + .use_single_read = true, }; diff --git a/asoc/codecs/wcd938x/wcd938x-regmap.c b/asoc/codecs/wcd938x/wcd938x-regmap.c index 6f59258331a0..bfa38b4527e9 100644 --- a/asoc/codecs/wcd938x/wcd938x-regmap.c +++ b/asoc/codecs/wcd938x/wcd938x-regmap.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include @@ -512,4 +512,5 @@ struct regmap_config wcd938x_regmap_config = { .writeable_reg = wcd938x_writeable_register, .volatile_reg = wcd938x_volatile_register, .can_multi_write = true, + .use_single_read = true, }; diff --git a/asoc/codecs/wsa883x/wsa883x-regmap.c b/asoc/codecs/wsa883x/wsa883x-regmap.c index a7e1e81add20..ea7e3a857b5b 100644 --- a/asoc/codecs/wsa883x/wsa883x-regmap.c +++ b/asoc/codecs/wsa883x/wsa883x-regmap.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2015-2016, 2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2016, 2019, 2021, The Linux Foundation. All rights reserved. */ #include @@ -400,4 +400,5 @@ struct regmap_config wsa883x_regmap_config = { .reg_format_endian = REGMAP_ENDIAN_NATIVE, .val_format_endian = REGMAP_ENDIAN_NATIVE, .can_multi_write = true, + .use_single_read = true, };