Message ID | 20210325033555.29377-1-ryans.lee@maximintegrated.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a23f9099ff1541f15704e96b784d3846d2a4483d |
Headers | show |
Series | [1/3] ASoC:codec:max98373: Changed amp shutdown register as volatile | expand |
On Wed, Mar 24, 2021 at 08:35:53PM -0700, Ryan Lee wrote: > 0x20FF(amp global enable) register was defined as non-volatile, > but it is not. Overheating, overcurrent can cause amp shutdown > in hardware. Please submit patches using subject lines reflecting the style for the subsystem, this makes it easier for people to identify relevant patches. Look at what existing commits in the area you're changing are doing and make sure your subject lines visually resemble what they're doing. There's no need to resubmit to fix this alone.
On Wed, 24 Mar 2021 20:35:53 -0700, Ryan Lee wrote: > 0x20FF(amp global enable) register was defined as non-volatile, > but it is not. Overheating, overcurrent can cause amp shutdown > in hardware. > 'regmap_write' compare register readback value before writing > to avoid same value writing. 'regmap_read' just read cache > not actual hardware value for the non-volatile register. > When amp is internally shutdown by some reason, next 'AMP ON' > command can be ignored because regmap think amp is already ON. Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/3] ASoC:codec:max98373: Changed amp shutdown register as volatile commit: a23f9099ff1541f15704e96b784d3846d2a4483d [2/3] ASoC:codec:max98373: Added 30ms turn on/off time delay commit: 3a27875e91fb9c29de436199d20b33f9413aea77 [3/3] ASoC:codec:max98373: Added controls for autorestart config commit: 7a0d884986f3693aca8a2dc4e1b31d35c508542e All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
diff --git a/sound/soc/codecs/max98373-i2c.c b/sound/soc/codecs/max98373-i2c.c index 85f6865019d4..ddb6436835d7 100644 --- a/sound/soc/codecs/max98373-i2c.c +++ b/sound/soc/codecs/max98373-i2c.c @@ -446,6 +446,7 @@ static bool max98373_volatile_reg(struct device *dev, unsigned int reg) case MAX98373_R2054_MEAS_ADC_PVDD_CH_READBACK: case MAX98373_R2055_MEAS_ADC_THERM_CH_READBACK: case MAX98373_R20B6_BDE_CUR_STATE_READBACK: + case MAX98373_R20FF_GLOBAL_SHDN: case MAX98373_R21FF_REV_ID: return true; default: diff --git a/sound/soc/codecs/max98373-sdw.c b/sound/soc/codecs/max98373-sdw.c index d8c47667a9ea..f3a12205cd48 100644 --- a/sound/soc/codecs/max98373-sdw.c +++ b/sound/soc/codecs/max98373-sdw.c @@ -220,6 +220,7 @@ static bool max98373_volatile_reg(struct device *dev, unsigned int reg) case MAX98373_R2054_MEAS_ADC_PVDD_CH_READBACK: case MAX98373_R2055_MEAS_ADC_THERM_CH_READBACK: case MAX98373_R20B6_BDE_CUR_STATE_READBACK: + case MAX98373_R20FF_GLOBAL_SHDN: case MAX98373_R21FF_REV_ID: /* SoundWire Control Port Registers */ case MAX98373_R0040_SCP_INIT_STAT_1 ... MAX98373_R0070_SCP_FRAME_CTLR:
0x20FF(amp global enable) register was defined as non-volatile, but it is not. Overheating, overcurrent can cause amp shutdown in hardware. 'regmap_write' compare register readback value before writing to avoid same value writing. 'regmap_read' just read cache not actual hardware value for the non-volatile register. When amp is internally shutdown by some reason, next 'AMP ON' command can be ignored because regmap think amp is already ON. Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> --- sound/soc/codecs/max98373-i2c.c | 1 + sound/soc/codecs/max98373-sdw.c | 1 + 2 files changed, 2 insertions(+)