From: Prashant Malani <pmalani@chromium.org> To: linux-kernel@vger.kernel.org Cc: Prashant Malani <pmalani@chromium.org>, Cheng-Yi Chiang <cychiang@chromium.org>, Enric Balletbo i Serra <enric.balletbo@collabora.com>, Guenter Roeck <groeck@chromium.org>, Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Benson Leung <bleung@chromium.org>, alsa-devel@alsa-project.org (moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...) Subject: [PATCH v2 11/17] ASoC: cros_ec_codec: Use cros_ec_cmd() Date: Wed, 5 Feb 2020 11:00:16 -0800 [thread overview] Message-ID: <20200205190028.183069-12-pmalani@chromium.org> (raw) In-Reply-To: <20200205190028.183069-1-pmalani@chromium.org> Replace send_ec_host_command() with cros_ec_cmd() which does the same thing, but is defined in a common location in platform/chrome and exposed for other modules to use. This allows us to remove send_ec_host_command() entirely. Signed-off-by: Prashant Malani <pmalani@chromium.org> --- Changes in v2: - Updated to use new function name and parameter list. sound/soc/codecs/cros_ec_codec.c | 119 +++++++++++-------------------- 1 file changed, 42 insertions(+), 77 deletions(-) diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c index 6a24f570c5e86f..8516ba5f7624f8 100644 --- a/sound/soc/codecs/cros_ec_codec.c +++ b/sound/soc/codecs/cros_ec_codec.c @@ -69,38 +69,6 @@ static int ec_codec_capable(struct cros_ec_codec_priv *priv, uint8_t cap) return priv->ec_capabilities & BIT(cap); } -static int send_ec_host_command(struct cros_ec_device *ec_dev, uint32_t cmd, - uint8_t *out, size_t outsize, - uint8_t *in, size_t insize) -{ - int ret; - struct cros_ec_command *msg; - - msg = kmalloc(sizeof(*msg) + max(outsize, insize), GFP_KERNEL); - if (!msg) - return -ENOMEM; - - msg->version = 0; - msg->command = cmd; - msg->outsize = outsize; - msg->insize = insize; - - if (outsize) - memcpy(msg->data, out, outsize); - - ret = cros_ec_cmd_xfer_status(ec_dev, msg); - if (ret < 0) - goto error; - - if (insize) - memcpy(in, msg->data, insize); - - ret = 0; -error: - kfree(msg); - return ret; -} - static int calculate_sha256(struct cros_ec_codec_priv *priv, uint8_t *buf, uint32_t size, uint8_t *digest) { @@ -149,18 +117,18 @@ static int dmic_get_gain(struct snd_kcontrol *kcontrol, p.cmd = EC_CODEC_DMIC_GET_GAIN_IDX; p.get_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_0; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) return ret; ucontrol->value.integer.value[0] = r.gain; p.cmd = EC_CODEC_DMIC_GET_GAIN_IDX; p.get_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_1; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) return ret; ucontrol->value.integer.value[1] = r.gain; @@ -191,16 +159,16 @@ static int dmic_put_gain(struct snd_kcontrol *kcontrol, p.cmd = EC_CODEC_DMIC_SET_GAIN_IDX; p.set_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_0; p.set_gain_idx_param.gain = left; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret < 0) return ret; p.cmd = EC_CODEC_DMIC_SET_GAIN_IDX; p.set_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_1; p.set_gain_idx_param.gain = right; - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static const DECLARE_TLV_DB_SCALE(dmic_gain_tlv, 0, 100, 0); @@ -231,9 +199,9 @@ static int dmic_probe(struct snd_soc_component *component) p.cmd = EC_CODEC_DMIC_GET_MAX_GAIN; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) { dev_warn(dev, "get_max_gain() unsupported\n"); return 0; @@ -279,8 +247,8 @@ static int i2s_rx_hw_params(struct snd_pcm_substream *substream, p.cmd = EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH; p.set_sample_depth_param.depth = depth; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret < 0) return ret; @@ -289,8 +257,8 @@ static int i2s_rx_hw_params(struct snd_pcm_substream *substream, p.cmd = EC_CODEC_I2S_RX_SET_BCLK; p.set_bclk_param.bclk = snd_soc_params_to_bclk(params); - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static int i2s_rx_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) @@ -333,8 +301,8 @@ static int i2s_rx_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) p.cmd = EC_CODEC_I2S_RX_SET_DAIFMT; p.set_daifmt_param.daifmt = daifmt; - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static const struct snd_soc_dai_ops i2s_rx_dai_ops = { @@ -364,8 +332,8 @@ static int i2s_rx_event(struct snd_soc_dapm_widget *w, return 0; } - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static struct snd_soc_dapm_widget i2s_rx_dapm_widgets[] = { @@ -415,9 +383,8 @@ static void *wov_map_shm(struct cros_ec_codec_priv *priv, p.cmd = EC_CODEC_GET_SHM_ADDR; p.get_shm_addr_param.shm_id = shm_id; - if (send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)) < 0) { + if (cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, (uint8_t *)&p, + sizeof(p), (uint8_t *)&r, sizeof(r), NULL) < 0) { dev_err(priv->dev, "failed to EC_CODEC_GET_SHM_ADDR\n"); return NULL; } @@ -453,9 +420,8 @@ static void *wov_map_shm(struct cros_ec_codec_priv *priv, p.set_shm_addr_param.phys_addr = priv->ap_shm_last_alloc; p.set_shm_addr_param.len = req; p.set_shm_addr_param.shm_id = shm_id; - if (send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - NULL, 0) < 0) { + if (cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL) < 0) { dev_err(priv->dev, "failed to EC_CODEC_SET_SHM_ADDR\n"); return NULL; } @@ -571,9 +537,9 @@ static int wov_read_audio_shm(struct cros_ec_codec_priv *priv) int ret; p.cmd = EC_CODEC_WOV_READ_AUDIO_SHM; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_READ_AUDIO_SHM\n"); return ret; @@ -596,9 +562,9 @@ static int wov_read_audio(struct cros_ec_codec_priv *priv) while (remain >= 0) { p.cmd = EC_CODEC_WOV_READ_AUDIO; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, + sizeof(r), NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_READ_AUDIO\n"); @@ -669,8 +635,8 @@ static int wov_enable_put(struct snd_kcontrol *kcontrol, else p.cmd = EC_CODEC_WOV_DISABLE; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to %s wov\n", enabled ? "enable" : "disable"); @@ -716,8 +682,8 @@ static int wov_set_lang_shm(struct cros_ec_codec_priv *priv, p.cmd = EC_CODEC_WOV_SET_LANG_SHM; memcpy(pp->hash, digest, SHA256_DIGEST_SIZE); pp->total_len = size; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_SET_LANG_SHM\n"); return ret; @@ -743,8 +709,8 @@ static int wov_set_lang(struct cros_ec_codec_priv *priv, pp->offset = i; memcpy(pp->buf, buf + i, req); pp->len = req; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_SET_LANG\n"); return ret; @@ -782,9 +748,9 @@ static int wov_hotword_model_put(struct snd_kcontrol *kcontrol, goto leave; p.cmd = EC_CODEC_WOV_GET_LANG; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret) goto leave; @@ -1020,9 +986,8 @@ static int cros_ec_codec_platform_probe(struct platform_device *pdev) atomic_set(&priv->dmic_probed, 0); p.cmd = EC_CODEC_GET_CAPABILITIES; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, (uint8_t *)&p, + sizeof(p), (uint8_t *)&r, sizeof(r), NULL); if (ret) { dev_err(dev, "failed to EC_CODEC_GET_CAPABILITIES\n"); return ret; -- 2.25.0.341.g760bfbb309-goog
WARNING: multiple messages have this Message-ID (diff)
From: Prashant Malani <pmalani@chromium.org> To: linux-kernel@vger.kernel.org Cc: "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, Takashi Iwai <tiwai@suse.com>, Liam Girdwood <lgirdwood@gmail.com>, Guenter Roeck <groeck@chromium.org>, Mark Brown <broonie@kernel.org>, Prashant Malani <pmalani@chromium.org>, Enric Balletbo i Serra <enric.balletbo@collabora.com>, Benson Leung <bleung@chromium.org>, Cheng-Yi Chiang <cychiang@chromium.org> Subject: [alsa-devel] [PATCH v2 11/17] ASoC: cros_ec_codec: Use cros_ec_cmd() Date: Wed, 5 Feb 2020 11:00:16 -0800 [thread overview] Message-ID: <20200205190028.183069-12-pmalani@chromium.org> (raw) In-Reply-To: <20200205190028.183069-1-pmalani@chromium.org> Replace send_ec_host_command() with cros_ec_cmd() which does the same thing, but is defined in a common location in platform/chrome and exposed for other modules to use. This allows us to remove send_ec_host_command() entirely. Signed-off-by: Prashant Malani <pmalani@chromium.org> --- Changes in v2: - Updated to use new function name and parameter list. sound/soc/codecs/cros_ec_codec.c | 119 +++++++++++-------------------- 1 file changed, 42 insertions(+), 77 deletions(-) diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c index 6a24f570c5e86f..8516ba5f7624f8 100644 --- a/sound/soc/codecs/cros_ec_codec.c +++ b/sound/soc/codecs/cros_ec_codec.c @@ -69,38 +69,6 @@ static int ec_codec_capable(struct cros_ec_codec_priv *priv, uint8_t cap) return priv->ec_capabilities & BIT(cap); } -static int send_ec_host_command(struct cros_ec_device *ec_dev, uint32_t cmd, - uint8_t *out, size_t outsize, - uint8_t *in, size_t insize) -{ - int ret; - struct cros_ec_command *msg; - - msg = kmalloc(sizeof(*msg) + max(outsize, insize), GFP_KERNEL); - if (!msg) - return -ENOMEM; - - msg->version = 0; - msg->command = cmd; - msg->outsize = outsize; - msg->insize = insize; - - if (outsize) - memcpy(msg->data, out, outsize); - - ret = cros_ec_cmd_xfer_status(ec_dev, msg); - if (ret < 0) - goto error; - - if (insize) - memcpy(in, msg->data, insize); - - ret = 0; -error: - kfree(msg); - return ret; -} - static int calculate_sha256(struct cros_ec_codec_priv *priv, uint8_t *buf, uint32_t size, uint8_t *digest) { @@ -149,18 +117,18 @@ static int dmic_get_gain(struct snd_kcontrol *kcontrol, p.cmd = EC_CODEC_DMIC_GET_GAIN_IDX; p.get_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_0; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) return ret; ucontrol->value.integer.value[0] = r.gain; p.cmd = EC_CODEC_DMIC_GET_GAIN_IDX; p.get_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_1; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) return ret; ucontrol->value.integer.value[1] = r.gain; @@ -191,16 +159,16 @@ static int dmic_put_gain(struct snd_kcontrol *kcontrol, p.cmd = EC_CODEC_DMIC_SET_GAIN_IDX; p.set_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_0; p.set_gain_idx_param.gain = left; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret < 0) return ret; p.cmd = EC_CODEC_DMIC_SET_GAIN_IDX; p.set_gain_idx_param.channel = EC_CODEC_DMIC_CHANNEL_1; p.set_gain_idx_param.gain = right; - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static const DECLARE_TLV_DB_SCALE(dmic_gain_tlv, 0, 100, 0); @@ -231,9 +199,9 @@ static int dmic_probe(struct snd_soc_component *component) p.cmd = EC_CODEC_DMIC_GET_MAX_GAIN; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_DMIC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_DMIC, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret < 0) { dev_warn(dev, "get_max_gain() unsupported\n"); return 0; @@ -279,8 +247,8 @@ static int i2s_rx_hw_params(struct snd_pcm_substream *substream, p.cmd = EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH; p.set_sample_depth_param.depth = depth; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret < 0) return ret; @@ -289,8 +257,8 @@ static int i2s_rx_hw_params(struct snd_pcm_substream *substream, p.cmd = EC_CODEC_I2S_RX_SET_BCLK; p.set_bclk_param.bclk = snd_soc_params_to_bclk(params); - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static int i2s_rx_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) @@ -333,8 +301,8 @@ static int i2s_rx_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) p.cmd = EC_CODEC_I2S_RX_SET_DAIFMT; p.set_daifmt_param.daifmt = daifmt; - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static const struct snd_soc_dai_ops i2s_rx_dai_ops = { @@ -364,8 +332,8 @@ static int i2s_rx_event(struct snd_soc_dapm_widget *w, return 0; } - return send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_I2S_RX, - (uint8_t *)&p, sizeof(p), NULL, 0); + return cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_I2S_RX, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); } static struct snd_soc_dapm_widget i2s_rx_dapm_widgets[] = { @@ -415,9 +383,8 @@ static void *wov_map_shm(struct cros_ec_codec_priv *priv, p.cmd = EC_CODEC_GET_SHM_ADDR; p.get_shm_addr_param.shm_id = shm_id; - if (send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)) < 0) { + if (cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, (uint8_t *)&p, + sizeof(p), (uint8_t *)&r, sizeof(r), NULL) < 0) { dev_err(priv->dev, "failed to EC_CODEC_GET_SHM_ADDR\n"); return NULL; } @@ -453,9 +420,8 @@ static void *wov_map_shm(struct cros_ec_codec_priv *priv, p.set_shm_addr_param.phys_addr = priv->ap_shm_last_alloc; p.set_shm_addr_param.len = req; p.set_shm_addr_param.shm_id = shm_id; - if (send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - NULL, 0) < 0) { + if (cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL) < 0) { dev_err(priv->dev, "failed to EC_CODEC_SET_SHM_ADDR\n"); return NULL; } @@ -571,9 +537,9 @@ static int wov_read_audio_shm(struct cros_ec_codec_priv *priv) int ret; p.cmd = EC_CODEC_WOV_READ_AUDIO_SHM; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_READ_AUDIO_SHM\n"); return ret; @@ -596,9 +562,9 @@ static int wov_read_audio(struct cros_ec_codec_priv *priv) while (remain >= 0) { p.cmd = EC_CODEC_WOV_READ_AUDIO; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, + sizeof(r), NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_READ_AUDIO\n"); @@ -669,8 +635,8 @@ static int wov_enable_put(struct snd_kcontrol *kcontrol, else p.cmd = EC_CODEC_WOV_DISABLE; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to %s wov\n", enabled ? "enable" : "disable"); @@ -716,8 +682,8 @@ static int wov_set_lang_shm(struct cros_ec_codec_priv *priv, p.cmd = EC_CODEC_WOV_SET_LANG_SHM; memcpy(pp->hash, digest, SHA256_DIGEST_SIZE); pp->total_len = size; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_SET_LANG_SHM\n"); return ret; @@ -743,8 +709,8 @@ static int wov_set_lang(struct cros_ec_codec_priv *priv, pp->offset = i; memcpy(pp->buf, buf + i, req); pp->len = req; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), NULL, 0); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), NULL, 0, NULL); if (ret) { dev_err(priv->dev, "failed to EC_CODEC_WOV_SET_LANG\n"); return ret; @@ -782,9 +748,9 @@ static int wov_hotword_model_put(struct snd_kcontrol *kcontrol, goto leave; p.cmd = EC_CODEC_WOV_GET_LANG; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC_WOV, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC_WOV, + (uint8_t *)&p, sizeof(p), (uint8_t *)&r, sizeof(r), + NULL); if (ret) goto leave; @@ -1020,9 +986,8 @@ static int cros_ec_codec_platform_probe(struct platform_device *pdev) atomic_set(&priv->dmic_probed, 0); p.cmd = EC_CODEC_GET_CAPABILITIES; - ret = send_ec_host_command(priv->ec_device, EC_CMD_EC_CODEC, - (uint8_t *)&p, sizeof(p), - (uint8_t *)&r, sizeof(r)); + ret = cros_ec_cmd(priv->ec_device, 0, EC_CMD_EC_CODEC, (uint8_t *)&p, + sizeof(p), (uint8_t *)&r, sizeof(r), NULL); if (ret) { dev_err(dev, "failed to EC_CODEC_GET_CAPABILITIES\n"); return ret; -- 2.25.0.341.g760bfbb309-goog _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2020-02-05 19:15 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-05 18:59 [PATCH v2 00/17] platform/chrome: Replace cros_ec_cmd_xfer_status Prashant Malani 2020-02-05 18:59 ` [alsa-devel] " Prashant Malani 2020-02-05 18:59 ` [PATCH v2 01/17] platform/chrome: Add EC command msg wrapper Prashant Malani 2020-02-05 18:59 ` [alsa-devel] " Prashant Malani 2020-02-05 18:59 ` [PATCH v2 02/17] platform/chrome: chardev: Use cros_ec_cmd() Prashant Malani 2020-02-05 18:59 ` [PATCH v2 03/17] platform/chrome: proto: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 04/17] platform/chrome: usbpd_logger: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 05/17] platform/chrome: sensorhub: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 06/17] platform/chrome: debugfs: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 07/17] platform/chrome: sysfs: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 08/17] extcon: cros_ec: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 09/17] hid: google-hammer: " Prashant Malani 2020-02-05 19:00 ` [PATCH v2 10/17] iio: cros_ec: " Prashant Malani 2020-02-05 19:42 ` Gwendal Grignou 2020-02-06 12:17 ` Jonathan Cameron 2020-02-06 13:45 ` Enric Balletbo i Serra 2020-02-06 18:49 ` Prashant Malani 2020-02-07 18:47 ` Gwendal Grignou 2020-02-10 11:03 ` Enric Balletbo i Serra 2020-02-10 20:14 ` Prashant Malani 2020-02-18 18:30 ` Prashant Malani 2020-02-20 16:07 ` Enric Balletbo i Serra 2020-02-25 1:26 ` Prashant Malani 2020-02-05 19:00 ` Prashant Malani [this message] 2020-02-05 19:00 ` [alsa-devel] [PATCH v2 11/17] ASoC: cros_ec_codec: " Prashant Malani 2020-02-06 11:53 ` Mark Brown 2020-02-06 11:53 ` [alsa-devel] " Mark Brown 2020-02-05 19:00 ` [PATCH v2 12/17] power: supply: cros: " Prashant Malani 2020-02-24 17:13 ` Sebastian Reichel 2020-02-05 19:00 ` [PATCH v2 13/17] pwm: cros-ec: Remove cros_ec_cmd_xfer_status() Prashant Malani 2020-02-05 19:00 ` Prashant Malani 2020-02-05 19:00 ` [PATCH v2 14/17] rtc: cros-ec: Use cros_ec_cmd() Prashant Malani 2020-02-05 20:04 ` Alexandre Belloni 2020-02-05 19:00 ` [PATCH v2 15/17] media: cros-ec-cec: " Prashant Malani 2020-06-24 12:04 ` Hans Verkuil
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200205190028.183069-12-pmalani@chromium.org \ --to=pmalani@chromium.org \ --cc=alsa-devel@alsa-project.org \ --cc=bleung@chromium.org \ --cc=broonie@kernel.org \ --cc=cychiang@chromium.org \ --cc=enric.balletbo@collabora.com \ --cc=groeck@chromium.org \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=perex@perex.cz \ --cc=tiwai@suse.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.