File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -771,6 +771,19 @@ void intel_rps_park(struct intel_rps *rps)
771
771
intel_uncore_forcewake_get (rps_to_uncore (rps ), FORCEWAKE_MEDIA );
772
772
rps_set (rps , rps -> idle_freq , false);
773
773
intel_uncore_forcewake_put (rps_to_uncore (rps ), FORCEWAKE_MEDIA );
774
+
775
+ /*
776
+ * Since we will try and restart from the previously requested
777
+ * frequency on unparking, treat this idle point as a downclock
778
+ * interrupt and reduce the frequency for resume. If we park/unpark
779
+ * more frequently than the rps worker can run, we will not respond
780
+ * to any EI and never see a change in frequency.
781
+ *
782
+ * (Note we accommodate Cherryview's limitation of only using an
783
+ * even bin by applying it to all.)
784
+ */
785
+ rps -> cur_freq =
786
+ max_t (int , round_down (rps -> cur_freq - 1 , 2 ), rps -> min_freq );
774
787
}
775
788
776
789
void intel_rps_boost (struct i915_request * rq )
You can’t perform that action at this time.
0 commit comments