asoc: wsa884x: update INTR_CLEAR0/1 register to volatile

In PDR cases INTR_CLEAR registers values are not updating
properly while doing reg_cache in recover from PDR. So add
these registers as volatile to get the exact HW values.

When these registe values are properly updated the FSM_PA
status is reseting properly and working.

Change-Id: I8fa7b01b3256ec8f01edc3fe48a519accfff9638
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Цей коміт міститься в:
Prasad Kumpatla
2023-04-27 10:06:02 +05:30
джерело 5c3832c4a8
коміт 23853e3c76

Переглянути файл

@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/regmap.h>
@@ -526,6 +527,9 @@ static bool wsa884x_volatile_register(struct device *dev, unsigned int reg)
if (reg == WSA884X_ANA_WO_CTL_0 || reg == WSA884X_ANA_WO_CTL_1)
return 1;
if (reg == WSA884X_INTR_CLEAR0 || reg == WSA884X_INTR_CLEAR1)
return 1;
return ((wsa884x_reg_access[WSA884X_REG(reg)] & RD_REG) &&
!(wsa884x_reg_access[WSA884X_REG(reg)] & WR_REG));
}