[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ngr25a4x3s6hd3ztmj7h5y6zp3fxw3ojm4ax5wpk45iqdfkvwe@piznnnlyudmv>
Date: Thu, 26 Sep 2024 10:53:01 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Hermes Wu <Hermes.Wu@....com.tw>
Cc: Kenneth Hung <Kenneth.hung@....com.tw>,
Andrzej Hajda <andrzej.hajda@...el.com>, Neil Armstrong <neil.armstrong@...aro.org>,
Robert Foss <rfoss@...nel.org>, Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>, Allen Chen <allen.chen@....com.tw>,
"open list:DRM DRIVERS" <dri-devel@...ts.freedesktop.org>, open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 02/11] drm/bridge: it6505: fix aux operation for edid
read
On Thu, Sep 26, 2024 at 03:47:52PM GMT, Hermes Wu wrote:
> From: Hermes Wu <Hermes.wu@....com.tw>
>
> The EDID read operation can reach the maximum size of the AUX FIFO buffer.
And? Commit message should describe why the change is necessary and what
is being done. Just providing a statement is not enough.
>
> Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver")
> Signed-off-by: Hermes Wu <Hermes.wu@....com.tw>
> ---
> drivers/gpu/drm/bridge/ite-it6505.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
> index 28a8043229d3..b451d3c2ac1d 100644
> --- a/drivers/gpu/drm/bridge/ite-it6505.c
> +++ b/drivers/gpu/drm/bridge/ite-it6505.c
> @@ -1078,8 +1078,11 @@ static ssize_t it6505_aux_do_transfer(struct it6505 *it6505,
> int i, ret_size, ret = 0, request_size;
>
> mutex_lock(&it6505->aux_lock);
> - for (i = 0; i < size; i += 4) {
> - request_size = min((int)size - i, 4);
> + for (i = 0; i < size; ) {
> + if (cmd == CMD_AUX_I2C_EDID_READ)
> + request_size = min_t(int, (int)size - i, AUX_FIFO_MAX_SIZE);
> + else
> + request_size = min_t(int, (int)size - i, 4);
> ret_size = it6505_aux_operation(it6505, cmd, address + i,
> buffer + i, request_size,
> reply);
> @@ -1088,6 +1091,7 @@ static ssize_t it6505_aux_do_transfer(struct it6505 *it6505,
> goto aux_op_err;
> }
>
> + i += request_size;
> ret += ret_size;
> }
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists