File tree Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -242,7 +242,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
242242 to_intel_connector (conn_state -> connector );
243243 const struct drm_display_mode * adjusted_mode =
244244 & crtc_state -> hw .adjusted_mode ;
245- bool is_mst = intel_dp -> is_mst ;
245+ bool is_mst = intel_crtc_has_type ( crtc_state , INTEL_OUTPUT_DP_MST ) ;
246246 int bpp_x16 , slots = - EINVAL ;
247247 int dsc_slice_count = 0 ;
248248 int max_dpt_bpp_x16 ;
Original file line number Diff line number Diff line change @@ -1001,6 +1001,10 @@ void intel_rps_dec_waiters(struct intel_rps *rps)
10011001 if (rps_uses_slpc (rps )) {
10021002 slpc = rps_to_slpc (rps );
10031003
1004+ /* Don't decrement num_waiters for req where increment was skipped */
1005+ if (slpc -> power_profile == SLPC_POWER_PROFILES_POWER_SAVING )
1006+ return ;
1007+
10041008 intel_guc_slpc_dec_waiters (slpc );
10051009 } else {
10061010 atomic_dec (& rps -> num_waiters );
@@ -1029,11 +1033,15 @@ void intel_rps_boost(struct i915_request *rq)
10291033 if (slpc -> power_profile == SLPC_POWER_PROFILES_POWER_SAVING )
10301034 return ;
10311035
1032- if (slpc -> min_freq_softlimit >= slpc -> boost_freq )
1033- return ;
1034-
10351036 /* Return if old value is non zero */
10361037 if (!atomic_fetch_inc (& slpc -> num_waiters )) {
1038+ /*
1039+ * Skip queuing boost work if frequency is already boosted,
1040+ * but still increment num_waiters.
1041+ */
1042+ if (slpc -> min_freq_softlimit >= slpc -> boost_freq )
1043+ return ;
1044+
10371045 GT_TRACE (rps_to_gt (rps ), "boost fence:%llx:%llx\n" ,
10381046 rq -> fence .context , rq -> fence .seqno );
10391047 queue_work (rps_to_gt (rps )-> i915 -> unordered_wq ,
You can’t perform that action at this time.
0 commit comments