Bug 26987 - FBC not disabled when multiple displays are connected
FBC not disabled when multiple displays are connected
Status: VERIFIED FIXED
Product: DRI
Classification: Unclassified
Component: DRM/Intel
unspecified
All Linux (All)
: low enhancement
Assigned To: Jesse Barnes
: NEEDINFO
: 26989 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-03-09 21:41 UTC by fangxun
Modified: 2010-07-27 23:00 UTC (History)
1 user (show)

See Also:


Attachments
dmesg when connect external disaplay before startx (67.77 KB, text/plain)
2010-03-09 21:41 UTC, fangxun
no flags Details
Xorg log (31.45 KB, text/plain)
2010-03-09 21:42 UTC, fangxun
no flags Details
disable fbc if multiple pipes are active (3.55 KB, patch)
2010-07-09 11:38 UTC, Jesse Barnes
no flags Details | Splinter Review
dmesg file (90.90 KB, text/plain)
2010-07-12 03:48 UTC, fangxun
no flags Details
dmesg file (76.79 KB, text/plain)
2010-07-14 01:59 UTC, fangxun
no flags Details
fixed multi-pipe disable patch (4.05 KB, patch)
2010-07-23 15:03 UTC, Jesse Barnes
no flags Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description fangxun 2010-03-09 21:41:06 UTC
Created attachment 33911 [details]
dmesg when connect external disaplay before startx

System Environment:
--------------------------
Arch:           x86_64
Platform:       965gm
Libdrm:         (master)04fd3872ee8bd8d5e2c27740508c67c2d51dbc11
Mesa:           (master)6f4ce4a4fed9f0f0f0ee89a63e406ab86dae7150
Xserver:        (master)bbae92795c7eab062e6722c42fa7915e0cee5d69
Xf86_video_intel:  (master)318aa9ed799197810e2039dbe3ec51559dcc888c
Kernel:  (drm-intel-next)338d762fc2dc2c1493813123fc4cea998bb3e683


Bug detailed description:
-------------------------
FBC should disabled when connect external display. But we find FBC is enabled if connect external display before startx. If connect external display after startx and then use command "xrandr --auto", FBC is disabled(this is right). This issue happens on 965gm and 915gm.


Reproduce steps:
----------------
1.booting kernel with drm.debug=0x6
2.connect external display before starting X
3.start X
4.dmesg
Comment 1 fangxun 2010-03-09 21:42:15 UTC
Created attachment 33912 [details]
Xorg log
Comment 2 Jesse Barnes 2010-04-06 11:50:14 UTC
*** Bug 26989 has been marked as a duplicate of this bug. ***
Comment 3 Jesse Barnes 2010-07-09 11:38:50 UTC
Created attachment 36925 [details] [review]
disable fbc if multiple pipes are active

Can you give this patch a try?  It should disable FBC if we try to enable more than one pipe.
Comment 4 fangxun 2010-07-12 03:48:42 UTC
Created attachment 36963 [details]
dmesg file

FBC is still enabled using this patch.
Comment 5 Jesse Barnes 2010-07-12 08:31:25 UTC
Ah, I see it only happens when the monitor is plugged in before X starts.  I wonder if this is related to the DPMS bug I fixed recently.  Can you try the patch in #28436 and see if it fixes the issue?
Comment 6 fangxun 2010-07-14 01:59:48 UTC
Created attachment 37032 [details]
dmesg file

I try the patch in #28436 and it still fails.
Comment 7 Jesse Barnes 2010-07-23 15:03:50 UTC
Created attachment 37343 [details] [review]
fixed multi-pipe disable patch

Last patch was missing the "goto out_disable" jump, so it wouldn't get disabled in the multi-pipe case.
Comment 8 Chris Wilson 2010-07-23 15:14:23 UTC
Review of attachment 37343 [details] [review]:

Trying bz review for the first time, just to point out a couple of unrelated chunks.
Comment 9 Jesse Barnes 2010-07-23 15:22:16 UTC
On Fri, 23 Jul 2010 15:14:22 -0700 (PDT)
bugzilla-daemon@freedesktop.org wrote:
> --- Comment #8 from Chris Wilson <chris@chris-wilson.co.uk> 2010-07-23 15:14:23 PDT ---
> Review of attachment 37343 [details] [review]:
>  --> (https://bugs.freedesktop.org/review?bug=26987&attachment=37343)
> 
> Trying bz review for the first time, just to point out a couple of unrelated
> chunks.

Yeah I didn't include those in the upstream submission.  Thanks.
Comment 10 fangxun 2010-07-26 03:07:18 UTC
Works well with the patch.
Comment 11 Jesse Barnes 2010-07-26 11:51:34 UTC
author	Jesse Barnes <jbarnes@virtuousgeek.org>	
	Fri, 23 Jul 2010 22:20:00 +0000 (15:20 -0700)
committer	Eric Anholt <eric@anholt.net>	
	Mon, 26 Jul 2010 18:27:06 +0000 (11:27 -0700)
commit	9c928d168d4030a230a7a5ee1764721d173f1153
tree	3d41bcee055ef9eec9e74eb98c4ac67cdcaba927	tree | snapshot
parent	127bd2ac91c3ecf42890ac320f4c65346d110e78	commit | diff
drm/i915: disable FBC when more than one pipe is active

We're really supposed to do this to avoid trouble with underflows when
multiple planes are active.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26987.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Tested-by: fangxun <xunx.fang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Comment 12 fangxun 2010-07-27 23:00:22 UTC
Works fine with current tip. Mark it as verified.