drm/msm/dp: Handle aux timeouts, nacks, defers
authorStephen Boyd <swboyd@chromium.org>
Fri, 7 May 2021 21:25:05 +0000 (14:25 -0700)
committerRob Clark <robdclark@chromium.org>
Wed, 23 Jun 2021 14:32:15 +0000 (07:32 -0700)
commite305f678e9879999b4050554201bb6f130a55fae
treed76b25a4dd4f49aeea31c9d7f3efc6eeb9175105
parent47327fdd7e85ed4a90b76c2fcf69967f98230935
drm/msm/dp: Handle aux timeouts, nacks, defers

Let's look at the irq status bits after a transfer and see if we got a
nack or a defer or a timeout, instead of telling drm layers that
everything was fine, while still printing an error message. I wasn't
sure about NACK+DEFER so I lumped all those various errors along with a
nack so that the drm core can figure out that things are just not going
well. The important thing is that we're now returning -ETIMEDOUT when
the message times out and nacks for bad addresses.

Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Abhinav Kumar <abhinavk@codeaurora.org>
Cc: Kuogee Hsieh <khsieh@codeaurora.org>
Cc: aravindh@codeaurora.org
Cc: Sean Paul <sean@poorly.run>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Kuogee Hsieh <khsieh@codeaurora.org>
Link: https://lore.kernel.org/r/20210507212505.1224111-4-swboyd@chromium.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dp/dp_aux.c
drivers/gpu/drm/msm/dp/dp_aux.h