Message ID | 20171103031026.11224-1-nhan.nguyen.yb@renesas.com |
---|---|
State | New |
Headers | show |
Series | [4.9.y,1/3] drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally | expand |
On Fri, Nov 03, 2017 at 10:10:26AM +0700, Nhan Nguyen wrote: > From: John Stultz <john.stultz@linaro.org> > > commit 651e4769ba2a9f20c4b8a823ae2727bf7fa9c9f0 upstream. > > 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 > Cc: stable@vger.kernel.org > Signed-off-by: John Stultz <john.stultz@linaro.org> > Signed-off-by: Archit Taneja <architt@codeaurora.org> > Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> > Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> > Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-5-git-send-email-john.stultz@linaro.org > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) Why are you asking for these 3 patches to be backported to the 4.9 stable tree? What bugs are they fixing? How do they meet the stable kernel rules? totally confused, greg k-h
On 11/6/2017 2:57 PM, Greg KH wrote: > On Fri, Nov 03, 2017 at 10:10:26AM +0700, Nhan Nguyen wrote: >> From: John Stultz <john.stultz@linaro.org> >> >> commit 651e4769ba2a9f20c4b8a823ae2727bf7fa9c9f0 upstream. >> >> 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 >> Cc: stable@vger.kernel.org >> Signed-off-by: John Stultz <john.stultz@linaro.org> >> Signed-off-by: Archit Taneja <architt@codeaurora.org> >> Signed-off-by: Thong Ho <thong.ho.px@rvc.renesas.com> >> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com> >> Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-5-git-send-email-john.stultz@linaro.org >> --- >> drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 15 +++++++++++---- >> 1 file changed, 11 insertions(+), 4 deletions(-) > Why are you asking for these 3 patches to be backported to the 4.9 > stable tree? What bugs are they fixing? How do they meet the stable > kernel rules? > > totally confused, > > greg k-h This patch is re-writes the i2c address to ADV7511_REG_EDID_I2C_ADDR register to ensure its properly set before reading the EDID data. In the past, the backporting is for Kernel v4.4 and you asked to port for 4.9 also.
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 72939d4..545ceff 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; @@ -354,6 +354,11 @@ static void adv7511_power_on(struct adv7511 *adv7511) regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2, ADV7511_REG_POWER2_HPD_SRC_MASK, ADV7511_REG_POWER2_HPD_SRC_NONE); +} + +static void adv7511_power_on(struct adv7511 *adv7511) +{ + __adv7511_power_on(adv7511); /* * Most of the registers are reset during power down or when HPD is low. @@ -362,21 +367,23 @@ static void adv7511_power_on(struct adv7511 *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; }