[PATCH v4 04/11] drm/bridge: it6505: fix aux command write to aux operaction register
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Sep 26 08:01:17 UTC 2024
On Thu, Sep 26, 2024 at 03:47:54PM GMT, Hermes Wu wrote:
> From: Hermes Wu <Hermes.wu at ite.com.tw>
>
> The aux control register command is 4 bits LSB only, adding a MACRO to get
> correct operaction command.
Nit: AUX, add (not adding), macro.
What happens if the driver doesn't limit the field? Let me guess, the
KSV reading command is 0x10 (it should have been a part of the commit
message, BTW), so it overrides some other bits? In such a case this
either should be a part of the previous commit, or, at least, come
before it.
> Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver")
> Signed-off-by: Hermes Wu <Hermes.wu at ite.com.tw>
> ---
> drivers/gpu/drm/bridge/ite-it6505.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
> index 0583abdca75f..d1f5220e04a6 100644
> --- a/drivers/gpu/drm/bridge/ite-it6505.c
> +++ b/drivers/gpu/drm/bridge/ite-it6505.c
> @@ -329,6 +329,8 @@ enum aux_cmd_type {
> CMD_AUX_GET_KSV_LIST = 0x10,
> };
>
> +#define GET_AUX_CONTROL_CODE(cmd) ((cmd) & 0x0F)
> +
> enum aux_cmd_reply {
> REPLY_ACK,
> REPLY_NACK,
> @@ -1000,7 +1002,7 @@ static ssize_t it6505_aux_operation(struct it6505 *it6505,
> size);
>
> /* Aux Fire */
> - it6505_write(it6505, REG_AUX_CMD_REQ, cmd);
> + it6505_write(it6505, REG_AUX_CMD_REQ, GET_AUX_CONTROL_CODE(cmd));
>
> ret = it6505_aux_wait(it6505);
> if (ret < 0)
> --
> 2.34.1
>
--
With best wishes
Dmitry
More information about the dri-devel
mailing list