Message ID | 1483472502-16403-5-git-send-email-john.stultz@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi John, Thank you for the patch. On Tuesday 03 Jan 2017 11:41:41 John Stultz wrote: > In chasing down issues with EDID probing, I found some > duplicated but incomplete logic used to power the chip on and > off. > > This patch refactors the adv7511_power_on/off functions, so > they can be used for internal needs. > > 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> Reviewed-by: 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 | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 4b90975..dbdb71c > 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -325,7 +325,7 @@ static void adv7511_set_link_config(struct adv7511 > *adv7511, adv7511->rgb = config->input_colorspace == HDMI_COLORSPACE_RGB; > } > > -static void adv7511_power_on(struct adv7511 *adv7511) > +static void __adv7511_power_on(struct adv7511 *adv7511) > { > adv7511->current_edid_segment = -1; > > @@ -359,24 +359,30 @@ static void adv7511_power_on(struct adv7511 *adv7511) > * Most of the registers are reset during power down or when HPD is low. > */ > regcache_sync(adv7511->regmap); > +} > > +static void adv7511_power_on(struct adv7511 *adv7511) > +{ > + __adv7511_power_on(adv7511); > if (adv7511->type == ADV7533) > adv7533_dsi_power_on(adv7511); > - > adv7511->powered = true; > } > > -static void adv7511_power_off(struct adv7511 *adv7511) > +static void __adv7511_power_off(struct adv7511 *adv7511) > { > /* TODO: setup additional power down modes */ > regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER, > ADV7511_POWER_POWER_DOWN, > ADV7511_POWER_POWER_DOWN); > regcache_mark_dirty(adv7511->regmap); > +} > > +static void adv7511_power_off(struct adv7511 *adv7511) > +{ > + __adv7511_power_off(adv7511); > if (adv7511->type == ADV7533) > adv7533_dsi_power_off(adv7511); > - > adv7511->powered = false; > }
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 4b90975..dbdb71c 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -325,7 +325,7 @@ static void adv7511_set_link_config(struct adv7511 *adv7511, adv7511->rgb = config->input_colorspace == HDMI_COLORSPACE_RGB; } -static void adv7511_power_on(struct adv7511 *adv7511) +static void __adv7511_power_on(struct adv7511 *adv7511) { adv7511->current_edid_segment = -1; @@ -359,24 +359,30 @@ static void adv7511_power_on(struct adv7511 *adv7511) * Most of the registers are reset during power down or when HPD is low. */ regcache_sync(adv7511->regmap); +} +static void adv7511_power_on(struct adv7511 *adv7511) +{ + __adv7511_power_on(adv7511); if (adv7511->type == ADV7533) adv7533_dsi_power_on(adv7511); - adv7511->powered = true; } -static void adv7511_power_off(struct adv7511 *adv7511) +static void __adv7511_power_off(struct adv7511 *adv7511) { /* TODO: setup additional power down modes */ regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER, ADV7511_POWER_POWER_DOWN, ADV7511_POWER_POWER_DOWN); regcache_mark_dirty(adv7511->regmap); +} +static void adv7511_power_off(struct adv7511 *adv7511) +{ + __adv7511_power_off(adv7511); if (adv7511->type == ADV7533) adv7533_dsi_power_off(adv7511); - adv7511->powered = false; }
In chasing down issues with EDID probing, I found some duplicated but incomplete logic used to power the chip on and off. This patch refactors the adv7511_power_on/off functions, so they can be used for internal needs. 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 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)