From 102798e9c6aa5ca222bf7e7e7a929510211cd5f8 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Nov 08 2010 18:10:46 +0000 Subject: intel 2.13.0 --- diff --git a/intel-2.10.0-add-mbp-backlight.patch b/intel-2.10.0-add-mbp-backlight.patch deleted file mode 100644 index ddaab89..0000000 --- a/intel-2.10.0-add-mbp-backlight.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: xf86-video-intel-2.11.0/src/drmmode_display.c -=================================================================== ---- xf86-video-intel-2.11.0/src/drmmode_display.c -+++ xf86-video-intel-2.11.0/src/drmmode_display.c 2010-04-29 00:18:34.000000000 +0200 -@@ -103,6 +103,7 @@ - "asus-laptop", - "eeepc", - "thinkpad_screen", -+ "mbp_backlight", - "acpi_video1", - "acpi_video0", - "fujitsu-laptop", diff --git a/intel-2.11-lvds-first.patch b/intel-2.11-lvds-first.patch deleted file mode 100644 index 3177b0b..0000000 --- a/intel-2.11-lvds-first.patch +++ /dev/null @@ -1,36 +0,0 @@ -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.0-vga-clock-max.patch b/intel-2.11.0-vga-clock-max.patch index 80eeb07..e14fd35 100644 --- a/intel-2.11.0-vga-clock-max.patch +++ b/intel-2.11.0-vga-clock-max.patch @@ -1,11 +1,18 @@ -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; +diff -up xf86-video-intel-2.13.0/src/intel_display.c.jx xf86-video-intel-2.13.0/src/intel_display.c +--- xf86-video-intel-2.13.0/src/intel_display.c.jx 2010-09-28 23:43:10.000000000 -0400 ++++ xf86-video-intel-2.13.0/src/intel_display.c 2010-11-08 13:01:42.000000000 -0500 +@@ -696,6 +696,7 @@ static Bool + intel_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes) + { + struct intel_output *intel_output = output->driver_private; ++ drmModeConnectorPtr koutput = intel_output->mode_output; + + /* + * If the connector type is a panel, we will use the panel limit to +@@ -707,6 +708,11 @@ intel_output_mode_valid(xf86OutputPtr ou + return MODE_PANEL; } -+ + + /* I don't actually believe any VGA is this good */ + if (koutput->connector_type == DRM_MODE_CONNECTOR_VGA) + if (pModes->Clock > 250000) diff --git a/intel-2.12-fix-uxa-planemask.patch b/intel-2.12-fix-uxa-planemask.patch deleted file mode 100644 index eb89433..0000000 --- a/intel-2.12-fix-uxa-planemask.patch +++ /dev/null @@ -1,40 +0,0 @@ -From feff2ec80eeeba5074d19efcddf4867adf639b4f Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Mon, 5 Jul 2010 09:07:08 +1000 -Subject: [PATCH] uxa: don't compare planemask with FB_ALLONES. - -planemask is an unsigned long initialised to ~0, on 64-bit this is not equal -to an (unsigned int)-1. - -Use the macro provided to do this. - -Signed-off-by: Dave Airlie ---- - uxa/uxa-accel.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c -index ded66a1..633b433 100644 ---- a/uxa/uxa-accel.c -+++ b/uxa/uxa-accel.c -@@ -81,7 +81,7 @@ uxa_fill_spans(DrawablePtr pDrawable, GCPtr pGC, int n, - if (!dst_pixmap) - goto fallback; - -- if (pGC->alu != GXcopy || pGC->planemask != FB_ALLONES) -+ if (pGC->alu != GXcopy || !UXA_PM_IS_SOLID(pDrawable, pGC->planemask)) - goto solid; - - format = PictureMatchFormat(screen, -@@ -1048,7 +1048,7 @@ uxa_fill_region_solid(DrawablePtr pDrawable, - extents = REGION_EXTENTS(screen, pRegion); - - /* Using GEM, the relocation costs outweigh the advantages of the blitter */ -- if (nbox == 1 || (alu != GXcopy && alu != GXclear) || planemask != FB_ALLONES) { -+ if (nbox == 1 || (alu != GXcopy && alu != GXclear) || !UXA_PM_IS_SOLID(&pixmap->drawable, planemask)) { - try_solid: - if (uxa_screen->info->check_solid && - !uxa_screen->info->check_solid(&pixmap->drawable, alu, planemask)) --- -1.7.1 - diff --git a/intel-2.12-submit-batch-buffers-from-flush-callback-chain.patch b/intel-2.12-submit-batch-buffers-from-flush-callback-chain.patch deleted file mode 100644 index c8f86b7..0000000 --- a/intel-2.12-submit-batch-buffers-from-flush-callback-chain.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -upNr xf86-video-intel-2.12.0.orign/src/i830_driver.c xf86-video-intel-2.12.0/src/i830_driver.c ---- xf86-video-intel-2.12.0.orign/src/i830_driver.c 2010-09-13 20:59:08.722629729 +0200 -+++ xf86-video-intel-2.12.0/src/i830_driver.c 2010-09-13 20:59:46.783566903 +0200 -@@ -865,16 +865,8 @@ I830BlockHandler(int i, pointer blockDat - intel->BlockHandler = screen->BlockHandler; - screen->BlockHandler = I830BlockHandler; - -- if (scrn->vtSema) { -- /* Emit a flush of the rendering cache, or on the 965 and beyond -- * rendering results may not hit the framebuffer until significantly -- * later. -- */ -- intel_batch_submit(scrn, -- intel->need_mi_flush || -- !list_is_empty(&intel->flush_pixmaps)); -+ if (scrn->vtSema == TRUE) - drmCommandNone(intel->drmSubFD, DRM_I915_GEM_THROTTLE); -- } - - i830_uxa_block_handler(screen); - -@@ -1072,6 +1064,24 @@ I830UeventFini(ScrnInfoPtr scrn) - } - } - -+static void -+intel_flush_callback(CallbackListPtr *list, -+ pointer user_data, pointer call_data) -+{ -+ ScrnInfoPtr scrn = user_data; -+ intel_screen_private *intel = intel_get_screen_private(scrn); -+ -+ if (scrn->vtSema) { -+ /* Emit a flush of the rendering cache, or on the 965 -+ * and beyond rendering results may not hit the -+ * framebuffer until significantly later. -+ */ -+ intel_batch_submit(scrn, -+ intel->need_mi_flush || -+ !list_is_empty(&intel->flush_pixmaps)); -+ } -+} -+ - static Bool - I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - { -@@ -1248,6 +1258,9 @@ I830ScreenInit(int scrnIndex, ScreenPtr - intel->BlockHandler = screen->BlockHandler; - screen->BlockHandler = I830BlockHandler; - -+ if (!AddCallback(&FlushCallback, intel_flush_callback, scrn)) -+ return FALSE; -+ - screen->SaveScreen = xf86SaveScreen; - intel->CloseScreen = screen->CloseScreen; - screen->CloseScreen = I830CloseScreen; -@@ -1402,6 +1415,8 @@ static Bool I830CloseScreen(int scrnInde - intel->front_buffer = NULL; - } - -+ DeleteCallback(&FlushCallback, intel_flush_callback, scrn); -+ - intel_batch_teardown(scrn); - - if (IS_I965G(intel)) - diff --git a/intel-2.8.0-kms-get-crtc.patch b/intel-2.8.0-kms-get-crtc.patch deleted file mode 100644 index e7e8569..0000000 --- a/intel-2.8.0-kms-get-crtc.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up xf86-video-intel-20090908/src/drmmode_display.c.jx xf86-video-intel-20090908/src/drmmode_display.c ---- xf86-video-intel-20090908/src/drmmode_display.c.jx 2009-09-08 14:30:55.000000000 -0400 -+++ xf86-video-intel-20090908/src/drmmode_display.c 2009-09-08 14:31:09.000000000 -0400 -@@ -1195,8 +1195,19 @@ drmmode_output_get_property(xf86OutputPt - return TRUE; - } - -+#ifdef RANDR_GET_CRTC_INTERFACE -+static xf86CrtcPtr -+drmmode_get_crtc(xf86OutputPtr output) -+{ -+ return output->crtc; -+} -+#endif -+ - static const xf86OutputFuncsRec drmmode_output_funcs = { - .create_resources = drmmode_output_create_resources, -+#ifdef RANDR_GET_CRTC_INTERFACE -+ .get_crtc = drmmode_get_crtc, -+#endif - #ifdef RANDR_12_INTERFACE - .set_property = drmmode_output_set_property, - .get_property = drmmode_output_get_property, diff --git a/uevent.patch b/uevent.patch deleted file mode 100644 index ab040fa..0000000 --- a/uevent.patch +++ /dev/null @@ -1,146 +0,0 @@ -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 - -+#include "libudev.h" -+ - #define BIT(x) (1 << (x)) - #define MAX(a,b) ((a) > (b) ? (a) : (b)) - #define NB_OF(x) (sizeof (x) / sizeof (*x)) -@@ -996,6 +998,80 @@ int i830_crtc_to_pipe(xf86CrtcPtr crtc) - return drmmode_get_pipe_from_crtc_id(intel->bufmgr, crtc); - } - -+static void -+I830HandleUEvents(int fd, void *closure) -+{ -+ ScrnInfoPtr scrn = closure; -+ intel_screen_private *intel = intel_get_screen_private(scrn); -+ struct udev_device *dev; -+ -+ dev = udev_monitor_receive_device(intel->uevent_monitor); -+ if (!dev) -+ return; -+ -+ /* -+ * technically we should inspect the event to see that it's a hotplug. -+ * but we know it's a hotplug, we don't get events for anything else. -+ * XXX but we should definitely trim by drm node -+ */ -+ -+ RRGetInfo(screenInfo.screens[scrn->scrnIndex], TRUE); -+ -+ udev_device_unref(dev); -+} -+ -+static void -+I830UeventInit(ScrnInfoPtr scrn) -+{ -+ intel_screen_private *intel = intel_get_screen_private(scrn); -+ struct udev *u; -+ struct udev_monitor *mon; -+ -+ u = udev_new(); -+ if (!u) -+ return; -+ -+ mon = udev_monitor_new_from_netlink(u, "udev"); -+ -+ if (!mon) { -+ udev_unref(u); -+ return; -+ } -+ -+ if (udev_monitor_filter_add_match_subsystem_devtype(mon, -+ "drm", -+ "drm_minor") < 0 || -+ udev_monitor_enable_receiving(mon) < 0) -+ { -+ udev_monitor_unref(mon); -+ udev_unref(u); -+ return; -+ } -+ -+ intel->uevent_handler = -+ xf86AddGeneralHandler(udev_monitor_get_fd(mon), -+ I830HandleUEvents, -+ scrn); -+ -+ intel->uevent_monitor = mon; -+} -+ -+static void -+I830UeventFini(ScrnInfoPtr scrn) -+{ -+ intel_screen_private *intel = intel_get_screen_private(scrn); -+ -+ if (intel->uevent_handler) -+ { -+ struct udev *u = udev_monitor_get_udev(intel->uevent_monitor); -+ -+ xf86RemoveGeneralHandler(intel->uevent_handler); -+ -+ udev_monitor_unref(intel->uevent_monitor); -+ udev_unref(u); -+ } -+} -+ - static Bool - I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) - { -@@ -1233,6 +1309,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr - - intel->suspended = FALSE; - -+ I830UeventInit(scrn); -+ - return uxa_resources_init(screen); - } - -@@ -1306,7 +1384,8 @@ static Bool I830CloseScreen(int scrnInde - { - ScrnInfoPtr scrn = xf86Screens[scrnIndex]; - intel_screen_private *intel = intel_get_screen_private(scrn); -- -+ -+ I830UeventFini(scrn); - if (scrn->vtSema == TRUE) { - I830LeaveVT(scrnIndex, 0); - } -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_ - -+#include "libudev.h" -+ - #include "xf86_OSproc.h" - #include "compiler.h" - #include "xf86PciInfo.h" -@@ -432,6 +434,9 @@ typedef struct intel_screen_private { - */ - Bool fallback_debug; - unsigned debug_flush; -+ -+ struct udev_monitor *uevent_monitor; -+ InputHandlerProc uevent_handler; - } intel_screen_private; - - enum { -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 - intel_drv_ladir = @moduledir@/drivers --intel_drv_la_LIBADD = -lm @DRM_LIBS@ -ldrm_intel ../uxa/libuxa.la -+intel_drv_la_LIBADD = -ludev -lm @DRM_LIBS@ -ldrm_intel ../uxa/libuxa.la - intel_drv_la_LIBADD += @PCIACCESS_LIBS@ - - INTEL_DRI_SRCS = \ diff --git a/xorg-x11-drv-intel.spec b/xorg-x11-drv-intel.spec index b67683f..e3b36f0 100644 --- a/xorg-x11-drv-intel.spec +++ b/xorg-x11-drv-intel.spec @@ -5,8 +5,8 @@ Summary: Xorg X11 Intel video driver Name: xorg-x11-drv-intel -Version: 2.12.0 -Release: 8%{?dist} +Version: 2.13.0 +Release: 1%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -18,30 +18,16 @@ Source2: intel.xinf Source3: intel-gpu-tools-%{gputoolsdate}.tar.bz2 Source4: make-git-snapshot.sh +# deactivated for now, maybe no longer needed Patch1: kill-svideo.patch +# port me dangit Patch2: copy-fb.patch - # needs to be upstreamed -Patch20: intel-2.8.0-kms-get-crtc.patch -Patch21: intel-2.11-lvds-first.patch Patch22: intel-2.11.0-vga-clock-max.patch - -# backported -Patch23: intel-2.12-fix-uxa-planemask.patch - -Patch60: uevent.patch - -# https://bugs.freedesktop.org/show_bug.cgi?id=27885 -Patch61: intel-2.10.0-add-mbp-backlight.patch - # https://bugzilla.redhat.com/588421 +# deactivated for now, maybe no longer needed Patch62: intel-2.11-no-pageflipping.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=613118 -# https://bugs.freedesktop.org/show_bug.cgi?id=28438 -# Upstream: 69d65f9184006eac790efcff78a0e425160e95aa -Patch63: intel-2.12-submit-batch-buffers-from-flush-callback-chain.patch - ExclusiveArch: %{ix86} x86_64 ia64 BuildRequires: autoconf automake libtool @@ -89,16 +75,8 @@ Debugging tools for Intel graphics chips %prep %setup -q -n xf86-video-intel-%{dirsuffix} -b3 -%patch1 -p1 -b .svideo -#patch2 -p1 -b .copy-fb -%patch20 -p1 -b .get-crtc -%patch21 -p1 -b .lvds-first %patch22 -p1 -b .vga-clock -%patch23 -p1 -b .uxa-fix -%patch60 -p1 -b .uevent -%patch61 -p1 -b .mbp-backlight -%patch62 -p1 -b .no-flip -%patch63 -p1 -b .batchbuffer-flush +#patch62 -p1 -b .no-flip %build @@ -151,6 +129,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/intel_*.1* %changelog +* Mon Nov 08 2010 Adam Jackson 2.13.901-1 +- intel 2.13.901 + * Sun Nov 07 2010 Adel Gadllah 2.12.0-8 - Apply corruption fix to rawhide too (RH #613118, GNOME #634068)