All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
@ 2021-01-15  7:53 ` Yu-Hsuan Hsu
  0 siblings, 0 replies; 10+ messages in thread
From: Yu-Hsuan Hsu @ 2021-01-15  7:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Benson Leung, Enric Balletbo i Serra, Guenter Roeck,
	Cheng-Yi Chiang, Liam Girdwood, Mark Brown, Jaroslav Kysela,
	Takashi Iwai, Prashant Malani, Pi-Hsun Shih, Yu-Hsuan Hsu,
	Gustavo A . R . Silva, alsa-devel

Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
which is used for resetting the EC codec.

Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
---
 include/linux/platform_data/cros_ec_commands.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 86376779ab31..95889ada83a3 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -4600,6 +4600,7 @@ enum ec_codec_i2s_rx_subcmd {
 	EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x2,
 	EC_CODEC_I2S_RX_SET_DAIFMT = 0x3,
 	EC_CODEC_I2S_RX_SET_BCLK = 0x4,
+	EC_CODEC_I2S_RX_RESET = 0x5,
 	EC_CODEC_I2S_RX_SUBCMD_COUNT,
 };
 
-- 
2.30.0.296.g2bfb1c46d8-goog


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
@ 2021-01-15  7:53 ` Yu-Hsuan Hsu
  0 siblings, 0 replies; 10+ messages in thread
From: Yu-Hsuan Hsu @ 2021-01-15  7:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: alsa-devel, Gustavo A . R . Silva, Takashi Iwai, Liam Girdwood,
	Guenter Roeck, Mark Brown, Prashant Malani, Pi-Hsun Shih,
	Enric Balletbo i Serra, Benson Leung, Yu-Hsuan Hsu,
	Cheng-Yi Chiang

Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
which is used for resetting the EC codec.

Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
---
 include/linux/platform_data/cros_ec_commands.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 86376779ab31..95889ada83a3 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -4600,6 +4600,7 @@ enum ec_codec_i2s_rx_subcmd {
 	EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x2,
 	EC_CODEC_I2S_RX_SET_DAIFMT = 0x3,
 	EC_CODEC_I2S_RX_SET_BCLK = 0x4,
+	EC_CODEC_I2S_RX_RESET = 0x5,
 	EC_CODEC_I2S_RX_SUBCMD_COUNT,
 };
 
-- 
2.30.0.296.g2bfb1c46d8-goog


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v7 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
  2021-01-15  7:53 ` Yu-Hsuan Hsu
@ 2021-01-15  7:53   ` Yu-Hsuan Hsu
  -1 siblings, 0 replies; 10+ messages in thread
From: Yu-Hsuan Hsu @ 2021-01-15  7:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Benson Leung, Enric Balletbo i Serra, Guenter Roeck,
	Cheng-Yi Chiang, Liam Girdwood, Mark Brown, Jaroslav Kysela,
	Takashi Iwai, Prashant Malani, Pi-Hsun Shih, Yu-Hsuan Hsu,
	Gustavo A . R . Silva, alsa-devel

It is not guaranteed that I2S RX is disabled when the kernel booting.
For example, if the kernel crashes while it is enabled, it will keep
enabled until the next time EC reboots. Reset I2S RX when probing to
fix this issue.

Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
---
Updated the info message.

 sound/soc/codecs/cros_ec_codec.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

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,
-- 
2.30.0.296.g2bfb1c46d8-goog


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v7 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
@ 2021-01-15  7:53   ` Yu-Hsuan Hsu
  0 siblings, 0 replies; 10+ messages in thread
From: Yu-Hsuan Hsu @ 2021-01-15  7:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: alsa-devel, Gustavo A . R . Silva, Takashi Iwai, Liam Girdwood,
	Guenter Roeck, Mark Brown, Prashant Malani, Pi-Hsun Shih,
	Enric Balletbo i Serra, Benson Leung, Yu-Hsuan Hsu,
	Cheng-Yi Chiang

It is not guaranteed that I2S RX is disabled when the kernel booting.
For example, if the kernel crashes while it is enabled, it will keep
enabled until the next time EC reboots. Reset I2S RX when probing to
fix this issue.

Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
---
Updated the info message.

 sound/soc/codecs/cros_ec_codec.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

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,
-- 
2.30.0.296.g2bfb1c46d8-goog


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
  2021-01-15  7:53 ` Yu-Hsuan Hsu
