summaryrefslogtreecommitdiff
path: root/src/radeon_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-10-18 16:21:36 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-10-18 16:21:36 -0400
commitbd89b7501f294ac645390ef144df569953c81dc4 (patch)
tree3e8b468c68711ec811dba218b36a216efec89277 /src/radeon_output.c
parent255ac8d54e3dc12e579e05edb41b40946a00eab8 (diff)
radeon: fixup CustomEDID option
- add support for analog option to force edid to analog mode - fix compilation on older xservers - updated man page
Diffstat (limited to 'src/radeon_output.c')
-rw-r--r--src/radeon_output.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 04290881..a2523637 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -260,26 +260,20 @@ RADEONGetHardCodedEDIDFromFile(xf86OutputPtr output)
"Successfully read Custom EDID data for output %s from %s.\n",
name, outputEDID);
if (command != NULL) {
- if (!strcmp(command, "digital")) {
- struct edid_version *v = &radeon_output->custom_mon->ver;
- struct disp_features *r = &radeon_output->custom_mon->features;
- r->input_type = 1;
- if (v->revision == 2 || v->revision == 3) {
- // Nothing to do
- } else if (v->revision >= 4) {
- r->input_interface = 1; // Using DVI by default
- r->input_bpc = 2; // 8 bits per channes by default
+ if (!strcmp(command, "digital")) {
+ radeon_output->custom_mon->rawData[0x14] |= 0x80;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Forcing digital output for output %s.\n", name);
+ } else if (!strcmp(command, "analog")) {
+ radeon_output->custom_mon->rawData[0x14] &= ~0x80;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Forcing analog output for output %s.\n", name);
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Unknown custom EDID command: '%s'.\n",
+ command);
}
- radeon_output->custom_mon->rawData[0x14] |= 0x80;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Forcing digital output for output %s.\n", name);
- } else {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Unknown custom EDID command: '%s'.\n",
- command);
- }
}
-
} else {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Custom EDID data for %s read from %s was invalid.\n",