On Thu, Jun 6, 2019 at 1:08 AM Andrzej Hajda <[email protected]> wrote: > > On 05.06.2019 09:04, Andrey Smirnov wrote: > > Replace explicit polling in tc_link_training() with equivalent call to > > tc_poll_timeout() for simplicity. No functional change intended (not > > including slightly altered debug output). > > > > Signed-off-by: Andrey Smirnov <[email protected]> > > Cc: Archit Taneja <[email protected]> > > Cc: Andrzej Hajda <[email protected]> > > Cc: Laurent Pinchart <[email protected]> > > Cc: Tomi Valkeinen <[email protected]> > > Cc: Andrey Gusakov <[email protected]> > > Cc: Philipp Zabel <[email protected]> > > Cc: Cory Tusar <[email protected]> > > Cc: Chris Healy <[email protected]> > > Cc: Lucas Stach <[email protected]> > > Cc: [email protected] > > Cc: [email protected] > > --- > > drivers/gpu/drm/bridge/tc358767.c | 15 ++++++--------- > > 1 file changed, 6 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/tc358767.c > > b/drivers/gpu/drm/bridge/tc358767.c > > index 5e1e73a91696..115cffc55a96 100644 > > --- a/drivers/gpu/drm/bridge/tc358767.c > > +++ b/drivers/gpu/drm/bridge/tc358767.c > > @@ -748,22 +748,19 @@ static int tc_set_video_mode(struct tc_data *tc, > > > > static int tc_wait_link_training(struct tc_data *tc) > > { > > - u32 timeout = 1000; > > u32 value; > > int ret; > > > > - do { > > - udelay(1); > > - tc_read(DP0_LTSTAT, &value); > > - } while ((!(value & LT_LOOPDONE)) && (--timeout)); > > - > > - if (timeout == 0) { > > + ret = tc_poll_timeout(tc, DP0_LTSTAT, LT_LOOPDONE, > > + LT_LOOPDONE, 1, 1000); > > + if (ret) { > > dev_err(tc->dev, "Link training timeout waiting for > > LT_LOOPDONE!\n"); > > - return -ETIMEDOUT; > > + return ret; > > } > > > Inconsistent coding, in previous patch you check (ret == -ETIMEDOUT) but > not here. To simplify the code you can assume that tc_poll_timeout < 0, > means timeout, in such case please adjust previous patch. >
Sure, will do. Thanks, Andrey Smirnov
