Hi Tomi,

Thank you for the patch.

On Tue, Mar 26, 2019 at 12:31:25PM +0200, Tomi Valkeinen wrote:
> tc_aux_get_status() does not report AUX_TIMEOUT correctly, as it only
> checks the AUX_TIMEOUT if aux is still busy. Fix this by always checking
> for AUX_TIMEOUT.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkei...@ti.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/tc358767.c 
> b/drivers/gpu/drm/bridge/tc358767.c
> index 888980d4bc74..7031c4f52c57 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -286,14 +286,17 @@ static int tc_aux_get_status(struct tc_data *tc, u8 
> *reply)
>       ret = regmap_read(tc->regmap, DP0_AUXSTATUS, &value);
>       if (ret < 0)
>               return ret;
> +
>       if (value & AUX_BUSY) {
> -             if (value & AUX_TIMEOUT) {
> -                     dev_err(tc->dev, "i2c access timeout!\n");
> -                     return -ETIMEDOUT;
> -             }
> +             dev_err(tc->dev, "aux busy!\n");
>               return -EBUSY;
>       }
>  
> +     if (value & AUX_TIMEOUT) {
> +             dev_err(tc->dev, "aux access timeout!\n");
> +             return -ETIMEDOUT;
> +     }
> +

This changes the priority between errors. Should AUX_TIMEOUT be checked
first ?

>       *reply = (value & AUX_STATUS_MASK) >> AUX_STATUS_SHIFT;
>       return 0;
>  }

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to