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>
Reviewed-by: Andrzej Hajda <a.ha...@samsung.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;
+       }
+
        *reply = (value & AUX_STATUS_MASK) >> AUX_STATUS_SHIFT;
        return 0;
 }
-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

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

Reply via email to