debian/changelog | 6 + debian/patches/drm_device_keep_trying.patch | 132 ++++++++++---------------- debian/patches/ppc64el-endian-fix.patch | 34 ++++++ debian/patches/rrcrtc-brackets-are-hard.patch | 39 ------- debian/patches/series | 3 debian/patches/xi-dont-copy-too-much.patch | 67 ------------- 6 files changed, 92 insertions(+), 189 deletions(-)
New commits: commit aae62b119a9a035c586110a5438f8dd492a7e71c Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Tue Jun 24 15:37:44 2014 +0200 refresh and drop patches for 1.16 Still need updating: - xmir.patch (rewrite on top of glamor?) - 190_cache-xkbcomp_output_for_fast_start_up.patch diff --git a/debian/patches/drm_device_keep_trying.patch b/debian/patches/drm_device_keep_trying.patch index 8a8f920..ea36cf9 100644 --- a/debian/patches/drm_device_keep_trying.patch +++ b/debian/patches/drm_device_keep_trying.patch @@ -21,19 +21,20 @@ Signed-off-by: Bryce Harrington <br...@canonical.com> --- a/config/udev.c +++ b/config/udev.c -@@ -98,7 +98,7 @@ - if (strncmp(sysname, "card", 4) != 0) +@@ -116,7 +116,7 @@ + if (xf86_find_platform_device_by_devnum(major(devnum), minor(devnum))) return; - LogMessage(X_INFO, "config/udev: Adding drm device (%s)\n", path); + LogMessage(X_INFO, "config/udev: Adding drm device (%s) %s %s\n", path, sysname, syspath); - config_udev_odev_setup_attribs(path, syspath, NewGPUDeviceRequest); - return; -@@ -430,11 +430,23 @@ + config_udev_odev_setup_attribs(path, syspath, major(devnum), + minor(devnum), NewGPUDeviceRequest); +@@ -456,6 +456,17 @@ + #ifdef CONFIG_UDEV_KMS - static Bool ++static Bool +get_pci_busid(const char *in, char *pci_str) +{ + int ret, domain, bus, dev, func; @@ -44,27 +45,20 @@ Signed-off-by: Bryce Harrington <br...@canonical.com> + return TRUE; +} + -+static Bool + static void config_udev_odev_setup_attribs(const char *path, const char *syspath, - config_odev_probe_proc_ptr probe_callback) - { - struct OdevAttributes *attribs = config_odev_allocate_attribute_list(); - int ret; -+ const char *platform; - - if (!attribs) - return FALSE; -@@ -447,6 +459,33 @@ - if (ret == FALSE) - goto fail; + int major, int minor, +@@ -468,6 +479,31 @@ + config_odev_add_int_attribute(attribs, ODEV_ATTRIB_MAJOR, major); + config_odev_add_int_attribute(attribs, ODEV_ATTRIB_MINOR, minor); + if (strstr(syspath, "/devices/pci")) { + char pci_str[17]; + const char *end = strstr(syspath, "/drm/card"); + if (strstr(syspath, "/usb")) -+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, ""); ++ config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, ""); + else if (get_pci_busid(end - 13, pci_str)) -+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, pci_str); ++ config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, pci_str); + } else if ((platform = strstr(syspath, "/devices/platform/"))) { + /* OMAP relies on this, modesetting doesn't use it */ + const char *end; @@ -72,40 +66,37 @@ Signed-off-by: Bryce Harrington <br...@canonical.com> + end = strchr(platform, '.'); + if (end) { + char *busid; ++ int ret; ++ + ret = asprintf(&busid, "platform:%.*s:%02li", + (int)(end - platform), platform, strtol(end + 1, NULL, 10)); + if (ret >= 0) { -+ ret = config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, busid); ++ config_odev_add_attribute(attribs, ODEV_ATTRIB_BUSID, busid); + free(busid); + } -+ else -+ ret = TRUE; + } + } -+ if (ret == FALSE) -+ goto fail; + /* ownership of attribs is passed to probe layer */ probe_callback(attribs); - return TRUE; + } --- a/hw/xfree86/os-support/linux/lnx_platform.c +++ b/hw/xfree86/os-support/linux/lnx_platform.c -@@ -19,44 +19,6 @@ - - #include "hotplug.h" - --static Bool --get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) --{ +@@ -23,10 +23,7 @@ + static Bool + get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) + { - drmSetVersion sv; - char *buf; -- int fd; + int major, minor, fd; - int err = 0; -- -- fd = open(path, O_RDWR, O_CLOEXEC); -- if (fd == -1) -- return FALSE; -- + Bool paused, server_fd = FALSE; + + major = config_odev_get_int_attribute(attribs, ODEV_ATTRIB_MAJOR, 0); +@@ -50,17 +47,6 @@ + if (fd == -1) + return FALSE; + - sv.drm_di_major = 1; - sv.drm_di_minor = 4; - sv.drm_dd_major = -1; /* Don't care */ @@ -117,56 +108,35 @@ Signed-off-by: Bryce Harrington <br...@canonical.com> - goto out; - } - -- /* for a delayed probe we've already added the device */ -- if (delayed_index == -1) { -- xf86_add_platform_device(attribs); -- delayed_index = xf86_num_platform_devices - 1; -- } -- + /* for a delayed probe we've already added the device */ + if (delayed_index == -1) { + xf86_add_platform_device(attribs, FALSE); +@@ -70,14 +56,9 @@ + if (server_fd) + xf86_platform_devices[delayed_index].flags |= XF86_PDEV_SERVER_FD; + - buf = drmGetBusid(fd); - xf86_add_platform_device_attrib(delayed_index, - ODEV_ATTRIB_BUSID, buf); - drmFreeBusid(buf); -out: -- close(fd); + if (!server_fd) + close(fd); - return (err == 0); --} -- ++ return TRUE; + } + Bool - xf86PlatformDeviceCheckBusID(struct xf86_platform_device *device, const char *busid) - { -@@ -105,11 +67,6 @@ - char *dpath; - dpath = xf86_get_platform_attrib(index, ODEV_ATTRIB_PATH); +@@ -157,8 +138,11 @@ + break; + } -- ret = get_drm_info(attribs, dpath, index); -- if (ret == FALSE) { -- xf86_remove_platform_device(index); -- return; -- } - ret = xf86platformAddDevice(index); - if (ret == -1) - xf86_remove_platform_device(index); -@@ -145,18 +102,10 @@ +- if (i != xf86_num_platform_devices) ++ if (i != xf86_num_platform_devices) { ++ LogMessage(X_INFO, "config/udev: Ignoring already known drm device (%s)\n", ++ path); + goto out_free; ++ } LogMessage(X_INFO, "xfree86: Adding drm device (%s)\n", path); -- if (!xf86VTOwner()) { -- /* if we don't currently own the VT then don't probe the device, -- just mark it as unowned for later use */ -- attribs->unowned = TRUE; -- xf86_add_platform_device(attribs); -- return; -- } -- -- ret = get_drm_info(attribs, path, -1); -- if (ret == FALSE) -- goto out_free; -- -+ /* if we don't currently own the VT then don't probe the device, -+ just mark it as unowned for later use */ -+ attribs->unowned = !xf86VTOwner(); -+ xf86_add_platform_device(attribs); - return; - - out_free: diff --git a/debian/patches/rrcrtc-brackets-are-hard.patch b/debian/patches/rrcrtc-brackets-are-hard.patch deleted file mode 100644 index c5d8ec8..0000000 --- a/debian/patches/rrcrtc-brackets-are-hard.patch +++ /dev/null @@ -1,39 +0,0 @@ -From dd0c31d6b7559bb0dda6283a5d345d537f1d6b42 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airl...@gmail.com> -Date: Tue, 30 Jul 2013 13:17:45 +1000 -Subject: [PATCH] rrcrtc: brackets are hard, lets go shopping. - -Slaving two outputs on a secondary GPU to a primary GPU testing -picked this up, in that we'd try to resize to the totally the -wrong thing, then as usual segfault in the rotation code. - -Signed-off-by: Dave Airlie <airl...@redhat.com> ---- - randr/rrcrtc.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: xorg-server/randr/rrcrtc.c -=================================================================== ---- xorg-server.orig/randr/rrcrtc.c 2014-03-05 15:25:13.634526931 +0000 -+++ xorg-server/randr/rrcrtc.c 2014-03-05 15:25:22.938653390 +0000 -@@ -476,7 +476,7 @@ - - xorg_list_for_each_entry(slave, &pScreen->output_slave_list, output_head) { - rrScrPrivPtr slave_priv = rrGetScrPriv(slave); -- for (c = 0; c < slave_priv->numCrtcs; c++) -+ for (c = 0; c < slave_priv->numCrtcs; c++) { - if (slave_priv->crtcs[c] == rr_crtc) { - newbox.x1 = x; - newbox.x2 = x + w; -@@ -491,8 +491,9 @@ - newbox.y1 = slave_priv->crtcs[c]->y; - newbox.y2 = slave_priv->crtcs[c]->y + slave_priv->crtcs[c]->mode->mode.height; - } -- RegionInit(&new_crtc_region, &newbox, 1); -- RegionUnion(&total_region, &total_region, &new_crtc_region); -+ RegionInit(&new_crtc_region, &newbox, 1); -+ RegionUnion(&total_region, &total_region, &new_crtc_region); -+ } - } - - newsize = RegionExtents(&total_region); diff --git a/debian/patches/series b/debian/patches/series index 9fa55f1..5e74491 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -42,7 +42,6 @@ no-nv.patch xf86-fixup-detection.patch xf86-inactive-gpuscreen.patch xrandr-rroutputchanged-main.patch -rrcrtc-brackets-are-hard.patch config-add-no-removal.patch xf86-ignore-conflicting-rr-caps.patch fix-detach-gpu.patch @@ -53,6 +52,5 @@ fix-ftbfs-ppc64el.patch xmir.patch drm_device_keep_trying.patch xi2-resize-touch.patch -xi-dont-copy-too-much.patch mi-dont-process-disabled.patch ppc64el-endian-fix.patch diff --git a/debian/patches/xi-dont-copy-too-much.patch b/debian/patches/xi-dont-copy-too-much.patch deleted file mode 100644 index 117f7f4..0000000 --- a/debian/patches/xi-dont-copy-too-much.patch +++ /dev/null @@ -1,67 +0,0 @@ -commit 56929f41e6c4cc1b2d72a33d14b4d993e7b613a3 -Author: Peter Hutterer <peter.hutte...@who-t.net> -Date: Tue Apr 29 16:52:01 2014 +1000 - - Xi: don't copy a DeviceEvent into an InternalEvent - - ==26141== Invalid read of size 8 - ==26141== at 0x58FAEA: DeliverEmulatedMotionEvent (exevents.c:1484) - - An InternalEvent is bigger than a DeviceEvent, thus copying one to the other - reads past the allocated boundary. Shouldn't have any real effect since we - shouldn't access anything past the DeviceEvent boundary if the event type is - correct. - - Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> - -diff --git a/Xi/exevents.c b/Xi/exevents.c -index 9c207eb..02530bd 100644 ---- a/Xi/exevents.c -+++ b/Xi/exevents.c -@@ -1469,7 +1469,7 @@ static void - DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, - InternalEvent *ev) - { -- InternalEvent motion; -+ DeviceEvent motion; - - if (ti->num_listeners) { - ClientPtr client; -@@ -1481,11 +1481,11 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, - ti->listeners[0].type != LISTENER_POINTER_GRAB) - return; - -- motion = *ev; -- motion.any.type = ET_TouchUpdate; -- motion.device_event.detail.button = 0; -+ motion = ev->device_event; -+ motion.type = ET_TouchUpdate; -+ motion.detail.button = 0; - -- if (!RetrieveTouchDeliveryData(dev, ti, &motion, -+ if (!RetrieveTouchDeliveryData(dev, ti, (InternalEvent*)&motion, - &ti->listeners[0], &client, &win, &grab, - &mask)) - return; -@@ -1500,18 +1500,18 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, - } - } - -- DeliverTouchEmulatedEvent(dev, ti, &motion, &ti->listeners[0], client, -+ DeliverTouchEmulatedEvent(dev, ti, (InternalEvent*)&motion, &ti->listeners[0], client, - win, grab, mask); - } - else { - InternalEvent button; - int converted; - -- converted = TouchConvertToPointerEvent(ev, &motion, &button); -+ converted = TouchConvertToPointerEvent(ev, (InternalEvent*)&motion, &button); - - BUG_WARN(converted == 0); - if (converted) -- ProcessOtherEvent(&motion, dev); -+ ProcessOtherEvent((InternalEvent*)&motion, dev); - } - } - commit 201424bd607c84c106635d71dbef18d69c41454e Author: Adam Conrad <adcon...@ubuntu.com> Date: Mon Jun 23 23:47:15 2014 -0600 Fix PPC endian assumptions (LP: #1333422) diff --git a/debian/changelog b/debian/changelog index 126f08d..d29c7a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xorg-server (2:1.15.1-0ubuntu6) utopic; urgency=medium + + * ppc64el-endian-fix.patch: Fix PPC endian assumptions (LP: #1333422) + + -- Adam Conrad <adcon...@ubuntu.com> Mon, 23 Jun 2014 23:47:15 -0600 + xorg-server (2:1.15.1-0ubuntu5) utopic; urgency=low * Add upstream patch to fix some valgrind issues. diff --git a/debian/patches/ppc64el-endian-fix.patch b/debian/patches/ppc64el-endian-fix.patch new file mode 100644 index 0000000..6950b27 --- /dev/null +++ b/debian/patches/ppc64el-endian-fix.patch @@ -0,0 +1,34 @@ +From adb7bc3386559dfee34b359dadcbb6796bc416e7 Mon Sep 17 00:00:00 2001 +From: Dinar Valeev <dval...@suse.com> +Date: Mon, 24 Feb 2014 10:36:54 +0000 +Subject: arch: Fix image and bitmap byte order for ppc64le + +So far PPC was big endian for sure. For ppc64le this is no longer +true. + +Signed-off-by: Egbert Eich <e...@freedesktop.org> +Reviewed-by: Mark Kettenis <kette...@openbsd.org> +Signed-off-by: Keith Packard <kei...@keithp.com> +--- +diff --git a/include/servermd.h b/include/servermd.h +index 081123b..e413314 100644 +--- a/include/servermd.h ++++ b/include/servermd.h +@@ -114,8 +114,13 @@ SOFTWARE. + + #if defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) + +-#define IMAGE_BYTE_ORDER MSBFirst +-#define BITMAP_BIT_ORDER MSBFirst ++#if defined(__LITTLE_ENDIAN__) ++#define IMAGE_BYTE_ORDER LSBFirst ++#define BITMAP_BIT_ORDER LSBFirst ++#else ++#define IMAGE_BYTE_ORDER MSBFirst ++#define BITMAP_BIT_ORDER MSBFirst ++#endif + #define GLYPHPADBYTES 4 + + #endif /* PowerPC */ +-- +cgit v0.9.0.2-2-gbebe diff --git a/debian/patches/series b/debian/patches/series index 8266f07..9fa55f1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -55,3 +55,4 @@ drm_device_keep_trying.patch xi2-resize-touch.patch xi-dont-copy-too-much.patch mi-dont-process-disabled.patch +ppc64el-endian-fix.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1wzr2y-0004fm...@moszumanska.debian.org