@ 2021-01-19 11:35   ` Enric Balletbo i Serra
  -1 siblings, 0 replies; 10+ messages in thread
From: Enric Balletbo i Serra @ 2021-01-19 11:35 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: Benson Leung, Guenter Roeck, Cheng-Yi Chiang, Liam Girdwood,
	Mark Brown, Jaroslav Kysela, Takashi Iwai, Prashant Malani,
	Pi-Hsun Shih, Gustavo A . R . Silva, alsa-devel

Hi Yu-Hsuan,

On 15/1/21 8:53, Yu-Hsuan Hsu wrote:
> Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
> which is used for resetting the EC codec.
> 
> Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>

Please carry the tags when sending newer versions if nothing changed. This patch
was already

Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>

Mark I'm fine if both patches go through your tree.


> ---
>  include/linux/platform_data/cros_ec_commands.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
> index 86376779ab31..95889ada83a3 100644
> --- a/include/linux/platform_data/cros_ec_commands.h
> +++ b/include/linux/platform_data/cros_ec_commands.h
> @@ -4600,6 +4600,7 @@ enum ec_codec_i2s_rx_subcmd {
>  	EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x2,
>  	EC_CODEC_I2S_RX_SET_DAIFMT = 0x3,
>  	EC_CODEC_I2S_RX_SET_BCLK = 0x4,
> +	EC_CODEC_I2S_RX_RESET = 0x5,
>  	EC_CODEC_I2S_RX_SUBCMD_COUNT,
>  };
>  
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
@ 2021-01-19 11:35   ` Enric Balletbo i Serra
  0 siblings, 0 replies; 10+ messages in thread
From: Enric Balletbo i Serra @ 2021-01-19 11:35 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: alsa-devel, Gustavo A . R . Silva, Takashi Iwai, Liam Girdwood,
	Mark Brown, Prashant Malani, Pi-Hsun Shih, Guenter Roeck,
	Benson Leung, Cheng-Yi Chiang

Hi Yu-Hsuan,

On 15/1/21 8:53, Yu-Hsuan Hsu wrote:
> Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
> which is used for resetting the EC codec.
> 
> Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>

Please carry the tags when sending newer versions if nothing changed. This patch
was already

Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>

Mark I'm fine if both patches go through your tree.


> ---
>  include/linux/platform_data/cros_ec_commands.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
> index 86376779ab31..95889ada83a3 100644
> --- a/include/linux/platform_data/cros_ec_commands.h
> +++ b/include/linux/platform_data/cros_ec_commands.h
> @@ -4600,6 +4600,7 @@ enum ec_codec_i2s_rx_subcmd {
>  	EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x2,
>  	EC_CODEC_I2S_RX_SET_DAIFMT = 0x3,
>  	EC_CODEC_I2S_RX_SET_BCLK = 0x4,
> +	EC_CODEC_I2S_RX_RESET = 0x5,
>  	EC_CODEC_I2S_RX_SUBCMD_COUNT,
>  };
>  
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
  2021-01-15  7:53   ` Yu-Hsuan Hsu
@ 2021-01-19 11:36     ` Enric Balletbo i Serra
  -1 siblings, 0 replies; 10+ messages in thread
From: Enric Balletbo i Serra @ 2021-01-19 11:36 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: Benson Leung, Guenter Roeck, Cheng-Yi Chiang, Liam Girdwood,
	Mark Brown, Jaroslav Kysela, Takashi Iwai, Prashant Malani,
	Pi-Hsun Shih, Gustavo A . R . Silva, alsa-devel

