<div dir="ltr">There were more reasons for disabling it on Baytrail... but you are right..<div>disable sequence should be better for those cases.</div><div><br></div><div>Reviewed-by: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 16, 2014 at 10:51 AM, Daniel Vetter <span dir="ltr"><<a href="mailto:daniel.vetter@ffwll.ch" target="_blank">daniel.vetter@ffwll.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It doesn't make sense to never again schedule the work, since by the<br>
time we might want to re-enable psr the world might have changed and<br>
we can do it again.<br>
<br>
The only exception is when we shut down the pipe, but that's an<br>
entirely different thing and needs to be handled in psr_disable.<br>
<br>
Cc: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>><br>
Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>><br>
---<br>
drivers/gpu/drm/i915/i915_gem.c | 6 +++---<br>
drivers/gpu/drm/i915/intel_display.c | 4 ++--<br>
drivers/gpu/drm/i915/intel_dp.c | 7 +++----<br>
drivers/gpu/drm/i915/intel_drv.h | 2 +-<br>
drivers/gpu/drm/i915/intel_sprite.c | 2 +-<br>
5 files changed, 10 insertions(+), 11 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c<br>
index 1794a041c13c..f22b4aabb945 100644<br>
--- a/drivers/gpu/drm/i915/i915_gem.c<br>
+++ b/drivers/gpu/drm/i915/i915_gem.c<br>
@@ -1395,7 +1395,7 @@ i915_gem_set_domain_ioctl(struct drm_device *dev, void *data,<br>
goto unlock;<br>
}<br>
<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
/* Try to flush the object off the GPU without holding the lock.<br>
* We will repeat the flush holding the lock in the normal manner<br>
@@ -1442,7 +1442,7 @@ i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data,<br>
if (ret)<br>
return ret;<br>
<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));<br>
if (&obj->base == NULL) {<br>
@@ -4240,7 +4240,7 @@ i915_gem_busy_ioctl(struct drm_device *dev, void *data,<br>
if (ret)<br>
return ret;<br>
<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));<br>
if (&obj->base == NULL) {<br>
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c<br>
index c27dadebd0dc..6f2588c95248 100644<br>
--- a/drivers/gpu/drm/i915/intel_display.c<br>
+++ b/drivers/gpu/drm/i915/intel_display.c<br>
@@ -8823,7 +8823,7 @@ void intel_mark_fb_busy(struct drm_i915_gem_object *obj,<br>
struct drm_device *dev = obj->base.dev;<br>
struct drm_crtc *crtc;<br>
<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
if (!i915.powersave)<br>
return;<br>
@@ -9292,7 +9292,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,<br>
return -ENOMEM;<br>
<br>
/* Exit PSR early in page flip */<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
work->event = event;<br>
work->crtc = crtc;<br>
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c<br>
index 4ab4757fb53d..c7d625040e3d 100644<br>
--- a/drivers/gpu/drm/i915/intel_dp.c<br>
+++ b/drivers/gpu/drm/i915/intel_dp.c<br>
@@ -1899,7 +1899,7 @@ static void intel_edp_psr_inactivate(struct drm_device *dev)<br>
& ~EDP_PSR_ENABLE);<br>
}<br>
<br>
-void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)<br>
+void intel_edp_psr_exit(struct drm_device *dev)<br>
{<br>
struct drm_i915_private *dev_priv = dev->dev_private;<br>
<br>
@@ -1911,9 +1911,8 @@ void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)<br>
if (dev_priv->psr.active)<br>
intel_edp_psr_inactivate(dev);<br>
<br>
- if (schedule_back)<br>
- schedule_delayed_work(&dev_priv->psr.work,<br>
- msecs_to_jiffies(100));<br>
+ schedule_delayed_work(&dev_priv->psr.work,<br>
+ msecs_to_jiffies(100));<br>
}<br>
<br>
void intel_edp_psr_init(struct drm_device *dev)<br>
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h<br>
index 87e83c315c4b..1d45629a6483 100644<br>
--- a/drivers/gpu/drm/i915/intel_drv.h<br>
+++ b/drivers/gpu/drm/i915/intel_drv.h<br>
@@ -829,7 +829,7 @@ void intel_edp_panel_off(struct intel_dp *intel_dp);<br>
void intel_edp_psr_enable(struct intel_dp *intel_dp);<br>
void intel_edp_psr_disable(struct intel_dp *intel_dp);<br>
void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate);<br>
-void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back);<br>
+void intel_edp_psr_exit(struct drm_device *dev);<br>
void intel_edp_psr_init(struct drm_device *dev);<br>
<br>
<br>
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c<br>
index 2a211c64ec8d..9038e2ab73c8 100644<br>
--- a/drivers/gpu/drm/i915/intel_sprite.c<br>
+++ b/drivers/gpu/drm/i915/intel_sprite.c<br>
@@ -1051,7 +1051,7 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,<br>
mutex_unlock(&dev->struct_mutex);<br>
}<br>
<br>
- intel_edp_psr_exit(dev, true);<br>
+ intel_edp_psr_exit(dev);<br>
<br>
return 0;<br>
}<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.0.0<br>
<br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org">Intel-gfx@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Rodrigo Vivi</div><div>Blog: <a href="http://blog.vivi.eng.br" target="_blank">http://blog.vivi.eng.br</a></div><div> </div>
</div>