memory self refresh is disabled in drm-intel-next. It's enabled in -fixes or 2.6.38. Tested on Huron River: [root@x-hnr3 ~]# cat /sys/kernel/debug/dri/0/i915_sr_status self-refresh: disabled Yuanhan is working on it.
Created attachment 44567 [details] [review] The patch to fix this issue The patch to fix this issue
The patch is incorrect. You want just: return mask && (mask & -mask) == mask; Bad me, forgetting is_pot().
I guess mask && (mask & (mask - 1) == 0 and mask && (mask & -mask) == mask is equal. Right?
Oh, right, I did something extra. No need to change ffs to fls as we have only one bit set. Thanks.
The patch works on huronriver.
I've queued: commit 84ec542510602575073259e10f52b6e8f1ca94b7 Author: Yuanhan Liu <yuanhan.liu@intel.com> Date: Fri Mar 18 07:37:35 2011 +0000 drm/i915: Re-enable self-refresh A broken implementation of is_pot() prevented the detection of when a singular pipe was enabled. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35402 Signed-off-by: Yuanhan Liu <yuanhan.liu@intel.com> Tested-by: xunx.fang@intel.com Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
commit 7ccb4a53eb03c9196646ca0c2a97558313e886f1 Author: Yuanhan Liu <yuanhan.liu@intel.com> Date: Fri Mar 18 07:37:35 2011 +0000 drm/i915: Re-enable self-refresh A broken implementation of is_pot() prevented the detection of when a singular pipe was enabled. Eric Anholt pointed out the existence of is_power_of_2() so use that instead of our broken code! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35402 Signed-off-by: Yuanhan Liu <yuanhan.liu@intel.com> Tested-by: xunx.fang@intel.com Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Verified with Kernel: (drm-intel-next)caee6066332b83e7f8bdd6f2f40ce46d4836d69c and Kernel: (drm-intel-fixes)2fb4e61d9471867677c97bf11dba8f1e9dfa7f7c.
Closing verified+fixed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.