Hi Yu-Hsuan,

Thanks to apply the nit, but you can maintain the reviewed tag.

On 15/1/21 8:53, Yu-Hsuan Hsu wrote:
> It is not guaranteed that I2S RX is disabled when the kernel booting.
> For example, if the kernel crashes while it is enabled, it will keep
> enabled until the next time EC reboots. Reset I2S RX when probing to
> fix this issue.
> 
> Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>

Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>


> ---
> Updated the info message.
> 
>  sound/soc/codecs/cros_ec_codec.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> 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,
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
@ 2021-01-19 11:36     ` Enric Balletbo i Serra
  0 siblings, 0 replies; 10+ messages in thread
From: Enric Balletbo i Serra @ 2021-01-19 11:36 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: alsa-devel, Gustavo A . R . Silva, Takashi Iwai, Liam Girdwood,
	Mark Brown, Prashant Malani, Pi-Hsun Shih, Guenter Roeck,
	Benson Leung, Cheng-Yi Chiang

Hi Yu-Hsuan,

Thanks to apply the nit, but you can maintain the reviewed tag.

On 15/1/21 8:53, Yu-Hsuan Hsu wrote:
> It is not guaranteed that I2S RX is disabled when the kernel booting.
> For example, if the kernel crashes while it is enabled, it will keep
> enabled until the next time EC reboots. Reset I2S RX when probing to
> fix this issue.
> 
> Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>

Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>


> ---
> Updated the info message.
> 
>  sound/soc/codecs/cros_ec_codec.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> 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,
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
  2021-01-15  7:53 ` Yu-Hsuan Hsu
@ 2021-01-21  0:05   ` Mark Brown
  -1 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2021-01-21  0:05 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: Gustavo A . R . Silva, Cheng-Yi Chiang, Enric Balletbo i Serra,
	Benson Leung, Guenter Roeck, Prashant Malani, alsa-devel,
	Pi-Hsun Shih, Takashi Iwai, Liam Girdwood

On Fri, 15 Jan 2021 15:53:00 +0800, Yu-Hsuan Hsu wrote:
> Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
> which is used for resetting the EC codec.

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
      commit: f4d3bd8be4f2bc43e4b13490cbc9969d15c2f058
[2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
      commit: 7f1f7ae102ea082745e320b3c8c003f43c063edf

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
@ 2021-01-21  0:05   ` Mark Brown
  0 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2021-01-21  0:05 UTC (permalink / raw)
  To: Yu-Hsuan Hsu, linux-kernel
  Cc: alsa-devel, Liam Girdwood, Gustavo A . R . Silva, Takashi Iwai,
	Guenter Roeck, Prashant Malani, Pi-Hsun Shih,
	Enric Balletbo i Serra, Benson Leung, Cheng-Yi Chiang

On Fri, 15 Jan 2021 15:53:00 +0800, Yu-Hsuan Hsu wrote:
> Add the new command EC_CODEC_I2S_RX_RESET in ec_codec_i2s_rx_subcmd,
> which is used for resetting the EC codec.

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET
      commit: f4d3bd8be4f2bc43e4b13490cbc9969d15c2f058
[2/2] ASoC: cros_ec_codec: Reset I2S RX when probing
      commit: 7f1f7ae102ea082745e320b3c8c003f43c063edf

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-01-21  1:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-15  7:53 [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET Yu-Hsuan Hsu
2021-01-15  7:53 ` Yu-Hsuan Hsu
2021-01-15  7:53 ` [PATCH v7 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing Yu-Hsuan Hsu
2021-01-15  7:53   ` Yu-Hsuan Hsu
2021-01-19 11:36   ` Enric Balletbo i Serra
2021-01-19 11:36     ` Enric Balletbo i Serra
2021-01-19 11:35 ` [PATCH v7 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET Enric Balletbo i Serra
2021-01-19 11:35   ` Enric Balletbo i Serra
2021-01-21  0:05 ` Mark Brown
2021-01-21  0:05   ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.