debian/changelog | 7 + debian/patches/drm_device_keep_trying.patch | 153 ---------------------------- debian/patches/series | 1 3 files changed, 7 insertions(+), 154 deletions(-)
New commits: commit e57d12c603246df58d185438f1d6a68cdaf125d5 Author: Timo Aaltonen <tjaal...@debian.org> Date: Fri Sep 2 14:00:16 2016 +0300 release to yak diff --git a/debian/changelog b/debian/changelog index dbb40af..94e955b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xorg-server (2:1.18.4-1ubuntu5) UNRELEASED; urgency=medium +xorg-server (2:1.18.4-1ubuntu5) yakkety; urgency=medium * drm_device_keep_trying.patch: Dropped, shouldn't be needed anymore, and causes issues on non-x86 archs. (LP: #1581076) - -- Timo Aaltonen <tjaal...@debian.org> Fri, 02 Sep 2016 12:56:32 +0300 + -- Timo Aaltonen <tjaal...@debian.org> Fri, 02 Sep 2016 13:59:52 +0300 xorg-server (2:1.18.4-1ubuntu4) yakkety; urgency=medium commit 50a0cfc7d466505093ae31721fbc757dae56debb Author: Timo Aaltonen <tjaal...@debian.org> Date: Fri Sep 2 13:47:56 2016 +0300 drm_device_keep_trying.patch: Dropped, shouldn't be needed anymore, and causes issues on non-x86 archs. (LP: #1581076) diff --git a/debian/changelog b/debian/changelog index 8314f90..dbb40af 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.18.4-1ubuntu5) UNRELEASED; urgency=medium + + * drm_device_keep_trying.patch: Dropped, shouldn't be needed anymore, and + causes issues on non-x86 archs. (LP: #1581076) + + -- Timo Aaltonen <tjaal...@debian.org> Fri, 02 Sep 2016 12:56:32 +0300 + xorg-server (2:1.18.4-1ubuntu4) yakkety; urgency=medium * debian/patches/xmir.patch: diff --git a/debian/patches/drm_device_keep_trying.patch b/debian/patches/drm_device_keep_trying.patch deleted file mode 100644 index 59bb1cf..0000000 --- a/debian/patches/drm_device_keep_trying.patch +++ /dev/null @@ -1,153 +0,0 @@ -From: Maarten Lankhorst <maarten.lankho...@canonical.com> -Subject: [PATCH] do not use drmGetBusid to grab the pci-id name - -The kernel returns EACCES or EAGAIN on drm open when the drm device is -currently unavailable, such as if it is in use by another process -(e.g. plymouth), or hasn't finished initializing (e.g. on a really fast -SSD). Because the probing is done before a vt switch is completed, -we have no way to ensure that we can own DRM master. This results -in failing to boot. - -Also attrib->unowned is not initialized, always initialize it to fix -a valgrind warning, and to prevent adding the same device a second time -after a vt switch. - -Fixes: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/982889 - -Signed-off-by: Bryce Harrington <br...@canonical.com> ---- - hw/xfree86/os-support/linux/lnx_platform.c | 29 +++++++++++++++++++++++++--- - 1 file changed, 26 insertions(+), 3 deletions(-) - ---- a/config/udev.c -+++ b/config/udev.c -@@ -126,7 +126,7 @@ device_added(struct udev_device *udev_de - 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, major(devnum), - minor(devnum), NewGPUDeviceRequest); -@@ -465,18 +465,54 @@ config_udev_fini(void) - - #ifdef CONFIG_UDEV_KMS - -+static Bool -+get_pci_busid(const char *in, char *pci_str) -+{ -+ int ret, domain, bus, dev, func; -+ ret = sscanf(in, "/%04x:%02x:%02x.%d/drm/card%*d", &domain, &bus, &dev, &func); -+ if (ret != 4) -+ return FALSE; -+ sprintf(pci_str, "pci:%04x:%02x:%02x.%d", domain, bus, dev, func); -+ return TRUE; -+} -+ - static void - config_udev_odev_setup_attribs(const char *path, const char *syspath, - int major, int minor, - config_odev_probe_proc_ptr probe_callback) - { - struct OdevAttributes *attribs = config_odev_allocate_attributes(); -+ const char *platform; - - attribs->path = XNFstrdup(path); - attribs->syspath = XNFstrdup(syspath); - attribs->major = major; - attribs->minor = minor; - -+ if (strstr(syspath, "/devices/pci")) { -+ char pci_str[17]; -+ const char *end = strstr(syspath, "/drm/card"); -+ if (strstr(syspath, "/usb")) -+ attribs->busid = strdup(""); -+ else if (get_pci_busid(end - 13, pci_str)) -+ attribs->busid = strdup(pci_str); -+ } else if ((platform = strstr(syspath, "/devices/platform/"))) { -+ /* OMAP relies on this, modesetting doesn't use it */ -+ const char *end; -+ platform += 18; -+ 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) { -+ attribs->busid = busid; -+ } -+ } -+ } -+ - /* ownership of attribs is passed to probe layer */ - probe_callback(attribs); - } ---- a/hw/xfree86/os-support/linux/lnx_platform.c -+++ b/hw/xfree86/os-support/linux/lnx_platform.c -@@ -23,11 +23,8 @@ - static Bool - get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) - { -- drmSetVersion sv; - drmVersionPtr v; -- char *buf; - int major, minor, fd; -- int err = 0; - Bool paused, server_fd = FALSE; - - major = attribs->major; -@@ -51,18 +48,6 @@ get_drm_info(struct OdevAttributes *attr - if (fd == -1) - return FALSE; - -- sv.drm_di_major = 1; -- sv.drm_di_minor = 4; -- sv.drm_dd_major = -1; /* Don't care */ -- sv.drm_dd_minor = -1; /* Don't care */ -- -- err = drmSetInterfaceVersion(fd, &sv); -- if (err) { -- xf86Msg(X_ERROR, "%s: failed to set DRM interface version 1.4: %s\n", -- path, strerror(-err)); -- goto out; -- } -- - /* for a delayed probe we've already added the device */ - if (delayed_index == -1) { - xf86_add_platform_device(attribs, FALSE); -@@ -72,10 +57,6 @@ get_drm_info(struct OdevAttributes *attr - if (server_fd) - xf86_platform_devices[delayed_index].flags |= XF86_PDEV_SERVER_FD; - -- buf = drmGetBusid(fd); -- xf86_platform_odev_attributes(delayed_index)->busid = XNFstrdup(buf); -- drmFreeBusid(buf); -- - v = drmGetVersion(fd); - if (!v) { - xf86Msg(X_ERROR, "%s: failed to query DRM version\n", path); -@@ -88,7 +69,7 @@ get_drm_info(struct OdevAttributes *attr - out: - if (!server_fd) - close(fd); -- return (err == 0); -+ return TRUE; - } - - Bool -@@ -158,8 +139,11 @@ xf86PlatformDeviceProbe(struct OdevAttri - break; - } - -- 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); - diff --git a/debian/patches/series b/debian/patches/series index 66fac22..0fbbe54 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -49,7 +49,6 @@ disable-rotation-transform-gpuscreens.patch xmir.patch xmir-desktop-file-hint-flag.patch -drm_device_keep_trying.patch xi2-resize-touch.patch randr-adjust-masters-last-set-time.diff randr-do-not-check-the-screen-size.diff