xf86-video-ati: Branch 'master'
Alex Deucher
agd5f at kemper.freedesktop.org
Wed Mar 4 08:21:38 PST 2009
src/radeon_driver.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
New commits:
commit b1fd883b59b85fed8782e035890098908902f4ce
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Wed Mar 4 11:17:16 2009 -0500
RN50: fix up cloning on servers
Since the rn50 only has one crtc, but often has multiple outputs,
occasionally one of the outputs doesn't get a crtc assigned eventhough
the outputs may have common modes. If we see an output with modes, but
no crtc, assign it so all the attached outputs light up.
fixes bugs 19457 and similar ones
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 7cac321..8a28f3f 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2964,6 +2964,24 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
goto fail;
}
+ /* fix up cloning on rn50 cards
+ * since they only have one crtc sometimes the xserver doesn't assign
+ * a crtc to one of the outputs even though both outputs have common modes
+ * which results in only one monitor being enabled. Assign a crtc here so
+ * that both outputs light up.
+ */
+ if (info->ChipFamily == CHIP_FAMILY_RV100 && !pRADEONEnt->HasCRTC2) {
+ int i;
+
+ for (i = 0; i < xf86_config->num_output; i++) {
+ xf86OutputPtr output = xf86_config->output[i];
+
+ /* XXX: double check crtc mode */
+ if ((output->probed_modes != NULL) && (output->crtc == NULL))
+ output->crtc = xf86_config->crtc[0];
+ }
+ }
+
ErrorF("after xf86InitialConfiguration\n");
RADEONSetPitch(pScrn);
More information about the xorg-commit
mailing list