Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1527297

Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on

From Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Newsgroups linux.kernel
Subject Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on
Date 2016-11-22 09:30 +0100
Message-ID <sGeCJ-4Ir-1@gated-at.bofh.it> (permalink)
References <sG7hT-8nV-7@gated-at.bofh.it> <sG7hU-8nV-37@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi John,

Thank you for the patch.

On Monday 21 Nov 2016 16:37:31 John Stultz wrote:
> Secton 4.1 of the adv7511 programming guide advises one waits
> 200ms after powering on the chip before trying to communicate
> with it via i2c. Not doing so can cause reliability issues when
> probing the EDID.
> 
> See:
> http://www.analog.com/media/en/technical-documentation/user-guides/ADV7511_P
> rogramming_Guide.pdf
> 
> So this patch simply adds a 200ms sleep at the end of the
> power_on path. This greatly improves EDID probing reliabilty
> on hotplug with the HiKey device.
> 
> Cc: David Airlie <airlied@linux.ie>
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index b240e05..2114a4c
> 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> @@ -361,6 +361,8 @@ static void __adv7511_power_on(struct adv7511 *adv7511)
>  	 */
>  	regcache_sync(adv7511->regmap);
> 
> +	msleep(200);
> +

The documentation states that

"The user should wait 200ms for the address to be decided, after the power 
supplies are high, before attempting to communicate with the ADV7511W using 
I2C."

The hardware user's guide further states that

"When initially powered up, there is a 200ms period before the device is ready 
to be addressed."

Not only the delay you add comes after lots of I2C communication, but the 
driver doesn't handle regulators, and thus doesn't power down the device at 
the hardware level. The initial power up should thus be long gone when this 
code is reached.

Could it be that, on the HiKey board, the power supply is controlled through 
another mean that doesn't comply with the 200ms rule ?

>  	if (adv7511->type == ADV7533)
>  		adv7533_dsi_power_on(adv7511);
>  }

-- 
Regards,

Laurent Pinchart

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC][PATCH 0/3] adv7511 EDID probing improvements John Stultz <john.stultz@linaro.org> - 2016-11-22 01:40 +0100
  [RFC][PATCH 3/3] drm/bridge: adv7511: Enable HPD interrupts to support hotplug and improve monitor detection John Stultz <john.stultz@linaro.org> - 2016-11-22 01:40 +0100
    Re: [RFC][PATCH 3/3] drm/bridge: adv7511: Enable HPD interrupts to support hotplug and improve monitor detection Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 09:30 +0100
  [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally John Stultz <john.stultz@linaro.org> - 2016-11-22 01:40 +0100
    Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 09:20 +0100
      Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off()  so they can be reused internally John Stultz <john.stultz@linaro.org> - 2016-11-22 09:20 +0100
        Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 09:30 +0100
      Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off()  so they can be reused internally John Stultz <john.stultz@linaro.org> - 2016-11-22 18:30 +0100
        Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 18:40 +0100
          Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off()  so they can be reused internally John Stultz <john.stultz@linaro.org> - 2016-11-22 18:50 +0100
          Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework adv7511_power_on/off()  so they can be reused internally John Stultz <john.stultz@linaro.org> - 2016-11-22 20:50 +0100
            Re: [RFC][PATCH 1/3] drm/bridge: adv7511: Rework  adv7511_power_on/off() so they can be reused internally Archit Taneja <architt@codeaurora.org> - 2016-11-23 05:00 +0100
  [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on John Stultz <john.stultz@linaro.org> - 2016-11-22 01:40 +0100
    Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 09:30 +0100
      Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on John Stultz <john.stultz@linaro.org> - 2016-11-22 18:50 +0100
        Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on John Stultz <john.stultz@linaro.org> - 2016-11-22 19:20 +0100
          Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-22 19:30 +0100
            Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on John Stultz <john.stultz@linaro.org> - 2016-11-22 20:00 +0100
            Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on Daniel Vetter <daniel@ffwll.ch> - 2016-11-23 09:00 +0100
              Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-11-25 01:30 +0100
                Re: [RFC][PATCH 2/3] drm/bridge: adv7511: Add 200ms delay on power-on Daniel Vetter <daniel@ffwll.ch> - 2016-11-25 07:40 +0100

csiph-web