On Wed, Nov 07, 2018 at 04:16:45PM -0800, José Roberto de Souza wrote: > Although FBC helps save power it do not belongs to power management > also the cleanup was placed in i915_driver_unload() also not a good > place. intel_modeset_init()/intel_modeset_cleanup() are better places > also this will help make easy disable features that depends in > display being enabled in driver. > > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 4 ++++ > drivers/gpu/drm/i915/intel_pm.c | 2 -- > 3 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index b9108a5821a5..09208c73ca04 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -1778,7 +1778,6 @@ void i915_driver_unload(struct drm_device *dev) > i915_reset_error_state(dev_priv); > > i915_gem_fini(dev_priv); > - intel_fbc_cleanup_cfb(dev_priv); > > intel_power_domains_fini_hw(dev_priv); > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index ae6d58dbf1ed..4c176e13e9bb 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -15016,6 +15016,8 @@ int intel_modeset_init(struct drm_device *dev) > > intel_init_quirks(dev_priv); > > + intel_fbc_init(dev_priv); > + > intel_init_pm(dev_priv); > > /* > @@ -15829,6 +15831,8 @@ void intel_modeset_cleanup(struct drm_device *dev) > intel_teardown_gmbus(dev_priv); > > destroy_workqueue(dev_priv->modeset_wq); > + > + intel_fbc_cleanup_cfb(dev_priv); This whole thing is a bit dubious. Presumably we should have cleaned this up already when we disabled all the outputs. But fbc could use a bit of work in general so no point in worrying about such details now. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > } > > /* > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 9da8ff263d36..dc034617febb 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -9435,8 +9435,6 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv) > /* Set up chip specific power management-related functions */ > void intel_init_pm(struct drm_i915_private *dev_priv) > { > - intel_fbc_init(dev_priv); > - > /* For cxsr */ > if (IS_PINEVIEW(dev_priv)) > i915_pineview_get_mem_freq(dev_priv); > -- > 2.19.1 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx