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