From: Cheng-yi Chiang <cychiang@chromium.org>
To: Gwendal Grignou <gwendal@chromium.org>
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com>,
Benson Leung <bleung@chromium.org>,
Guenter Roeck <groeck@chromium.org>,
Lee Jones <lee.jones@linaro.org>,
jic23@kernel.org, Mark Brown <broonie@kernel.org>,
Takashi Iwai <tiwai@suse.com>,
linux-iio@vger.kernel.org,
"moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER
MANAGEM..." <alsa-devel@alsa-project.org>
Subject: Re: [PATCH v2 30/30] mfd: cros_ec: Update I2S API
Date: Tue, 7 May 2019 17:50:17 +0800 [thread overview]
Message-ID: <CAFv8NwJzSrAU+AsFuqy6YBabmYKO+jJmDeS27_rE=hcqUU-tvQ@mail.gmail.com> (raw)
In-Reply-To: <20190503220233.64546-31-gwendal@chromium.org>
Hi Gwendal,
Thanks for the fix!
From: Gwendal Grignou <gwendal@chromium.org>
Date: Sat, May 4, 2019 at 6:03 AM
To: <enric.balletbo@collabora.com>, <bleung@chromium.org>,
<groeck@chromium.org>, <lee.jones@linaro.org>, <jic23@kernel.org>,
<broonie@kernel.org>, <cychiang@chromium.org>, <tiwai@suse.com>
Cc: <linux-iio@vger.kernel.org>, <alsa-devel@alsa-project.org>, Gwendal Grignou
> Improve I2S API.
> Rename ec_response_codec_gain into ec_codec_i2s_gain,
> update caller accordlingly.
>
> Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
> ---
> include/linux/mfd/cros_ec_commands.h | 44 +++++++++++++---------------
> sound/soc/codecs/cros_ec_codec.c | 8 ++---
> 2 files changed, 24 insertions(+), 28 deletions(-)
>
> diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h
> index fc8babce1576..fa397722f17e 100644
> --- a/include/linux/mfd/cros_ec_commands.h
> +++ b/include/linux/mfd/cros_ec_commands.h
> @@ -4471,6 +4471,7 @@ enum mkbp_cec_event {
> /* Commands for I2S recording on audio codec. */
>
> #define EC_CMD_CODEC_I2S 0x00BC
> +#define EC_WOV_I2S_SAMPLE_RATE 48000
>
> enum ec_codec_i2s_subcmd {
> EC_CODEC_SET_SAMPLE_DEPTH = 0x0,
> @@ -4480,6 +4481,7 @@ enum ec_codec_i2s_subcmd {
> EC_CODEC_I2S_SET_CONFIG = 0x4,
> EC_CODEC_I2S_SET_TDM_CONFIG = 0x5,
> EC_CODEC_I2S_SET_BCLK = 0x6,
> + EC_CODEC_I2S_SUBCMD_COUNT = 0x7,
> };
>
> enum ec_sample_depth_value {
> @@ -4496,6 +4498,21 @@ enum ec_i2s_config {
> EC_DAI_FMT_PCM_TDM = 5,
> };
>
> +/*
> + * For subcommand EC_CODEC_GET_GAIN.
> + */
> +struct __ec_align1 ec_codec_i2s_gain {
> + uint8_t left;
> + uint8_t right;
> +};
> +
> +struct __ec_todo_unpacked ec_param_codec_i2s_tdm {
> + int16_t ch0_delay; /* 0 to 496 */
> + int16_t ch1_delay; /* -1 to 496 */
> + uint8_t adjacent_to_ch0;
> + uint8_t adjacent_to_ch1;
> +};
> +
> struct __ec_todo_packed ec_param_codec_i2s {
> /* enum ec_codec_i2s_subcmd */
> uint8_t cmd;
> @@ -4510,10 +4527,7 @@ struct __ec_todo_packed ec_param_codec_i2s {
> * EC_CODEC_SET_GAIN
> * Value should be 0~43 for both channels.
> */
> - struct __ec_align1 ec_param_codec_i2s_set_gain {
> - uint8_t left;
> - uint8_t right;
> - } gain;
> + struct ec_codec_i2s_gain gain;
>
> /*
> * EC_CODEC_I2S_ENABLE
> @@ -4522,7 +4536,7 @@ struct __ec_todo_packed ec_param_codec_i2s {
> uint8_t i2s_enable;
>
> /*
> - * EC_CODEC_I2S_SET_COFNIG
> + * EC_CODEC_I2S_SET_CONFIG
> * Value should be one of ec_i2s_config.
> */
> uint8_t i2s_config;
> @@ -4531,18 +4545,7 @@ struct __ec_todo_packed ec_param_codec_i2s {
> * EC_CODEC_I2S_SET_TDM_CONFIG
> * Value should be one of ec_i2s_config.
> */
> - struct __ec_todo_unpacked ec_param_codec_i2s_tdm {
> - /*
> - * 0 to 496
> - */
> - int16_t ch0_delay;
> - /*
> - * -1 to 496
> - */
> - int16_t ch1_delay;
> - uint8_t adjacent_to_ch0;
> - uint8_t adjacent_to_ch1;
> - } tdm_param;
> + struct ec_param_codec_i2s_tdm tdm_param;
>
> /*
> * EC_CODEC_I2S_SET_BCLK
> @@ -4551,13 +4554,6 @@ struct __ec_todo_packed ec_param_codec_i2s {
> };
> };
>
> -/*
> - * For subcommand EC_CODEC_GET_GAIN.
> - */
> -struct ec_response_codec_gain {
> - uint8_t left;
> - uint8_t right;
> -} __ec_align1;
>
> /*****************************************************************************/
> /* System commands */
> diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c
> index 99a3af8a15ff..87830ed5ebf4 100644
> --- a/sound/soc/codecs/cros_ec_codec.c
> +++ b/sound/soc/codecs/cros_ec_codec.c
> @@ -38,21 +38,21 @@ static const DECLARE_TLV_DB_SCALE(ec_mic_gain_tlv, 0, 100, 0);
>
> static int ec_command_get_gain(struct snd_soc_component *component,
> struct ec_param_codec_i2s *param,
> - struct ec_response_codec_gain *resp)
> + struct ec_codec_i2s_gain *resp)
> {
> struct cros_ec_codec_data *codec_data =
> snd_soc_component_get_drvdata(component);
> struct cros_ec_device *ec_device = codec_data->ec_device;
> u8 buffer[sizeof(struct cros_ec_command) +
> max(sizeof(struct ec_param_codec_i2s),
> - sizeof(struct ec_response_codec_gain))];
> + sizeof(struct ec_codec_i2s_gain))];
> struct cros_ec_command *msg = (struct cros_ec_command *)&buffer;
> int ret;
>
> msg->version = 0;
> msg->command = EC_CMD_CODEC_I2S;
> msg->outsize = sizeof(struct ec_param_codec_i2s);
> - msg->insize = sizeof(struct ec_response_codec_gain);
> + msg->insize = sizeof(struct ec_codec_i2s_gain);
>
> memcpy(msg->data, param, msg->outsize);
>
> @@ -226,7 +226,7 @@ static int get_ec_mic_gain(struct snd_soc_component *component,
> u8 *left, u8 *right)
> {
> struct ec_param_codec_i2s param;
> - struct ec_response_codec_gain resp;
> + struct ec_codec_i2s_gain resp;
> int ret;
>
> param.cmd = EC_CODEC_GET_GAIN;
> --
> 2.21.0.1020.gf2820cf01a-goog
>
Acked-by: Cheng-Yi Chiang <cychiang@chromium.org>
next prev parent reply other threads:[~2019-05-07 9:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-03 22:02 [PATCH v2 00/30] Update cros_ec_commands.h Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 01/30] mfd: cros_ec: Update license term Gwendal Grignou
2019-05-05 15:46 ` Jonathan Cameron
2019-05-03 22:02 ` [PATCH v2 02/30] mfd: cros_ec: Zero BUILD_ macro Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 03/30] mfd: cros_ec: set comments properly Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 04/30] mfd: cros_ec: add ec_align macros Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 05/30] mfd: cros_ec: Define commands as 4-digit UPPER CASE hex values Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 06/30] mfd: cros_ec: use BIT macro Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 07/30] mfd: cros_ec: Update ACPI interface definition Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 08/30] mfd: cros_ec: move HDMI CEC API definition Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 09/30] mfd: cros_ec: Remove zero-size structs Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 10/30] mfd: cros_ec: Add Flash V2 commands API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 11/30] mfd: cros_ec: Add PWM_SET_DUTY API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 12/30] mfd: cros_ec: Add lightbar v2 API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 13/30] mfd: cros_ec: Expand hash API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 14/30] mfd: cros_ec: Add EC transport protocol v4 Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 15/30] mfd: cros_ec: Complete MEMS sensor API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 16/30] mfd: cros_ec: Fix event processing API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 17/30] mfd: cros_ec: Add fingerprint API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 18/30] mfd: cros_ec: Fix temperature API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 19/30] mfd: cros_ec: Complete Power and USB PD API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 20/30] mfd: cros_ec: Add API for keyboard testing Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 21/30] mfd: cros_ec: Add Hibernate API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 22/30] mfd: cros_ec: Add Smart Battery Firmware update API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 23/30] mfd: cros_ec: Add I2C passthru protection API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 24/30] mfd: cros_ec: Add API for EC-EC communication Gwendal Grignou
2019-05-08 23:22 ` Benson Leung
2019-05-03 22:02 ` [PATCH v2 25/30] mfd: cros_ec: Add API for Touchpad support Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 26/30] mfd: cros_ec: Add API for Fingerprint support Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 27/30] mfd: cros_ec: Add API for rwsig Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 28/30] mfd: cros_ec: Add SKU ID and Secure storage API Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 29/30] mfd: cros_ec: Add Management API entry points Gwendal Grignou
2019-05-03 22:02 ` [PATCH v2 30/30] mfd: cros_ec: Update I2S API Gwendal Grignou
2019-05-07 9:50 ` Cheng-yi Chiang [this message]
2019-05-07 9:44 ` [PATCH v2 00/30] Update cros_ec_commands.h Lee Jones
2019-05-08 23:19 ` Benson Leung
2019-05-09 6:11 ` Lee Jones
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='CAFv8NwJzSrAU+AsFuqy6YBabmYKO+jJmDeS27_rE=hcqUU-tvQ@mail.gmail.com' \
--to=cychiang@chromium.org \
--cc=alsa-devel@alsa-project.org \
--cc=bleung@chromium.org \
--cc=broonie@kernel.org \
--cc=enric.balletbo@collabora.com \
--cc=groeck@chromium.org \
--cc=gwendal@chromium.org \
--cc=jic23@kernel.org \
--cc=lee.jones@linaro.org \
--cc=linux-iio@vger.kernel.org \
--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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).