[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a33b1286-8c90-43e4-a369-e21b1614545d@tecnico.ulisboa.pt>
Date: Fri, 14 Nov 2025 09:21:09 +0000
From: Diogo Ivo <diogo.ivo@...nico.ulisboa.pt>
To: Tzung-Bi Shih <tzungbi@...nel.org>
Cc: Benson Leung <bleung@...omium.org>, Guenter Roeck <groeck@...omium.org>,
chrome-platform@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/chrome: sensorhub: Support devices without
FIFO_INT_ENABLE
On 11/14/25 03:19, Tzung-Bi Shih wrote:
> On Wed, Nov 12, 2025 at 04:00:12PM +0000, Diogo Ivo wrote:
>> In order to fix this, since the EC does not provide a way to determine
>> a priori if there is support for FIFO_INT_ENABLE send this command
>> unconditionally and carefully interpret the return value -EINVAL as a
>> device where FIFO_INT_ENABLE is not present and the interrupt is always
>> enabled.
>
> Thanks for looking into this.
>
> Simplified the commit message and some side notes:
> - -EOPNOTSUPP[1] for learning if a EC command is unsupported.
> - FIFO_INT_ENABLE is a sub-command of EC_CMD_MOTION_SENSE_CMD.
> - It likely falls into [2].
In the case of Smaug the subcommand FIFO_INT_ENABLE is not present in
the switch (in->cmd) statement and thus we return EC_RES_INVALID_PARAM
from host_cmd_motion_sense() [3]. My reasoning for the workaround was
that on the EC code EC_FEATURE_MOTION_SENSE_FIFO is dependent on
CONFIG_ACCEL_FIFO [4] and the kernel checks for this EC_FEATURE when
handling a possible sensorhub [5], meaning that when we call
FIFO_INT_ENABLE then CONFIG_ACCEL_INFO is defined in EC code and we are
not hitting [2].
Thanks,
Diogo
> [1] https://elixir.bootlin.com/linux/v6.17/source/drivers/platform/chrome/cros_ec_proto.c#L22
> [2] https://crrev.com/30c5bc8e822436e6a74b36adc24d71293a5ba9c2/common/motion_sense.c#1438
[3]:
https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/firmware-smaug-7900.B/common/motion_sense.c#914
[4]:
https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/common/ec_features.c#88
[5]:
https://elixir.bootlin.com/linux/v6.17.7/source/drivers/platform/chrome/cros_ec_sensorhub.c#L204
> Changed the commit message and code comment, and applied to
>
> https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git for-next
>
> [1/1] platform/chrome: sensorhub: Support devices without FIFO_INT_ENABLE
> commit: 52075d2c7595cfd6c1ce211a9cd138a9b067c448
>
> Thanks!
Powered by blists - more mailing lists