xf86-video-intel: add some additional patches from fedora rawhide

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-06-27 20:02:33 +02:00
parent dd650e6dac
commit 1470df6847
4 changed files with 87 additions and 0 deletions

View File

@ -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",

View File

@ -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);

View File

@ -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;
}

View File

@ -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,