Gentoo Archives: gentoo-commits

From: "Remi Cardona (remi)" <remi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in x11-drivers/xf86-video-i810/files: xf86-video-i810-2.4.2-0002-Disable-render-standby.patch xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch xf86-video-i810-2.4.2-fix-flicker.patch
Date: Tue, 30 Sep 2008 09:55:59
Message-Id: E1Kkbwl-00009j-Ip@stork.gentoo.org
1 remi 08/09/30 09:55:11
2
3 Added:
4 xf86-video-i810-2.4.2-0002-Disable-render-standby.patch
5 xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch
6 Removed: xf86-video-i810-2.4.2-fix-flicker.patch
7 Log:
8 x11-drivers/xf86-video-i810: add another patch from upstream's 2.4-branch
9 (Portage version: 2.2_rc11/cvs/Linux 2.6.25-gentoo-r6 x86_64)
10
11 Revision Changes Path
12 1.1 x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0002-Disable-render-standby.patch
13
14 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0002-Disable-render-standby.patch?rev=1.1&view=markup
15 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0002-Disable-render-standby.patch?rev=1.1&content-type=text/plain
16
17 Index: xf86-video-i810-2.4.2-0002-Disable-render-standby.patch
18 ===================================================================
19 From 86f82c429f5d7067c52d3b783988917869e13d1d Mon Sep 17 00:00:00 2001
20 From: Zhenyu Wang <zhenyu.z.wang@×××××.com>
21 Date: Thu, 11 Sep 2008 15:49:41 +0800
22 Subject: [PATCH] Disable render standby
23
24 Render standby is known to cause possible hang issue on some
25 mobile chips, so always disable it.
26
27 diff --git a/src/i810_reg.h b/src/i810_reg.h
28 index 8690954..af8c6a3 100644
29 --- a/src/i810_reg.h
30 +++ b/src/i810_reg.h
31 @@ -2815,4 +2815,7 @@ typedef enum {
32
33 #define PEG_BAND_GAP_DATA 0x14d68
34
35 +#define MCHBAR_RENDER_STANDBY 0x111B8
36 +#define RENDER_STANDBY_ENABLE (1 << 30)
37 +
38 #endif /* _I810_REG_H */
39 diff --git a/src/i830_driver.c b/src/i830_driver.c
40 index 6f87c51..209aa07 100644
41 --- a/src/i830_driver.c
42 +++ b/src/i830_driver.c
43 @@ -2718,6 +2718,23 @@ i830_memory_init(ScrnInfoPtr pScrn)
44 return FALSE;
45 }
46
47 +static void
48 +i830_disable_render_standby(ScrnInfoPtr pScrn)
49 +{
50 + I830Ptr pI830 = I830PTR(pScrn);
51 + uint32_t render_standby;
52 +
53 + /* Render Standby might cause hang issue, try always disable it.*/
54 + if (IS_I965GM(pI830) || IS_GM45(pI830)) {
55 + render_standby = INREG(MCHBAR_RENDER_STANDBY);
56 + if (render_standby & RENDER_STANDBY_ENABLE) {
57 + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Disable render standby.\n");
58 + OUTREG(MCHBAR_RENDER_STANDBY,
59 + (render_standby & (~RENDER_STANDBY_ENABLE)));
60 + }
61 + }
62 +}
63 +
64 static Bool
65 I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
66 {
67 @@ -3053,6 +3070,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
68 if (!vgaHWMapMem(pScrn))
69 return FALSE;
70
71 + i830_disable_render_standby(pScrn);
72 +
73 DPRINTF(PFX, "assert( if(!I830EnterVT(scrnIndex, 0)) )\n");
74
75 if (!pI830->useEXA) {
76 --
77 1.6.0.2
78
79
80
81
82 1.1 x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch
83
84 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch?rev=1.1&view=markup
85 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/xf86-video-i810/files/xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch?rev=1.1&content-type=text/plain
86
87 Index: xf86-video-i810-2.4.2-0001-Don-t-allocate-a-pipe-for-hotplug-detection.patch
88 ===================================================================
89 From 95fe53b9fa5f44a1adb909909d609463d68578c2 Mon Sep 17 00:00:00 2001
90 From: Jesse Barnes <jbarnes@××××××××××××.org>
91 Date: Wed, 20 Aug 2008 14:40:29 -0700
92 Subject: [PATCH] Don't allocate a pipe for hotplug detection
93
94 It shouldn't be needed...
95 (cherry picked from commit 7b6f4d22211d71480caf6335a3eacaacff369371)
96
97 diff --git a/src/i830_crt.c b/src/i830_crt.c
98 index 2a99f9c..8274c0c 100644
99 --- a/src/i830_crt.c
100 +++ b/src/i830_crt.c
101 @@ -352,10 +352,9 @@ i830_crt_detect(xf86OutputPtr output)
102 xf86OutputStatus status;
103 Bool connected;
104
105 - crtc = i830GetLoadDetectPipe (output, NULL, &dpms_mode);
106 - if (!crtc)
107 - return XF86OutputStatusUnknown;
108 -
109 + /*
110 + * Try hotplug detection where supported
111 + */
112 if (IS_I945G(pI830) || IS_I945GM(pI830) || IS_I965G(pI830) ||
113 IS_G33CLASS(pI830)) {
114 if (i830_crt_detect_hotplug(output))
115 @@ -363,12 +362,19 @@ i830_crt_detect(xf86OutputPtr output)
116 else
117 status = XF86OutputStatusDisconnected;
118
119 - goto out;
120 + goto done;
121 }
122
123 + /*
124 + * DDC is next best, no flicker
125 + */
126 + crtc = i830GetLoadDetectPipe (output, NULL, &dpms_mode);
127 + if (!crtc)
128 + return XF86OutputStatusUnknown;
129 +
130 if (i830_crt_detect_ddc(output)) {
131 status = XF86OutputStatusConnected;
132 - goto out;
133 + goto out_release_pipe;
134 }
135
136 /* Use the load-detect method if we have no other way of telling. */
137 @@ -378,9 +384,10 @@ i830_crt_detect(xf86OutputPtr output)
138 else
139 status = XF86OutputStatusDisconnected;
140
141 -out:
142 +out_release_pipe:
143 i830ReleaseLoadDetectPipe (output, dpms_mode);
144
145 +done:
146 return status;
147 }
148
149 --
150 1.6.0.2