Re: [PATCH 05/14] drm/i915: Remove delay for idle_work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 02/05/2019 14:22, Chris Wilson wrote:
Quoting Tvrtko Ursulin (2019-05-02 14:19:38)

On 01/05/2019 12:45, Chris Wilson wrote:
diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c b/drivers/gpu/drm/i915/i915_gem_pm.c
index 49b0ce594f20..ae91ad7cb31e 100644
--- a/drivers/gpu/drm/i915/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/i915_gem_pm.c
@@ -29,12 +29,12 @@ static void i915_gem_park(struct drm_i915_private *i915)
   static void idle_work_handler(struct work_struct *work)
   {
       struct drm_i915_private *i915 =
-             container_of(work, typeof(*i915), gem.idle_work.work);
+             container_of(work, typeof(*i915), gem.idle_work);
mutex_lock(&i915->drm.struct_mutex); intel_wakeref_lock(&i915->gt.wakeref);
-     if (!intel_wakeref_active(&i915->gt.wakeref))
+     if (!intel_wakeref_active(&i915->gt.wakeref) && !work_pending(work))

What is the reason for the !work_pending check?

Just that we are going to be called again, so wait until the next time to
see if we still need to park.

When does it get called again? If a whole new cycle of unpark-park happened before the previous park was able to finish?

Regards,

Tvrtko


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux