]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/commitdiff
xorg-x11-drv-intel: Update to 2.21.0.
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 5 Feb 2013 19:35:32 +0000 (20:35 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Tue, 5 Feb 2013 19:35:32 +0000 (20:35 +0100)
This is a major update to the latest stable version.
Requires xorg-x11-server-devel >= 1.13.2 to be sure to compile for the new version of the x-server.

xorg-x11-drv-intel/patches/intel-2.10.0-add-mbp-backlight.patch [deleted file]
xorg-x11-drv-intel/patches/intel-2.11-lvds-first.patch [deleted file]
xorg-x11-drv-intel/patches/intel-2.11-no-pageflipping.patch [deleted file]
xorg-x11-drv-intel/patches/intel-2.11.0-vga-clock-max.patch [deleted file]
xorg-x11-drv-intel/patches/intel-2.12-fix-uxa-planemask.patch [deleted file]
xorg-x11-drv-intel/patches/intel-2.8.0-kms-get-crtc.patch [deleted file]
xorg-x11-drv-intel/patches/kill-svideo.patch [deleted file]
xorg-x11-drv-intel/patches/uevent.patch [deleted file]
xorg-x11-drv-intel/xorg-x11-drv-intel.nm

diff --git a/xorg-x11-drv-intel/patches/intel-2.10.0-add-mbp-backlight.patch b/xorg-x11-drv-intel/patches/intel-2.10.0-add-mbp-backlight.patch
deleted file mode 100644 (file)
index ddaab89..0000000
+++ /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/xorg-x11-drv-intel/patches/intel-2.11-lvds-first.patch b/xorg-x11-drv-intel/patches/intel-2.11-lvds-first.patch
deleted file mode 100644 (file)
index 5e4a44d..0000000
+++ /dev/null
@@ -1,37 +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/xorg-x11-drv-intel/patches/intel-2.11-no-pageflipping.patch b/xorg-x11-drv-intel/patches/intel-2.11-no-pageflipping.patch
deleted file mode 100644 (file)
index 39500e2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-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/xorg-x11-drv-intel/patches/intel-2.11.0-vga-clock-max.patch b/xorg-x11-drv-intel/patches/intel-2.11.0-vga-clock-max.patch
deleted file mode 100644 (file)
index 80eeb07..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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/xorg-x11-drv-intel/patches/intel-2.12-fix-uxa-planemask.patch b/xorg-x11-drv-intel/patches/intel-2.12-fix-uxa-planemask.patch
deleted file mode 100644 (file)
index eb89433..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From feff2ec80eeeba5074d19efcddf4867adf639b4f Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@redhat.com>
-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 <airlied@redhat.com>
----
- 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/xorg-x11-drv-intel/patches/intel-2.8.0-kms-get-crtc.patch b/xorg-x11-drv-intel/patches/intel-2.8.0-kms-get-crtc.patch
deleted file mode 100644 (file)
index e7e8569..0000000
+++ /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/xorg-x11-drv-intel/patches/kill-svideo.patch b/xorg-x11-drv-intel/patches/kill-svideo.patch
deleted file mode 100644 (file)
index 607c5a7..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/drmmode_display.c b/src/drmmode_display.c
-index d50e640..d6c7cd3 100644
---- a/src/drmmode_display.c
-+++ b/src/drmmode_display.c
-@@ -412,6 +412,18 @@ drmmode_output_detect(xf86OutputPtr output)
-       drmmode_output->mode_output =
-               drmModeGetConnector(drmmode->fd, drmmode_output->output_id);
-+      switch (drmmode_output->mode_output->connector_type) {
-+      case DRM_MODE_CONNECTOR_SVIDEO:
-+              /* FIXME: KMS svideo detection is flaky an causes X to
-+               * come up in 1024x768 when it tries to pick a clone
-+               * mode that fits both the panel and the tv out.  Once
-+               * KMS learns how to detect svideo better we can
-+               * remove this. */
-+              return DRM_MODE_UNKNOWNCONNECTION;
-+      default:
-+              break;
-+      }
-+
-       switch (drmmode_output->mode_output->connection) {
-       case DRM_MODE_CONNECTED:
-               status = XF86OutputStatusConnected;
diff --git a/xorg-x11-drv-intel/patches/uevent.patch b/xorg-x11-drv-intel/patches/uevent.patch
deleted file mode 100644 (file)
index ab040fa..0000000
+++ /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 <xf86drmMode.h>
-+#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 = \
index 9c2ae1d0ff5419271a3801e79ec7e79c615c1892..21533558a54cbb054dffcfc0f20fa24f0ddeeea8 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = xorg-x11-drv-intel
-version    = 2.12.0
+version    = 2.21.0
 release    = 1
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
@@ -17,8 +17,12 @@ description
        X.Org X11 intel video driver.
 end
 
+# Specify the X Server version to build for.
+x11_server_ver = 1.13.2
+
+thisapp = xf86-video-intel-%{version}
+
 source_dl  = http://ftp.x.org/pub/individual/driver/
-sources    = xf86-video-intel-%{version}.tar.bz2
 
 build
        requires
@@ -30,16 +34,14 @@ build
                libXvMC-devel
                libxcb-devel
                libtool
-               mesa-devel
+               mesa-devel >= 9.0.2
                pkg-config
                xcb-util-devel
                xorg-x11-proto-devel
-               xorg-x11-server-devel
+               xorg-x11-server-devel >= %{x11_server_ver}
                xorg-x11-util-macros
        end
 
-       DIR_APP = %{DIR_SRC}/xf86-video-intel-%{version}
-
        CFLAGS += -Wl,-z,lazy
 
        configure_options += \
@@ -62,6 +64,10 @@ end
 
 packages
        package %{name}
+               requires
+                       dri-drivers >= 9.0.2
+                       xorg-x11-server >= %{x11_server_ver}
+               end
        end
 
        package %{name}-debuginfo