@@ -200,7 +200,7 @@ static bool _intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enabl
200200
201201/**
202202 * intel_set_memory_cxsr - Configure CxSR state
203- * @dev_priv: i915 device
203+ * @display: display device
204204 * @enable: Allow vs. disallow CxSR
205205 *
206206 * Allow or disallow the system to enter a special CxSR
@@ -235,8 +235,9 @@ static bool _intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enabl
235235 * the hardware w.r.t. HPLL SR when writing to plane registers.
236236 * Disallowing just CxSR is sufficient.
237237 */
238- bool intel_set_memory_cxsr (struct drm_i915_private * dev_priv , bool enable )
238+ bool intel_set_memory_cxsr (struct intel_display * display , bool enable )
239239{
240+ struct drm_i915_private * dev_priv = to_i915 (display -> drm );
240241 bool ret ;
241242
242243 mutex_lock (& dev_priv -> display .wm .wm_mutex );
@@ -652,7 +653,7 @@ static void pnv_update_wm(struct intel_display *display)
652653 latency = pnv_get_cxsr_latency (dev_priv );
653654 if (!latency ) {
654655 drm_dbg_kms (& dev_priv -> drm , "Unknown FSB/MEM, disabling CxSR\n" );
655- intel_set_memory_cxsr (dev_priv , false);
656+ intel_set_memory_cxsr (display , false);
656657 return ;
657658 }
658659
@@ -702,9 +703,9 @@ static void pnv_update_wm(struct intel_display *display)
702703 intel_uncore_write (& dev_priv -> uncore , DSPFW3 (dev_priv ), reg );
703704 drm_dbg_kms (& dev_priv -> drm , "DSPFW3 register is %x\n" , reg );
704705
705- intel_set_memory_cxsr (dev_priv , true);
706+ intel_set_memory_cxsr (display , true);
706707 } else {
707- intel_set_memory_cxsr (dev_priv , false);
708+ intel_set_memory_cxsr (display , false);
708709 }
709710}
710711
@@ -2177,7 +2178,7 @@ static void i965_update_wm(struct intel_display *display)
21772178 } else {
21782179 cxsr_enabled = false;
21792180 /* Turn off self refresh if both pipes are enabled */
2180- intel_set_memory_cxsr (dev_priv , false);
2181+ intel_set_memory_cxsr (display , false);
21812182 }
21822183
21832184 drm_dbg_kms (& dev_priv -> drm ,
@@ -2198,7 +2199,7 @@ static void i965_update_wm(struct intel_display *display)
21982199 FW_WM (cursor_sr , CURSOR_SR ));
21992200
22002201 if (cxsr_enabled )
2201- intel_set_memory_cxsr (dev_priv , true);
2202+ intel_set_memory_cxsr (display , true);
22022203}
22032204
22042205#undef FW_WM
@@ -2307,7 +2308,7 @@ static void i9xx_update_wm(struct intel_display *display)
23072308 cwm = 2 ;
23082309
23092310 /* Play safe and disable self-refresh before adjusting watermarks. */
2310- intel_set_memory_cxsr (dev_priv , false);
2311+ intel_set_memory_cxsr (display , false);
23112312
23122313 /* Calc sr entries for one plane configs */
23132314 if (HAS_FW_BLC (dev_priv ) && crtc ) {
@@ -2359,7 +2360,7 @@ static void i9xx_update_wm(struct intel_display *display)
23592360 intel_uncore_write (& dev_priv -> uncore , FW_BLC2 , fwater_hi );
23602361
23612362 if (crtc )
2362- intel_set_memory_cxsr (dev_priv , true);
2363+ intel_set_memory_cxsr (display , true);
23632364}
23642365
23652366static void i845_update_wm (struct intel_display * display )
@@ -3411,8 +3412,10 @@ static void ilk_write_wm_values(struct drm_i915_private *dev_priv,
34113412 dev_priv -> display .wm .hw = * results ;
34123413}
34133414
3414- bool ilk_disable_cxsr (struct drm_i915_private * dev_priv )
3415+ bool ilk_disable_cxsr (struct intel_display * display )
34153416{
3417+ struct drm_i915_private * dev_priv = to_i915 (display -> drm );
3418+
34163419 return _ilk_disable_lp_wm (dev_priv , WM_DIRTY_LP_ALL );
34173420}
34183421
@@ -3580,8 +3583,9 @@ static int ilk_sanitize_watermarks_add_affected(struct drm_atomic_state *state)
35803583 * through the atomic check code to calculate new watermark values in the
35813584 * state object.
35823585 */
3583- void ilk_wm_sanitize (struct drm_i915_private * dev_priv )
3586+ void ilk_wm_sanitize (struct intel_display * display )
35843587{
3588+ struct drm_i915_private * dev_priv = to_i915 (display -> drm );
35853589 struct drm_atomic_state * state ;
35863590 struct intel_atomic_state * intel_state ;
35873591 struct intel_crtc * crtc ;
@@ -4156,8 +4160,10 @@ static const struct intel_wm_funcs i845_wm_funcs = {
41564160static const struct intel_wm_funcs nop_funcs = {
41574161};
41584162
4159- void i9xx_wm_init (struct drm_i915_private * dev_priv )
4163+ void i9xx_wm_init (struct intel_display * display )
41604164{
4165+ struct drm_i915_private * dev_priv = to_i915 (display -> drm );
4166+
41614167 /* For FIFO watermark updates */
41624168 if (HAS_PCH_SPLIT (dev_priv )) {
41634169 ilk_setup_wm_latency (dev_priv );
@@ -4172,7 +4178,7 @@ void i9xx_wm_init(struct drm_i915_private *dev_priv)
41724178 if (!pnv_get_cxsr_latency (dev_priv )) {
41734179 drm_info (& dev_priv -> drm , "Unknown FSB/MEM, disabling CxSR\n" );
41744180 /* Disable CxSR and never update its watermark again */
4175- intel_set_memory_cxsr (dev_priv , false);
4181+ intel_set_memory_cxsr (display , false);
41764182 dev_priv -> display .funcs .wm = & nop_funcs ;
41774183 } else {
41784184 dev_priv -> display .funcs .wm = & pnv_wm_funcs ;
0 commit comments