summaryrefslogtreecommitdiff
path: root/meta/packages/xorg-driver
diff options
context:
space:
mode:
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 000000000..d17437db8
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-keyboard_git.bb
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- keyboard input driver"
+
+PV = "1.3.1+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard;protocol=git"
+S = "${WORKDIR}/git"
+
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 000000000..e1b16788e
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-mouse_git.bb
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- mouse input driver"
+
+PV = "1.3.0+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse;protocol=git"
+S = "${WORKDIR}/git"
+
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 000000000..0bd90eaa4
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-input-synaptics_git.bb
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- keyboard input driver"
+
+PV = "0.15.2+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics;protocol=git"
+S = "${WORKDIR}/git"
+
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 000000000..87c2a873e
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch
@@ -0,0 +1,12 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-13 06:58:45.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:22:08.000000000 +0800
+@@ -1782,7 +1782,7 @@
+ return FALSE;
+
+ pI830 = I830PTR(pScrn);
+- pI830->SaveGeneration = -1;
++ pI830->SaveGeneration = serverGeneration;
+ pI830->pEnt = pEnt;
+ pI830->use_drm_mode = drm_mode_setting;
+
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 000000000..f8c214931
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch
@@ -0,0 +1,95 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_display.c xf86-video-intel-2.5.96.0.new/src/i830_display.c
+--- xf86-video-intel-2.5.96.0/src/i830_display.c 2008-09-11 05:10:10.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_display.c 2008-09-25 21:27:42.000000000 +0800
+@@ -376,7 +376,7 @@
+ i830WaitForVblank(ScrnInfoPtr pScreen)
+ {
+ /* Wait for 20ms, i.e. one cycle at 50hz. */
+- usleep(30000);
++ usleep(21000);
+ }
+
+ void
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:23:52.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:30:13.000000000 +0800
+@@ -2293,7 +2293,7 @@
+ static void
+ i830_dpll_settle(void)
+ {
+- usleep(10000); /* 10 ms *should* be plenty */
++ usleep(150); /* 10 ms *should* be plenty */
+ }
+
+ static Bool
+@@ -2315,14 +2315,12 @@
+ xf86OutputPtr output = xf86_config->output[i];
+ output->funcs->dpms(output, DPMSModeOff);
+ }
+- i830WaitForVblank(pScrn);
+
+ /* Disable pipes */
+ for (i = 0; i < xf86_config->num_crtc; i++) {
+ xf86CrtcPtr crtc = xf86_config->crtc[i];
+ crtc->funcs->dpms(crtc, DPMSModeOff);
+ }
+- i830WaitForVblank(pScrn);
+
+ if (IS_MOBILE(pI830) && !IS_I830(pI830))
+ OUTREG(LVDS, pI830->saveLVDS);
+@@ -2369,11 +2367,13 @@
+ OUTREG(FPA0, pI830->saveFPA0);
+ OUTREG(FPA1, pI830->saveFPA1);
+ OUTREG(DPLL_A, pI830->saveDPLL_A);
++ POSTING_READ(DPLL_A);
+ i830_dpll_settle();
+ if (IS_I965G(pI830))
+ OUTREG(DPLL_A_MD, pI830->saveDPLL_A_MD);
+ else
+ OUTREG(DPLL_A, pI830->saveDPLL_A);
++ POSTING_READ(DPLL_A);
+ i830_dpll_settle();
+
+ /* Restore mode config */
+@@ -2409,13 +2409,11 @@
+ DISPPLANE_SEL_PIPE_A) {
+ OUTREG(DSPACNTR, pI830->saveDSPACNTR);
+ OUTREG(DSPABASE, INREG(DSPABASE));
+- i830WaitForVblank(pScrn);
+ }
+ if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
+ DISPPLANE_SEL_PIPE_A) {
+ OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
+ OUTREG(DSPBBASE, INREG(DSPBBASE));
+- i830WaitForVblank(pScrn);
+ }
+
+ /* See note about pipe programming above */
+@@ -2430,11 +2428,13 @@
+ OUTREG(FPB0, pI830->saveFPB0);
+ OUTREG(FPB1, pI830->saveFPB1);
+ OUTREG(DPLL_B, pI830->saveDPLL_B);
++ POSTING_READ(DPLL_B);
+ i830_dpll_settle();
+ if (IS_I965G(pI830))
+ OUTREG(DPLL_B_MD, pI830->saveDPLL_B_MD);
+ else
+ OUTREG(DPLL_B, pI830->saveDPLL_B);
++ POSTING_READ(DPLL_B);
+ i830_dpll_settle();
+
+ /* Restore mode config */
+@@ -2468,13 +2468,11 @@
+ DISPPLANE_SEL_PIPE_B) {
+ OUTREG(DSPACNTR, pI830->saveDSPACNTR);
+ OUTREG(DSPABASE, INREG(DSPABASE));
+- i830WaitForVblank(pScrn);
+ }
+ if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
+ DISPPLANE_SEL_PIPE_B) {
+ OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
+ OUTREG(DSPBBASE, INREG(DSPBBASE));
+- i830WaitForVblank(pScrn);
+ }
+ }
+
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 000000000..6cdeb3e70
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch
@@ -0,0 +1,31 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-25 21:32:45.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-25 21:34:19.000000000 +0800
+@@ -912,6 +912,7 @@
+ if (IS_MOBILE(pI830) && !IS_I830(pI830))
+ i830_lvds_init(pScrn);
+
++#if 0
+ if (IS_I9XX(pI830)) {
+ if (INREG(SDVOB) & SDVO_DETECTED) {
+ Bool found = i830_sdvo_init(pScrn, SDVOB);
+@@ -931,7 +932,8 @@
+ }
+ if (IS_I9XX(pI830) && IS_MOBILE(pI830))
+ i830_tv_init(pScrn);
+-
++#endif
++
+ for (o = 0; o < config->num_output; o++)
+ {
+ xf86OutputPtr output = config->output[o];
+@@ -1612,7 +1614,9 @@
+ PreInitCleanup(pScrn);
+ return FALSE;
+ }
++#if 0
+ RestoreHWState(pScrn);
++#endif
+
+ /* XXX This should go away, replaced by xf86Crtc.c support for it */
+ 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 000000000..b35e43f6a
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch
@@ -0,0 +1,29 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_lvds.c xf86-video-intel-2.5.96.0.new/src/i830_lvds.c
+--- xf86-video-intel-2.5.96.0/src/i830_lvds.c 2008-09-01 05:27:39.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_lvds.c 2008-09-25 21:36:13.000000000 +0800
+@@ -404,10 +404,11 @@
+ dev_priv->backlight_duty_cycle = dev_priv->backlight_max;
+
+ OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON);
++#if 0
+ do {
+ pp_status = INREG(PP_STATUS);
+ } while ((pp_status & PP_ON) == 0);
+-
++#endif
+ dev_priv->set_backlight(output, dev_priv->backlight_duty_cycle);
+ dev_priv->dpmsoff = FALSE;
+ } else {
+@@ -420,10 +421,11 @@
+ dev_priv->set_backlight(output, 0);
+
+ OUTREG(PP_CONTROL, INREG(PP_CONTROL) & ~POWER_TARGET_ON);
++#if 0
+ do {
+ pp_status = INREG(PP_STATUS);
+ } while (pp_status & PP_ON);
+-
++#endif
+ dev_priv->dpmsoff = TRUE;
+ }
+ }
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 000000000..7f60295db
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch
@@ -0,0 +1,28 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c 2008-09-27 18:19:07.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c 2008-09-27 18:20:13.000000000 +0800
+@@ -1511,12 +1511,12 @@
+ * for example. :)
+ */
+ if (!(pI830->accel == ACCEL_NONE)) {
+-#ifdef I830_USE_UXA
+- pI830->accel = ACCEL_UXA;
+-#endif
+ #ifdef I830_USE_EXA
+ pI830->accel = ACCEL_EXA;
+ #endif
++#ifdef I830_USE_UXA
++ pI830->accel = ACCEL_UXA;
++#endif
+ #if I830_USE_XAA + I830_USE_EXA + I830_USE_UXA >= 2
+ from = X_DEFAULT;
+ if ((s = (char *)xf86GetOptValString(pI830->Options,
+@@ -3106,7 +3106,7 @@
+ #endif
+
+ /* Enable tiling by default */
+- pI830->tiling = TRUE;
++ pI830->tiling = FALSE;
+
+ /* Allow user override if they set a value */
+ 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 000000000..4df2b1cb0
--- /dev/null
+++ b/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb
@@ -0,0 +1,24 @@
+require xf86-video-common.inc
+
+DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
+DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \
+ virtual/libgl xineramaproto libpciaccess"
+PROVIDES = "xf86-video-intel"
+
+PE = "1"
+PR = "r0"
+PV = "1.5.0+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=git;branch=dri2 \
+ file://002_avoid_duplicate_SaveHWState.patch;patch=1 \
+ file://004_reduce_driver_boottime.patch;patch=1 \
+ file://005_disable_sdvo_TV_port_restoreHW.patch;patch=1 \
+ file://006_disable_check_lvds_panelpower_status.patch;patch=1 \
+ file://007_disable_tiling_and_enable_UXA.patch;patch=1"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = '(i.86.*-linux)'
+
+EXTRA_OECONF = "--enable-dri --disable-static"
+