From ee34652d355b1a48970736c6f3f525095aa07422 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Jun 25 2010 15:58:32 +0000 Subject: - intel 2.12.0 - new gpu-tools snapshot --- diff --git a/intel-2.11-lvds-first.patch b/intel-2.11-lvds-first.patch new file mode 100644 index 0000000..3177b0b --- /dev/null +++ b/intel-2.11-lvds-first.patch @@ -0,0 +1,36 @@ +diff -up xf86-video-intel-20100319/src/drmmode_display.c.jx xf86-video-intel-20100319/src/drmmode_display.c +--- xf86-video-intel-20100319/src/drmmode_display.c.jx 2010-03-22 13:24:13.483183499 -0400 ++++ xf86-video-intel-20100319/src/drmmode_display.c 2010-03-22 13:25:59.810184060 -0400 +@@ -1452,7 +1452,7 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, + intel_screen_private *intel = intel_get_screen_private(scrn); + struct drm_i915_getparam gp; + drmmode_ptr drmmode; +- unsigned int i; ++ unsigned int i, lvds = -1; + int has_flipping = 0; + + drmmode = xnfalloc(sizeof *drmmode); +@@ -1473,9 +1473,22 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, + drmmode->mode_res->max_height); + for (i = 0; i < drmmode->mode_res->count_crtcs; i++) + drmmode_crtc_init(scrn, drmmode, i); ++ ++ /* do LVDS first */ ++ for (i = 0; i < drmmode->mode_res->count_connectors; i++) { ++ drmModeConnectorPtr koutput = ++ drmModeGetConnector(drmmode->fd, ++ drmmode->mode_res->connectors[i]); ++ if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS) { ++ drmmode_output_init(scrn, drmmode, i); ++ lvds = i; ++ } ++ drmModeFreeConnector(koutput); ++ } + + for (i = 0; i < drmmode->mode_res->count_connectors; i++) +- drmmode_output_init(scrn, drmmode, i); ++ if (i != lvds) ++ drmmode_output_init(scrn, drmmode, i); + + xf86InitialConfiguration(scrn, TRUE); + diff --git a/intel-2.11-no-pageflipping.patch b/intel-2.11-no-pageflipping.patch new file mode 100644 index 0000000..39500e2 --- /dev/null +++ b/intel-2.11-no-pageflipping.patch @@ -0,0 +1,33 @@ +diff -up xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip xf86-video-intel-2.11.0/src/drmmode_display.c +--- xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip 2010-05-03 15:30:19.000000000 -0400 ++++ xf86-video-intel-2.11.0/src/drmmode_display.c 2010-05-03 15:30:59.000000000 -0400 +@@ -1504,10 +1504,15 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, + gp.value = &has_flipping; + (void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp, + sizeof(gp)); ++ ++ xf86DrvMsg(scrn->scrnIndex, X_INFO, ++ "Pageflipping %s in kernel, %s disabled in X\n", ++ has_flipping ? "enabled" : "disabled", ++ has_flipping ? "but" : "and"); + if (has_flipping) { + xf86DrvMsg(scrn->scrnIndex, X_INFO, +- "Kernel page flipping support detected, enabling\n"); +- intel->use_pageflipping = TRUE; ++ "Don't panic: https://bugzilla.redhat.com/588421\n"); ++ intel->use_pageflipping = FALSE; + drmmode->flip_count = 0; + drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION; + drmmode->event_context.vblank_handler = drmmode_vblank_handler; +diff -up xf86-video-intel-2.11.0/src/i830_dri.c.no-flip xf86-video-intel-2.11.0/src/i830_dri.c +--- xf86-video-intel-2.11.0/src/i830_dri.c.no-flip 2010-03-29 14:23:02.000000000 -0400 ++++ xf86-video-intel-2.11.0/src/i830_dri.c 2010-05-03 15:30:19.000000000 -0400 +@@ -1013,7 +1013,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen + + info.CopyRegion = I830DRI2CopyRegion; + #if DRI2INFOREC_VERSION >= 4 +- if (intel->use_pageflipping) { ++ if (intel->use_pageflipping || 1) { + info.version = 4; + info.ScheduleSwap = I830DRI2ScheduleSwap; + info.GetMSC = I830DRI2GetMSC; diff --git a/intel-2.11.0-vga-clock-max.patch b/intel-2.11.0-vga-clock-max.patch new file mode 100644 index 0000000..80eeb07 --- /dev/null +++ b/intel-2.11.0-vga-clock-max.patch @@ -0,0 +1,16 @@ +diff -up xf86-video-intel-2.11.0/src/drmmode_display.c.jx xf86-video-intel-2.11.0/src/drmmode_display.c +--- xf86-video-intel-2.11.0/src/drmmode_display.c.jx 2010-04-16 10:28:08.000000000 -0400 ++++ xf86-video-intel-2.11.0/src/drmmode_display.c 2010-04-26 15:28:58.000000000 -0400 +@@ -689,6 +689,12 @@ drmmode_output_mode_valid(xf86OutputPtr + else + return MODE_OK; + } ++ ++ /* I don't actually believe any VGA is this good */ ++ if (koutput->connector_type == DRM_MODE_CONNECTOR_VGA) ++ if (pModes->Clock > 250000) ++ return MODE_CLOCK_HIGH; ++ + return MODE_OK; + } + diff --git a/sources b/sources index 6cc01eb..c4c0e0c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -d64507d329cff1228f8a88ec2e9f58cb intel-gpu-tools-20090908.tar.bz2 -78309d4f04dd8ae6585d120377042741 xf86-video-intel-2.10.0.tar.bz2 +8314def847dcdc4f2970e2d193054f96 xf86-video-intel-2.12.0.tar.bz2 +29d469beab04ee3ca8da86362b44a418 intel-gpu-tools-20100625.tar.bz2 diff --git a/uevent.patch b/uevent.patch index aebef44..ab040fa 100644 --- a/uevent.patch +++ b/uevent.patch @@ -1,7 +1,7 @@ -diff -up xf86-video-intel-2.10.0/src/i830_driver.c.dave xf86-video-intel-2.10.0/src/i830_driver.c ---- xf86-video-intel-2.10.0/src/i830_driver.c.dave 2010-01-13 18:48:49.000000000 +1000 -+++ xf86-video-intel-2.10.0/src/i830_driver.c 2010-01-13 18:51:09.000000000 +1000 -@@ -83,6 +83,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. +diff -up xf86-video-intel-2.12.0/src/i830_driver.c.uevent xf86-video-intel-2.12.0/src/i830_driver.c +--- xf86-video-intel-2.12.0/src/i830_driver.c.uevent 2010-06-24 16:29:49.000000000 -0400 ++++ xf86-video-intel-2.12.0/src/i830_driver.c 2010-06-25 11:40:01.335975581 -0400 +@@ -81,6 +81,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "i915_drm.h" #include @@ -10,7 +10,7 @@ diff -up xf86-video-intel-2.10.0/src/i830_driver.c.dave xf86-video-intel-2.10.0/ #define BIT(x) (1 << (x)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define NB_OF(x) (sizeof (x) / sizeof (*x)) -@@ -1167,6 +1169,80 @@ int i830_crtc_to_pipe(xf86CrtcPtr crtc) +@@ -996,6 +998,80 @@ int i830_crtc_to_pipe(xf86CrtcPtr crtc) return drmmode_get_pipe_from_crtc_id(intel->bufmgr, crtc); } @@ -91,16 +91,16 @@ diff -up xf86-video-intel-2.10.0/src/i830_driver.c.dave xf86-video-intel-2.10.0/ static Bool I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) { -@@ -1425,6 +1501,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr +@@ -1233,6 +1309,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr intel->suspended = FALSE; + I830UeventInit(scrn); + - return TRUE; + return uxa_resources_init(screen); } -@@ -1529,7 +1607,8 @@ static Bool I830CloseScreen(int scrnInde +@@ -1306,7 +1384,8 @@ static Bool I830CloseScreen(int scrnInde { ScrnInfoPtr scrn = xf86Screens[scrnIndex]; intel_screen_private *intel = intel_get_screen_private(scrn); @@ -110,9 +110,9 @@ diff -up xf86-video-intel-2.10.0/src/i830_driver.c.dave xf86-video-intel-2.10.0/ if (scrn->vtSema == TRUE) { I830LeaveVT(scrnIndex, 0); } -diff -up xf86-video-intel-2.10.0/src/i830.h.dave xf86-video-intel-2.10.0/src/i830.h ---- xf86-video-intel-2.10.0/src/i830.h.dave 2010-01-13 18:48:50.000000000 +1000 -+++ xf86-video-intel-2.10.0/src/i830.h 2010-01-13 18:50:01.000000000 +1000 +diff -up xf86-video-intel-2.12.0/src/i830.h.uevent xf86-video-intel-2.12.0/src/i830.h +--- xf86-video-intel-2.12.0/src/i830.h.uevent 2010-06-24 16:29:49.000000000 -0400 ++++ xf86-video-intel-2.12.0/src/i830.h 2010-06-25 11:39:15.665029821 -0400 @@ -47,6 +47,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN #ifndef _I830_H_ #define _I830_H_ @@ -122,7 +122,7 @@ diff -up xf86-video-intel-2.10.0/src/i830.h.dave xf86-video-intel-2.10.0/src/i83 #include "xf86_OSproc.h" #include "compiler.h" #include "xf86PciInfo.h" -@@ -385,6 +387,9 @@ typedef struct intel_screen_private { +@@ -432,6 +434,9 @@ typedef struct intel_screen_private { */ Bool fallback_debug; unsigned debug_flush; @@ -132,9 +132,9 @@ diff -up xf86-video-intel-2.10.0/src/i830.h.dave xf86-video-intel-2.10.0/src/i83 } intel_screen_private; enum { -diff -up xf86-video-intel-2.10.0/src/Makefile.am.dave xf86-video-intel-2.10.0/src/Makefile.am ---- xf86-video-intel-2.10.0/src/Makefile.am.dave 2010-01-05 08:09:52.000000000 +1000 -+++ xf86-video-intel-2.10.0/src/Makefile.am 2010-01-13 18:49:14.000000000 +1000 +diff -up xf86-video-intel-2.12.0/src/Makefile.am.uevent xf86-video-intel-2.12.0/src/Makefile.am +--- xf86-video-intel-2.12.0/src/Makefile.am.uevent 2010-06-24 16:29:37.000000000 -0400 ++++ xf86-video-intel-2.12.0/src/Makefile.am 2010-06-25 11:39:15.665029821 -0400 @@ -32,7 +32,7 @@ AM_CFLAGS = @CWARNFLAGS@ @XORG_CFLAGS@ @ intel_drv_la_LTLIBRARIES = intel_drv.la intel_drv_la_LDFLAGS = -module -avoid-version diff --git a/xorg-x11-drv-intel.spec b/xorg-x11-drv-intel.spec index b5e961b..a79bfc1 100644 --- a/xorg-x11-drv-intel.spec +++ b/xorg-x11-drv-intel.spec @@ -2,18 +2,20 @@ %define legacyver 2.6.0-8 %define moduledir %(pkg-config xorg-server --variable=moduledir ) %define driverdir %{moduledir}/drivers -%define gputoolsdate 20090908 +%define gputoolsdate 20100625 +#define gitdate 20100326 Summary: Xorg X11 Intel video driver Name: xorg-x11-drv-intel -Version: 2.10.0 -Release: 5%{?dist} +Version: 2.12.0 +Release: 1%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-%{version}.tar.bz2 +#Source0: xf86-video-intel-%{gitdate}.tar.bz2 Source1: make-intel-gpu-tools-snapshot.sh Source2: intel.xinf Source3: intel-gpu-tools-%{gputoolsdate}.tar.bz2 @@ -24,13 +26,16 @@ Patch2: copy-fb.patch # needs to be upstreamed Patch20: intel-2.8.0-kms-get-crtc.patch -Patch21: intel-2.8.0-lvds-first.patch +Patch21: intel-2.11-lvds-first.patch +Patch22: intel-2.11.0-vga-clock-max.patch Patch60: uevent.patch -Patch70: lvds-modes.patch # https://bugs.freedesktop.org/show_bug.cgi?id=27885 -Patch71: intel-2.10.0-add-mbp-backlight.patch +Patch61: intel-2.10.0-add-mbp-backlight.patch + +# https://bugzilla.redhat.com/588421 +Patch62: intel-2.11-no-pageflipping.patch ExclusiveArch: %{ix86} x86_64 ia64 @@ -83,12 +88,13 @@ Debugging tools for Intel graphics chips %prep %setup -q -n xf86-video-intel-%{dirsuffix} -b3 %patch1 -p1 -b .svideo -%patch2 -p1 -b .copy-fb +#patch2 -p1 -b .copy-fb %patch20 -p1 -b .get-crtc %patch21 -p1 -b .lvds-first +%patch22 -p1 -b .vga-clock %patch60 -p1 -b .uevent -%patch70 -p1 -b .lvds-modes -%patch71 -p1 -b .mbp-backlight +%patch61 -p1 -b .mbp-backlight +%patch62 -p1 -b .no-flip %build @@ -139,9 +145,31 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/intel_*.1* %changelog -* Fri Apr 30 2010 Bastien Nocera 2.10.0-5 +* Fri Jun 25 2010 Adam Jackson 2.12.0-1 +- intel 2.12.0 +- new gpu-tools snapshot + +* Fri Jun 25 2010 Dave Airlie 2.11.0-5 +- intel-2.11.0-fix-rotate-flushing-965.patch: fix rotation issues + +* Mon May 03 2010 Adam Jackson 2.11.0-4 +- intel-2.11-no-pageflipping.patch: Disable pageflipping (#588421) + +* Fri Apr 30 2010 Bastien Nocera 2.11.0-3 - Add MacBook backlight support +* Mon Apr 26 2010 Adam Jackson 2.11.0-2 +- intel-2.11.0-vga-clock-max.patch: Clamp VGA pixel clock to 250MHz, + anything higher's going to look awful anyway. (#559426) + +* Fri Apr 16 2010 Adam Jackson 2.11.0-1 +- intel 2.11.0 +- new gpu tools snapshot + +* Fri Mar 26 2010 Adam Jackson 2.10.0-5 +- New driver snapshot (2.10.92ish). +- New GPU tools snapshot. + * Wed Feb 10 2010 Adam Jackson 2.10.0-4 - Remove call to I830EmitFlush (#563212)