Message ID | 1386187617-9948-1-git-send-email-jbarnes@virtuousgeek.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2013/12/4 Jesse Barnes <jbarnes@virtuousgeek.org>: > This causes trouble on some VLV systems, and generally costs power > elsewhere. > > If this ends up causing trouble, it could just mean we need to get rid > of VDD force enable everywhere, and move to a pure PPS based DP training > sequence. > > References: https://bugs.freedesktop.org/show_bug.cgi?id=69693 > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> > --- > drivers/gpu/drm/i915/intel_dp.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 1e372d5..cb33b67 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1236,9 +1236,7 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp) > WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n"); > > pp = ironlake_get_pp_control(intel_dp); > - /* We need to switch off panel power _and_ force vdd, for otherwise some > - * panels get very unhappy and cease to work. */ > - pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE); > + pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE); My understanding is that now you'll keep VDD enabled forever, so the panel power is not really being disabled. So the commit message and title seem wrong. Is this really what you wanted? Please take a look at the last patches of the runtime PM series (I made them part of the runtime PM series just for rebasing purposes). > > pp_ctrl_reg = _pp_ctrl_reg(intel_dp); > > -- > 1.8.4.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, 4 Dec 2013 18:24:56 -0200 Paulo Zanoni <przanoni@gmail.com> wrote: > 2013/12/4 Jesse Barnes <jbarnes@virtuousgeek.org>: > > This causes trouble on some VLV systems, and generally costs power > > elsewhere. > > > > If this ends up causing trouble, it could just mean we need to get rid > > of VDD force enable everywhere, and move to a pure PPS based DP training > > sequence. > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=69693 > > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> > > --- > > drivers/gpu/drm/i915/intel_dp.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > > index 1e372d5..cb33b67 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -1236,9 +1236,7 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp) > > WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n"); > > > > pp = ironlake_get_pp_control(intel_dp); > > - /* We need to switch off panel power _and_ force vdd, for otherwise some > > - * panels get very unhappy and cease to work. */ > > - pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE); > > + pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE); > > My understanding is that now you'll keep VDD enabled forever, so the > panel power is not really being disabled. So the commit message and > title seem wrong. Is this really what you wanted? > > Please take a look at the last patches of the runtime PM series (I > made them part of the runtime PM series just for rebasing purposes). Ah yeah you're right, my earlier patch in a bug was right and here I did a double negative. We really want to avoid using VDD force altogether, so if your series does that I think we're in the clear. Would be good to get confirmation though on #69693. If you split out the series can you post an update to it?
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 1e372d5..cb33b67 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1236,9 +1236,7 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp) WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n"); pp = ironlake_get_pp_control(intel_dp); - /* We need to switch off panel power _and_ force vdd, for otherwise some - * panels get very unhappy and cease to work. */ - pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE); + pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE); pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
This causes trouble on some VLV systems, and generally costs power elsewhere. If this ends up causing trouble, it could just mean we need to get rid of VDD force enable everywhere, and move to a pure PPS based DP training sequence. References: https://bugs.freedesktop.org/show_bug.cgi?id=69693 Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> --- drivers/gpu/drm/i915/intel_dp.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)