[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu+1'



 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.lankhorst@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 <bryce@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 <bryce@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 <bryce@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 <bryce@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 <airlied@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 <airlied@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.hutterer@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.hutterer@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 <adconrad@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 <adconrad@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 <dvaleev@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 <eich@freedesktop.org>
+Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
+Signed-off-by: Keith Packard <keithp@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


Reply to: