Re: [PATCH v3] platform: cros_ec: Reduce ligthbar get version command
From: Enric Balletbo i Serra
Date: Mon Sep 07 2020 - 06:04:38 EST
Hi Gwendal,
On 30/8/20 8:59, Gwendal Grignou wrote:
> By default, the lightbar commands are set to the
> biggest lightbar command and response. That length is greater than 128
> bytes and may not work on all machines.
> But all EC are probed for lightbar by sending a get version request.
> Set that request size precisely.
>
> Before the command would be:
> cros_ec_cmd: version: 0, command: EC_CMD_LIGHTBAR_CMD, outsize: 194, insize: 128, result: 0
> Afer:
> cros_ec_cmd: version: 0, command: EC_CMD_LIGHTBAR_CMD, outsize: 1, insize: 8, result: 0
>
> Fixes: a841178445bb7 ("mfd: cros_ec: Use a zero-length array for command data")
> Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
I changed the subject to match "platform/chrome: cros_ec_lightbar" and applied
for 5.10.
Thanks,
Enric
> ---
> Changes since v2:
> - Add fix field where the inefficiency was present.
>
> Changes since v1:
> - Remove BUG and TEST fields.
>
> drivers/platform/chrome/cros_ec_lightbar.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/chrome/cros_ec_lightbar.c b/drivers/platform/chrome/cros_ec_lightbar.c
> index b59180bff5a3e..ef61298c30bdd 100644
> --- a/drivers/platform/chrome/cros_ec_lightbar.c
> +++ b/drivers/platform/chrome/cros_ec_lightbar.c
> @@ -116,6 +116,8 @@ static int get_lightbar_version(struct cros_ec_dev *ec,
>
> param = (struct ec_params_lightbar *)msg->data;
> param->cmd = LIGHTBAR_CMD_VERSION;
> + msg->outsize = sizeof(param->cmd);
> + msg->result = sizeof(resp->version);
> ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
> if (ret < 0) {
> ret = 0;
>