From fc31f5ba9cd1dd54f26aaf7ef25001b9ed86515f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 13 Aug 2010 00:28:09 +0200 Subject: [PATCH] xf86-video-intel: update to xf86-video-intel-201008122 Signed-off-by: Stephan Raue --- packages/x11/driver/xf86-video-intel/meta | 4 +- .../intel-2.10.0-add-mbp-backlight.diff | 12 -- .../patches/intel-2.11-lvds-first.diff | 36 ----- .../patches/intel-2.11-no-pageflipping.diff | 33 ---- .../patches/intel-2.11.0-vga-clock-max.diff | 16 -- .../patches/intel-2.13-no-pageflipping.diff | 32 ++++ .../patches/intel-2.8.0-kms-get-crtc.diff | 23 --- .../xf86-video-intel/patches/uevent.diff | 146 ------------------ 8 files changed, 34 insertions(+), 268 deletions(-) delete mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff delete mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff delete mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.11-no-pageflipping.diff delete mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff create mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.13-no-pageflipping.diff delete mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff delete mode 100644 packages/x11/driver/xf86-video-intel/patches/uevent.diff diff --git a/packages/x11/driver/xf86-video-intel/meta b/packages/x11/driver/xf86-video-intel/meta index 1b08c7c3ff..8a7f954006 100644 --- a/packages/x11/driver/xf86-video-intel/meta +++ b/packages/x11/driver/xf86-video-intel/meta @@ -1,10 +1,10 @@ PKG_NAME="xf86-video-intel" -PKG_VERSION="2.12.0" +PKG_VERSION="20100812" PKG_REV="1" PKG_ARCH="i386 x86_64" PKG_LICENSE="OSS" PKG_SITE="http://intellinuxgraphics.org/" -PKG_URL="http://xorg.freedesktop.org/archive/individual/driver/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="http://sources.openelec.tv/svn/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="udev" PKG_BUILD_DEPENDS="toolchain util-macros fontsproto udev xorg-server" PKG_PRIORITY="optional" diff --git a/packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff deleted file mode 100644 index ddaab89edb..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff +++ /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/packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff deleted file mode 100644 index 3177b0bcf7..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff +++ /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/packages/x11/driver/xf86-video-intel/patches/intel-2.11-no-pageflipping.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.11-no-pageflipping.diff deleted file mode 100644 index 39500e2e53..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/intel-2.11-no-pageflipping.diff +++ /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/packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff deleted file mode 100644 index 80eeb076b6..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff +++ /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/packages/x11/driver/xf86-video-intel/patches/intel-2.13-no-pageflipping.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.13-no-pageflipping.diff new file mode 100644 index 0000000000..88684bddee --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/intel-2.13-no-pageflipping.diff @@ -0,0 +1,32 @@ +diff -Naur xf86-video-intel-20100812/src/intel_display.c xf86-video-intel-20100812.patch/src/intel_display.c +--- xf86-video-intel-20100812/src/intel_display.c 2010-08-09 11:13:58.000000000 +0200 ++++ xf86-video-intel-20100812.patch/src/intel_display.c 2010-08-12 23:30:18.091210425 +0200 +@@ -1511,10 +1511,14 @@ + 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; + mode->flip_count = 0; + mode->event_context.version = DRM_EVENT_CONTEXT_VERSION; + mode->event_context.vblank_handler = intel_vblank_handler; +diff -Naur xf86-video-intel-20100812/src/intel_dri.c xf86-video-intel-20100812.patch/src/intel_dri.c +--- xf86-video-intel-20100812/src/intel_dri.c 2010-08-09 11:13:58.000000000 +0200 ++++ xf86-video-intel-20100812.patch/src/intel_dri.c 2010-08-12 23:31:53.708336093 +0200 +@@ -1056,7 +1056,7 @@ + + 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/packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff deleted file mode 100644 index e7e8569422..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff +++ /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/packages/x11/driver/xf86-video-intel/patches/uevent.diff b/packages/x11/driver/xf86-video-intel/patches/uevent.diff deleted file mode 100644 index ab040fab9b..0000000000 --- a/packages/x11/driver/xf86-video-intel/patches/uevent.diff +++ /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 = \