From 1470df68478191c2237f71a40c988c560b3dc691 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 27 Jun 2010 20:02:33 +0200 Subject: [PATCH] xf86-video-intel: add some additional patches from fedora rawhide Signed-off-by: Stephan Raue --- .../intel-2.10.0-add-mbp-backlight.diff | 12 +++++++ .../patches/intel-2.11-lvds-first.diff | 36 +++++++++++++++++++ .../patches/intel-2.11.0-vga-clock-max.diff | 16 +++++++++ .../patches/intel-2.8.0-kms-get-crtc.diff | 23 ++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff create mode 100644 packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff create 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.8.0-kms-get-crtc.diff 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 new file mode 100644 index 0000000000..ddaab89edb --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/intel-2.10.0-add-mbp-backlight.diff @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000000..3177b0bcf7 --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/intel-2.11-lvds-first.diff @@ -0,0 +1,36 @@ +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.0-vga-clock-max.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff new file mode 100644 index 0000000000..80eeb076b6 --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/intel-2.11.0-vga-clock-max.diff @@ -0,0 +1,16 @@ +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.8.0-kms-get-crtc.diff b/packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff new file mode 100644 index 0000000000..e7e8569422 --- /dev/null +++ b/packages/x11/driver/xf86-video-intel/patches/intel-2.8.0-kms-get-crtc.diff @@ -0,0 +1,23 @@ +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,