summaryrefslogtreecommitdiffstats
path: root/meta/packages/xorg-driver
diff options
context:
space:
mode:
authorRobert Bragg <bob@openedhand.com>2008-10-13 15:23:14 +0000
committerRobert Bragg <bob@openedhand.com>2008-10-13 15:23:14 +0000
commit10650210e775ab98f1b0bf4bd5292361f1807b0f (patch)
tree228cbf08681d0c323110f65f6b64790aa6505526 /meta/packages/xorg-driver
parent4c7fc919401ac29174e40d794e85d4d6c20de270 (diff)
downloadpoky-10650210e775ab98f1b0bf4bd5292361f1807b0f.tar.gz
Adds support for GEM + DRI2
DRI2 is disabled by default though since running with metacity-clutter seems to cause a lock up. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5484 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/xorg-driver')
-rw-r--r--meta/packages/xorg-driver/xf86-input-keyboard_git.bb9
-rw-r--r--meta/packages/xorg-driver/xf86-input-mouse_git.bb9
-rw-r--r--meta/packages/xorg-driver/xf86-input-synaptics_git.bb9
-rwxr-xr-xmeta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch12
-rwxr-xr-xmeta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch95
-rwxr-xr-xmeta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch31
-rwxr-xr-xmeta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch29
-rwxr-xr-xmeta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch28
-rw-r--r--meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb24
9 files changed, 246 insertions, 0 deletions
diff --git a/meta/packages/xorg-driver/xf86-input-keyboard_git.bb b/meta/packages/xorg-driver/xf86-input-keyboard_git.bb
new file mode 100644
index 0000000000..d17437db82
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-keyboard_git.bb
@@ -0,0 +1,9 @@
1require xf86-input-common.inc
2
3DESCRIPTION = "X.Org X server -- keyboard input driver"
4
5PV = "1.3.1+git${SRCREV}"
6
7SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard;protocol=git"
8S = "${WORKDIR}/git"
9
diff --git a/meta/packages/xorg-driver/xf86-input-mouse_git.bb b/meta/packages/xorg-driver/xf86-input-mouse_git.bb
new file mode 100644
index 0000000000..e1b16788e8
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-mouse_git.bb
@@ -0,0 +1,9 @@
1require xf86-input-common.inc
2
3DESCRIPTION = "X.Org X server -- mouse input driver"
4
5PV = "1.3.0+git${SRCREV}"
6
7SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse;protocol=git"
8S = "${WORKDIR}/git"
9
diff --git a/meta/packages/xorg-driver/xf86-input-synaptics_git.bb b/meta/packages/xorg-driver/xf86-input-synaptics_git.bb
new file mode 100644
index 0000000000..0bd90eaa4f
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-synaptics_git.bb
@@ -0,0 +1,9 @@
1require xf86-input-common.inc
2
3DESCRIPTION = "X.Org X server -- keyboard input driver"
4
5PV = "0.15.2+git${SRCREV}"
6
7SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics;protocol=git"
8S = "${WORKDIR}/git"
9
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch
new file mode 100755
index 0000000000..87c2a873eb
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch
@@ -0,0 +1,12 @@
1diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
2--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-13 06:58:45.000000000 +0800
3+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:22:08.000000000 +0800
4@@ -1782,7 +1782,7 @@
5 return FALSE;
6
7 pI830 = I830PTR(pScrn);
8- pI830->SaveGeneration = -1;
9+ pI830->SaveGeneration = serverGeneration;
10 pI830->pEnt = pEnt;
11 pI830->use_drm_mode = drm_mode_setting;
12
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch
new file mode 100755
index 0000000000..f8c214931e
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch
@@ -0,0 +1,95 @@
1diff -urN xf86-video-intel-2.5.96.0/src/i830_display.c xf86-video-intel-2.5.96.0.new/src/i830_display.c
2--- xf86-video-intel-2.5.96.0/src/i830_display.c 2008-09-11 05:10:10.000000000 +0800
3+++ xf86-video-intel-2.5.96.0.new/src/i830_display.c 2008-09-25 21:27:42.000000000 +0800
4@@ -376,7 +376,7 @@
5 i830WaitForVblank(ScrnInfoPtr pScreen)
6 {
7 /* Wait for 20ms, i.e. one cycle at 50hz. */
8- usleep(30000);
9+ usleep(21000);
10 }
11
12 void
13diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
14--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:23:52.000000000 +0800
15+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:30:13.000000000 +0800
16@@ -2293,7 +2293,7 @@
17 static void
18 i830_dpll_settle(void)
19 {
20- usleep(10000); /* 10 ms *should* be plenty */
21+ usleep(150); /* 10 ms *should* be plenty */
22 }
23
24 static Bool
25@@ -2315,14 +2315,12 @@
26 xf86OutputPtr output = xf86_config->output[i];
27 output->funcs->dpms(output, DPMSModeOff);
28 }
29- i830WaitForVblank(pScrn);
30
31 /* Disable pipes */
32 for (i = 0; i < xf86_config->num_crtc; i++) {
33 xf86CrtcPtr crtc = xf86_config->crtc[i];
34 crtc->funcs->dpms(crtc, DPMSModeOff);
35 }
36- i830WaitForVblank(pScrn);
37
38 if (IS_MOBILE(pI830) && !IS_I830(pI830))
39 OUTREG(LVDS, pI830->saveLVDS);
40@@ -2369,11 +2367,13 @@
41 OUTREG(FPA0, pI830->saveFPA0);
42 OUTREG(FPA1, pI830->saveFPA1);
43 OUTREG(DPLL_A, pI830->saveDPLL_A);
44+ POSTING_READ(DPLL_A);
45 i830_dpll_settle();
46 if (IS_I965G(pI830))
47 OUTREG(DPLL_A_MD, pI830->saveDPLL_A_MD);
48 else
49 OUTREG(DPLL_A, pI830->saveDPLL_A);
50+ POSTING_READ(DPLL_A);
51 i830_dpll_settle();
52
53 /* Restore mode config */
54@@ -2409,13 +2409,11 @@
55 DISPPLANE_SEL_PIPE_A) {
56 OUTREG(DSPACNTR, pI830->saveDSPACNTR);
57 OUTREG(DSPABASE, INREG(DSPABASE));
58- i830WaitForVblank(pScrn);
59 }
60 if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
61 DISPPLANE_SEL_PIPE_A) {
62 OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
63 OUTREG(DSPBBASE, INREG(DSPBBASE));
64- i830WaitForVblank(pScrn);
65 }
66
67 /* See note about pipe programming above */
68@@ -2430,11 +2428,13 @@
69 OUTREG(FPB0, pI830->saveFPB0);
70 OUTREG(FPB1, pI830->saveFPB1);
71 OUTREG(DPLL_B, pI830->saveDPLL_B);
72+ POSTING_READ(DPLL_B);
73 i830_dpll_settle();
74 if (IS_I965G(pI830))
75 OUTREG(DPLL_B_MD, pI830->saveDPLL_B_MD);
76 else
77 OUTREG(DPLL_B, pI830->saveDPLL_B);
78+ POSTING_READ(DPLL_B);
79 i830_dpll_settle();
80
81 /* Restore mode config */
82@@ -2468,13 +2468,11 @@
83 DISPPLANE_SEL_PIPE_B) {
84 OUTREG(DSPACNTR, pI830->saveDSPACNTR);
85 OUTREG(DSPABASE, INREG(DSPABASE));
86- i830WaitForVblank(pScrn);
87 }
88 if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
89 DISPPLANE_SEL_PIPE_B) {
90 OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
91 OUTREG(DSPBBASE, INREG(DSPBBASE));
92- i830WaitForVblank(pScrn);
93 }
94 }
95
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch
new file mode 100755
index 0000000000..6cdeb3e70f
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch
@@ -0,0 +1,31 @@
1diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
2--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:32:45.000000000 +0800
3+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:34:19.000000000 +0800
4@@ -912,6 +912,7 @@
5 if (IS_MOBILE(pI830) && !IS_I830(pI830))
6 i830_lvds_init(pScrn);
7
8+#if 0
9 if (IS_I9XX(pI830)) {
10 if (INREG(SDVOB) & SDVO_DETECTED) {
11 Bool found = i830_sdvo_init(pScrn, SDVOB);
12@@ -931,7 +932,8 @@
13 }
14 if (IS_I9XX(pI830) && IS_MOBILE(pI830))
15 i830_tv_init(pScrn);
16-
17+#endif
18+
19 for (o = 0; o < config->num_output; o++)
20 {
21 xf86OutputPtr output = config->output[o];
22@@ -1612,7 +1614,9 @@
23 PreInitCleanup(pScrn);
24 return FALSE;
25 }
26+#if 0
27 RestoreHWState(pScrn);
28+#endif
29
30 /* XXX This should go away, replaced by xf86Crtc.c support for it */
31 pI830->rotation = RR_Rotate_0;
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch
new file mode 100755
index 0000000000..b35e43f6ae
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch
@@ -0,0 +1,29 @@
1diff -urN xf86-video-intel-2.5.96.0/src/i830_lvds.c xf86-video-intel-2.5.96.0.new/src/i830_lvds.c
2--- xf86-video-intel-2.5.96.0/src/i830_lvds.c 2008-09-01 05:27:39.000000000 +0800
3+++ xf86-video-intel-2.5.96.0.new/src/i830_lvds.c 2008-09-25 21:36:13.000000000 +0800
4@@ -404,10 +404,11 @@
5 dev_priv->backlight_duty_cycle = dev_priv->backlight_max;
6
7 OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON);
8+#if 0
9 do {
10 pp_status = INREG(PP_STATUS);
11 } while ((pp_status & PP_ON) == 0);
12-
13+#endif
14 dev_priv->set_backlight(output, dev_priv->backlight_duty_cycle);
15 dev_priv->dpmsoff = FALSE;
16 } else {
17@@ -420,10 +421,11 @@
18 dev_priv->set_backlight(output, 0);
19
20 OUTREG(PP_CONTROL, INREG(PP_CONTROL) & ~POWER_TARGET_ON);
21+#if 0
22 do {
23 pp_status = INREG(PP_STATUS);
24 } while (pp_status & PP_ON);
25-
26+#endif
27 dev_priv->dpmsoff = TRUE;
28 }
29 }
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch
new file mode 100755
index 0000000000..7f60295db2
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch
@@ -0,0 +1,28 @@
1diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
2--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-27 18:19:07.000000000 +0800
3+++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-27 18:20:13.000000000 +0800
4@@ -1511,12 +1511,12 @@
5 * for example. :)
6 */
7 if (!(pI830->accel == ACCEL_NONE)) {
8-#ifdef I830_USE_UXA
9- pI830->accel = ACCEL_UXA;
10-#endif
11 #ifdef I830_USE_EXA
12 pI830->accel = ACCEL_EXA;
13 #endif
14+#ifdef I830_USE_UXA
15+ pI830->accel = ACCEL_UXA;
16+#endif
17 #if I830_USE_XAA + I830_USE_EXA + I830_USE_UXA >= 2
18 from = X_DEFAULT;
19 if ((s = (char *)xf86GetOptValString(pI830->Options,
20@@ -3106,7 +3106,7 @@
21 #endif
22
23 /* Enable tiling by default */
24- pI830->tiling = TRUE;
25+ pI830->tiling = FALSE;
26
27 /* Allow user override if they set a value */
28 if (xf86IsOptionSet(pI830->Options, OPTION_TILING)) {
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb b/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb
new file mode 100644
index 0000000000..4df2b1cb08
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb
@@ -0,0 +1,24 @@
1require xf86-video-common.inc
2
3DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
4DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \
5 virtual/libgl xineramaproto libpciaccess"
6PROVIDES = "xf86-video-intel"
7
8PE = "1"
9PR = "r0"
10PV = "1.5.0+git${SRCREV}"
11
12SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=git;branch=dri2 \
13 file://002_avoid_duplicate_SaveHWState.patch;patch=1 \
14 file://004_reduce_driver_boottime.patch;patch=1 \
15 file://005_disable_sdvo_TV_port_restoreHW.patch;patch=1 \
16 file://006_disable_check_lvds_panelpower_status.patch;patch=1 \
17 file://007_disable_tiling_and_enable_UXA.patch;patch=1"
18
19S = "${WORKDIR}/git"
20
21COMPATIBLE_HOST = '(i.86.*-linux)'
22
23EXTRA_OECONF = "--enable-dri --disable-static"
24