[PATCH v4 02/11] drm/bridge: it6505: fix aux operation for edid read
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Sep 26 07:53:01 UTC 2024
On Thu, Sep 26, 2024 at 03:47:52PM GMT, Hermes Wu wrote:
> From: Hermes Wu <Hermes.wu at ite.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 at ite.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
More information about the dri-devel
mailing list