Message ID | 20180812223642.24865-4-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/14] drm/i915: Cleanup gt powerstate from gem | expand |
On Sun, Aug 12, 2018 at 11:36:32PM +0100, Chris Wilson wrote: > We want to add no connectors, encoders or crtcs if the display is > disabled, but we still need to hook up any existing HW so that we can > power it down. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Yes, otherwise the dependent power domains are not claimed either and so we'd (normally) disable power wells with active outputs, which is wrong. Odd that it leads to system hang only on BSW (after the set_init_power refactoring). As you pointed out currently the refleak caused by the intel_display_set_init_power() logic hides this problem (we don't ever call intel_display_set_init_power(false) if i915.disable_display=1). Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index cc3f21ddae9c..dbf3d80353b1 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14128,6 +14128,9 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) > > intel_pps_init(dev_priv); > > + if (INTEL_INFO(dev_priv)->num_pipes == 0) > + return; > + > /* > * intel_edp_init_connector() depends on this completing first, to > * prevent the registeration of both eDP and LVDS and the incorrect > @@ -15206,9 +15209,6 @@ int intel_modeset_init(struct drm_device *dev) > > intel_init_pm(dev_priv); > > - if (INTEL_INFO(dev_priv)->num_pipes == 0) > - return 0; > - > /* > * There may be no VBT; and if the BIOS enabled SSC we can > * just keep using it to avoid unnecessary flicker. Whereas if the > -- > 2.18.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index cc3f21ddae9c..dbf3d80353b1 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -14128,6 +14128,9 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) intel_pps_init(dev_priv); + if (INTEL_INFO(dev_priv)->num_pipes == 0) + return; + /* * intel_edp_init_connector() depends on this completing first, to * prevent the registeration of both eDP and LVDS and the incorrect @@ -15206,9 +15209,6 @@ int intel_modeset_init(struct drm_device *dev) intel_init_pm(dev_priv); - if (INTEL_INFO(dev_priv)->num_pipes == 0) - return 0; - /* * There may be no VBT; and if the BIOS enabled SSC we can * just keep using it to avoid unnecessary flicker. Whereas if the
We want to add no connectors, encoders or crtcs if the display is disabled, but we still need to hook up any existing HW so that we can power it down. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)