summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/cros_ec_codec.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2021-02-17 18:52:26 +0000
committerMark Brown <broonie@kernel.org>2021-02-17 18:52:26 +0000
commit0969db0d8d15caee41cd817154670c38d9ed7f61 (patch)
tree8ff546a65226e934d2b975ead545bb8bae54affc /sound/soc/codecs/cros_ec_codec.c
parent3b9b1490e098f4847a215d2be6a66fbb891bfc7a (diff)
parent7d25f7ca110e3e1433d3e6b53f4937fdabe42aa7 (diff)
downloadlinux-0969db0d8d15caee41cd817154670c38d9ed7f61.tar.bz2
Merge remote-tracking branch 'asoc/for-5.12' into asoc-linus
Diffstat (limited to 'sound/soc/codecs/cros_ec_codec.c')
-rw-r--r--sound/soc/codecs/cros_ec_codec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c
index f33a2a9654e7..c4772f82485a 100644
--- a/sound/soc/codecs/cros_ec_codec.c
+++ b/sound/soc/codecs/cros_ec_codec.c
@@ -1011,6 +1011,18 @@ static int cros_ec_codec_platform_probe(struct platform_device *pdev)
}
priv->ec_capabilities = r.capabilities;
+ /* Reset EC codec i2s rx. */
+ p.cmd = EC_CODEC_I2S_RX_RESET;
+ ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX,
+ (uint8_t *)&p, sizeof(p), NULL, 0);
+ if (ret == -ENOPROTOOPT) {
+ dev_info(dev,
+ "Missing reset command. Please update EC firmware.\n");
+ } else if (ret) {
+ dev_err(dev, "failed to EC_CODEC_I2S_RESET: %d\n", ret);
+ return ret;
+ }
+
platform_set_drvdata(pdev, priv);
ret = devm_snd_soc_register_component(dev, &i2s_rx_component_driver,