Patch "drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-pretend-cursor-is-always-on-for-ilk-style-wm-calculations-v2.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
e2e407dc093f530b771ee8bf8fe1be41e3cea8b3Mon Sep 17 00:00:00 2001
From: Matt Roper <[email protected]>
Date: Mon, 8 Feb 2016 11:05:28 -0800
Subject: drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)
From: Matt Roper <[email protected]>
commit e2e407dc093f530b771ee8bf8fe1be41e3cea8b3 upstream.
Due to our lack of two-step watermark programming, our driver has historically pretended that the cursor plane is always on for the purpose of watermark calculations; this helps avoid serious flickering when the cursor turns off/on (e.g., when the user moves the mouse pointer to a different screen). That workaround was accidentally dropped as we started working toward atomic watermark updates. Since we still aren't quite there yet with two-stage updates, we need to resurrect the workaround and treat the cursor as always active.
v2: Tweak cursor width calculations slightly to more closely match the
logic we used before the atomic overhaul began. (Ville)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93892
--- drivers/gpu/drm/i915/intel_pm.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
drivers/gpu/drm/i915/intel_pm.c +9 -5
@@ -1789,16 +1789,20 @@ static uint32_t ilk_compute_cur_wm(const const struct intel_plane_state *pstate, uint32_t mem_value) { - int bpp = pstate->base.fb ? pstate->base.fb->bits_per_pixel / 8 : 0; +/* +* We treat the cursor plane as always-on for the purposes of watermark +* calculation. Until we have two-stage watermark programming merged, +* this is necessary to avoid flickering. +*/ +int cpp =4 ; +int width = pstate->visible ? pstate->base.crtc_w :64 ; -if (!cstate->base.active || !pstate->visible) +if (!cstate->base.active)return 0 ;return ilk_wm_method2 (ilk_pipe_pixel_rate (cstate), cstate->base.adjusted_mode.crtc_htotal, -drm_rect_width (&pstate->dst), - bpp, - mem_value); + width, cpp, mem_value); }/* Only for WM_LP. */
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drm-i915-pretend-cursor-is-always-on-for-ilk-style-wm-calculations-v2.patch