xf86-video-ati: Branch 'randr-1.2' - 4 commits
Alex Deucher
agd5f at kemper.freedesktop.org
Sun May 13 16:49:16 PDT 2007
man/radeon.man | 227 ---------------------------------------------------
src/radeon.h | 14 ---
src/radeon_display.c | 100 ++--------------------
src/radeon_driver.c | 3
src/radeon_output.c | 39 ++++++--
src/radeon_probe.h | 6 -
6 files changed, 44 insertions(+), 345 deletions(-)
New commits:
diff-tree e187321ab8dd58d2b2fe92c062d070ba4820a2bf (from e60a7bcaf5611ad4706b1d1442ce4cae49145f42)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Sun May 13 19:49:10 2007 -0400
RADEON: add new ConnectorTable option and re-add PanelSize option
diff --git a/src/radeon.h b/src/radeon.h
index 7922f1a..2a2a672 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -147,6 +147,7 @@ typedef enum {
OPTION_LVDS_PROBE_PLL,
OPTION_ACCELMETHOD,
OPTION_CONSTANTDPI,
+ OPTION_CONNECTORTABLE,
OPTION_DRI
} RADEONOpts;
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 737b170..c5caf9c 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -740,11 +740,20 @@ Bool RADEONGetLVDSInfo (xf86OutputPtr ou
ScrnInfoPtr pScrn = output->scrn;
RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONOutputPrivatePtr radeon_output = output->driver_private;
+ char* s;
ErrorF("LVDS get info");
if (!RADEONGetLVDSInfoFromBIOS(output))
- RADEONGetPanelInfoFromReg(output);
+ RADEONGetPanelInfoFromReg(output);
+
+ if ((s = xf86GetOptValString(info->Options, OPTION_PANEL_SIZE))) {
+ radeon_output->PanelPwrDly = 200;
+ if (sscanf (s, "%dx%d", &radeon_output->PanelXRes, &radeon_output->PanelYRes) != 2) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid PanelSize option: %s\n", s);
+ RADEONGetPanelInfoFromReg(output);
+ }
+ }
/* The panel size we collected from BIOS may not be the
* maximum size supported by the panel. If not, we update
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 8626b89..ceea69d 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -189,6 +189,7 @@ static const OptionInfoRec RADEONOptions
{ OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE },
{ OPTION_CONSTANTDPI, "ConstantDPI", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DRI, "DRI", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_CONNECTORTABLE, "ConnectorTable", OPTV_STRING, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 18ef16d..e9e1aea 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -68,10 +68,11 @@ const RADEONMonitorType MonTypeID[7] = {
MT_STV, /* STV -> STV */
};
-const char *TMDSTypeName[3] = {
- "NONE",
+const char *TMDSTypeName[4] = {
+ "Unknown",
"Internal",
- "External"
+ "External",
+ "None"
};
const char *DDCTypeName[6] = {
@@ -83,15 +84,16 @@ const char *DDCTypeName[6] = {
"LCD_DDC"
};
-const char *DACTypeName[3] = {
+const char *DACTypeName[4] = {
"Unknown",
"Primary",
"TVDAC/ExtDAC",
+ "None"
};
const char *ConnectorTypeName[8] = {
"None",
- "Proprietary",
+ "Proprietary/LVDS",
"VGA",
"DVI-I",
"DVI-D",
@@ -473,7 +475,7 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
xf86OutputPtr output;
- const char *s;
+ char *optstr;
int i = 0, second = 0, max_mt = 5;
@@ -553,6 +555,21 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
info->BiosConnector[0].DACType = DAC_PRIMARY;
}
+ /* parse connector table option */
+ if (optstr = (char *)xf86GetOptValString(info->Options, OPTION_CONNECTORTABLE)) {
+ if (sscanf(optstr, "%d,%d,%d,%d,%d,%d,%d,%d",
+ &info->BiosConnector[0].DDCType,
+ &info->BiosConnector[0].DACType,
+ &info->BiosConnector[0].TMDSType,
+ &info->BiosConnector[0].ConnectorType,
+ &info->BiosConnector[1].DDCType,
+ &info->BiosConnector[1].DACType,
+ &info->BiosConnector[1].TMDSType,
+ &info->BiosConnector[1].ConnectorType) != 8) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid ConnectorTable option: %s\n", optstr);
+ }
+ }
+
for (i = 0 ; i < RADEON_MAX_BIOS_CONNECTOR; i++) {
RADEONOutputPrivatePtr radeon_output = xnfcalloc(sizeof(RADEONOutputPrivateRec), 1);
if (!radeon_output) {
@@ -562,7 +579,7 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
radeon_output->ConnectorType = info->BiosConnector[i].ConnectorType;
if ((info->IsAtomBios && radeon_output->ConnectorType == CONNECTOR_DVI_D_ATOM) ||
radeon_output->ConnectorType == CONNECTOR_DVI_D)
- radeon_output->DACType = DAC_UNKNOWN;
+ radeon_output->DACType = DAC_NONE;
else
radeon_output->DACType = info->BiosConnector[i].DACType;
radeon_output->DDCType = info->BiosConnector[i].DDCType;
@@ -595,8 +612,8 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
}
radeon_output->MonType = MT_UNKNOWN;
radeon_output->DDCType = DDC_LCD;
- radeon_output->DACType = DAC_UNKNOWN;
- radeon_output->TMDSType = TMDS_UNKNOWN;
+ radeon_output->DACType = DAC_NONE;
+ radeon_output->TMDSType = TMDS_NONE;
radeon_output->ConnectorType = CONNECTOR_LVDS_ATOM;
RADEONSetOutputType(pScrn, radeon_output);
output = xf86OutputCreate(pScrn, &radeon_output_funcs, OutputType[radeon_output->type]);
@@ -620,8 +637,8 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
}
radeon_output->MonType = MT_UNKNOWN;
radeon_output->DDCType = DDC_LCD;
- radeon_output->DACType = DAC_UNKNOWN;
- radeon_output->TMDSType = TMDS_UNKNOWN;
+ radeon_output->DACType = DAC_NONE;
+ radeon_output->TMDSType = TMDS_NONE;
radeon_output->ConnectorType = CONNECTOR_PROPRIETARY;
RADEONSetOutputType(pScrn, radeon_output);
output = xf86OutputCreate(pScrn, &radeon_output_funcs, OutputType[radeon_output->type]);
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index 2bb5b27..818a2dd 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -96,14 +96,16 @@ typedef enum
{
DAC_UNKNOWN = -1,
DAC_PRIMARY = 0,
- DAC_TVDAC = 1
+ DAC_TVDAC = 1,
+ DAC_NONE = 2
} RADEONDacType;
typedef enum
{
TMDS_UNKNOWN = -1,
TMDS_INT = 0,
- TMDS_EXT = 1
+ TMDS_EXT = 1,
+ TMDS_NONE = 2
} RADEONTmdsType;
typedef struct {
diff-tree e60a7bcaf5611ad4706b1d1442ce4cae49145f42 (from 51caa5dccc4a2e14d1b41bb7868ad20468dd4cfe)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Sun May 13 18:14:29 2007 -0400
RADEON: remove mergedfb, etc. cruft from man page
diff --git a/man/radeon.man b/man/radeon.man
index 447dcbe..fcb6d73 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -223,227 +223,6 @@ HIGH \-\- Force to the highest priorit
The default value is
.B AUTO.
.TP
-.BI "Option \*qMonitorLayout\*q \*q" string \*q
-.br
-This option is used to overwrite the detected monitor types.
-This is only required when driver makes a false detection.
-The possible monitor types are:
-.br
-NONE \-\- Not connected
-.br
-CRT \-\- Analog CRT monitor
-.br
-TMDS \-\- Desktop flat panel
-.br
-LVDS \-\- Laptop flat panel
-.br
-This option can be used in following format:
-.br
-Option "MonitorLayout" "[type on primary], [type on secondary]"
-.br
-For example, Option "MonitorLayout" "CRT, TMDS"
-
-Primary/Secondary head for dual\-head cards:
-.br
-(when only one port is used, it will be treated as the primary regardless)
-.br
-.B Primary head:
-.br
-DVI port on DVI+VGA cards
-.br
-LCD output on laptops
-.br
-Internal TMDS port on DVI+DVI cards
-.br
-.B Secondary head:
-.br
-VGA port on DVI+VGA cards
-.br
-VGA port on laptops
-.br
-External TMDS port on DVI+DVI cards
-
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qMergedFB\*q \*q" boolean \*q
-This enables merged framebuffer mode. In this mode you have a single
-shared framebuffer with two viewports looking into it. It is similar
-to Xinerama, but has some advantages. It is faster than Xinerama, the
-DRI works on both heads, and it supports clone modes.
-.br
-Merged framebuffer mode provides two linked viewports looking into a
-single large shared framebuffer. The size of the framebuffer is
-determined by the
-.B Virtual
-keyword defined on the
-.B Screen
-section of your __xconfigfile__ file. It works just like regular virtual
-desktop except you have two viewports looking into it instead of one.
-.br
-For example, if you wanted a desktop composed of two 1024x768 viewports
-looking into a single desktop you would create a virtual desktop of
-2048x768 (left/right) or 1024x1536 (above/below), e.g.,
-.br
-.B Virtual 2048 768
-or
-.B Virtual 1024 1536
-.br
-The virtual desktop can be larger than larger than the size of the viewports
-looking into it. In this case the linked viewports will scroll around in the
-virtual desktop. Viewports with different sizes are also supported (e.g., one
-that is 1024x768 and one that is 640x480). In this case the smaller viewport
-will scroll relative to the larger one such that none of the virtual desktop
-is inaccessible. If you do not define a virtual desktop the driver will create
-one based on the orientation of the heads and size of the largest defined mode in
-the display section that is supported on each head.
-.br
-The relation of the viewports in specified by the
-.B CRT2Position
-Option. The options are
-.B Clone
-,
-.B LeftOf
-,
-.B RightOf
-,
-.B Above
-, and
-.B Below.
-MergedFB is enabled by default if a monitor is detected on each output. If
-no position is given it defaults to clone mode (the old clone options are now
-deprecated, also, the option OverlayOnCRTC2 has been replaced by the Xv
-attribute XV_SWITCHCRT; the overlay can be switched to CRT1 or CRT2 on the fly
-in clone mode).
-.br
-The maximum framebuffer size that the 2D acceleration engine can handle is
-8192x8192. The maximum framebuffer size that the 3D engine can handle is
-2048x2048.
-.br
-.B Note:
-Page flipping does not work well in certain configurations with MergedFB. If you
-see rendering errors or other strange behavior, disable page flipping. Also MergedFB
-is not compatible with the
-.B UseFBDev
-option.
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qCRT2HSync\*q \*q" "string" \*q
-Set the horizontal sync range for the secondary monitor.
-It is not required if a DDC\-capable monitor is connected.
-.br
-For example, Option "CRT2HSync" "30.0-86.0"
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qCRT2VRefresh\*q \*q" "string" \*q
-Set the vertical refresh range for the secondary monitor.
-It is not required if a DDC\-capable monitor is connected.
-.br
-For example, Option "CRT2VRefresh" "50.0-120.0"
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qCRT2Position\*q \*q" "string" \*q
-Set the relationship of CRT2 relative to CRT1. Valid options are:
-.B Clone
-,
-.B LeftOf
-,
-.B RightOf
-,
-.B Above
-, and
-.B Below
-.
-.br
-For example, Option "CRT2Position" "RightOf"
-.br
-This option also supports an offset. This is most useful when
-.B MergedNonRectangular
-is enabled. For example if you want CRT2 to be offset 100 pixels down from
-the start of CRT1, you'd type:
-.br
-Option "CRT2Position" "LeftOf 100"
-.br
-The offset is vertical for LeftOf and RightOf and horizontal for Above and
-Below. Offsets can be positive or negative.
-.br
-The default value is
-.B Clone.
-.TP
-.BI "Option \*qMetaModes\*q \*q" "string" \*q
-MetaModes are mode combinations for CRT1 and CRT2. If you are using merged
-frame buffer mode and want to change modes (CTRL-ALT-+/-), these define which
-modes will be switched to on CRT1 and CRT2. The MetaModes are defined as
-CRT1Mode-CRT2Mode (800x600-1024x768). Modes listed individually (800x600)
-define clone modes, that way you can mix clone modes with non-clone modes.
-Also some programs require "standard" modes. If you want to add clone modes
-of different refreshes or sizes to the mix, they are defined as CRT1Mode+CRT2Mode
-(800x600+1024x768).
-.br
-Note: Any mode you use in the MetaModes must be defined in the
-.B Screen
-section of your __xconfigfile__ file. Modes not defined there will be ignored when
-the MetaModes are parsed since the driver uses them to make sure the monitors can
-handle those modes. If you do not define a MetaMode the driver will create
-one based on the orientation of the heads and size of the largest defined mode in
-the display section that is supported on each head.
-.br
-.B Modes "1024x768" "800x600" "640x480"
-.br
-For example, Option "MetaModes" "1024x768-1024x768 800x600-1024x768 640x480-800x600 800x600"
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qMergedXinerama\*q \*q" boolean \*q
-Since merged framebuffer mode does not use Xinerama, apps are not able to intelligently
-place windows. Merged framebuffer mode provides its own pseudo-Xinerama. This allows
-Xinerama compliant applications to place windows appropriately. There are some caveats.
-Since merged framebuffer mode is able to change relative screen sizes and orientations on
-the fly, as well has having overlapping viewports, pseudo-Xinerama, might not always
-provide the right hints. Also many Xinerama compliant applications only query Xinerama
-once at startup; if the information changes, they may not be aware of the change. If
-you are already using Xinerama (e.g., a single head card and a dualhead card providing
-three heads), pseudo-Xinerama will be disabled.
-.br
-This option allows you turn off the driver provided pseudo-Xinerama extension.
-.br
-The default value is
-.B TRUE.
-.TP
-.BI "Option \*qMergedXineramaCRT2IsScreen0\*q \*q" boolean \*q
-By default the pseudo-Xinerama provided by the driver makes the left-most or bottom
-head Xinerama screen 0. Certain Xinerama-aware applications do special things with
-screen 0. To change that behavior, use this option.
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qMergedDPI\*q \*q" "string" \*q
-The driver will attempt to figure out an appropriate DPI based on the DDC information
-and the orientation of the heads when in merged framebuffer mode. If this value does
-not suit you, you can manually set the DPI using this option.
-.br
-For example, Option "MergedDPI" "100 100"
-.br
-The default value is
-.B undefined.
-.TP
-.BI "Option \*qMergedNonRectangular\*q \*q" boolean \*q
-If you are using MergedFB with two modes of different sizes, turn this option on to
-keep the smaller head from scrolling within the larger virtual desktop and to keep
-the mouse from moving into that area. Applications that are not Xinerama aware can
-potentially end up stranded in this area.
-.br
-The default value is
-.B FALSE.
-.TP
.BI "Option \*qColorTiling\*q \*q" "boolean" \*q
Frame buffer can be addressed either in linear or tiled mode. Tiled mode can provide
significant performance benefits with 3D applications, for 2D it shouldn't matter
@@ -478,12 +257,6 @@ For example, Option "PanelSize" "1400x10
.br
The default value is
.B none.
-.TP
-.BI "Option \*qPanelOff\*q \*q" boolean \*q
-Disable panel output.
-.br
-The default value is
-.B off.
.TP
.BI "Option \*qEnablePageFlip\*q \*q" boolean \*q
Enable page flipping for 3D acceleration. This will increase performance
diff --git a/src/radeon.h b/src/radeon.h
index f8d9c65..7922f1a 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -117,7 +117,6 @@ typedef enum {
OPTION_ACCEL_DFS,
#endif
#endif
- OPTION_PANEL_OFF,
OPTION_DDC_MODE,
OPTION_IGNORE_EDID,
OPTION_FBDEV,
diff-tree 51caa5dccc4a2e14d1b41bb7868ad20468dd4cfe (from c5da9d4040cb08598d171d20f84d3f6c20a033e0)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Sun May 13 18:10:02 2007 -0400
RADEON: remove old mergedfb and dualhead options that are no longer used
diff --git a/src/radeon.h b/src/radeon.h
index 762376a..f8d9c65 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -119,19 +119,8 @@ typedef enum {
#endif
OPTION_PANEL_OFF,
OPTION_DDC_MODE,
- OPTION_MONITOR_LAYOUT,
OPTION_IGNORE_EDID,
OPTION_FBDEV,
- OPTION_MERGEDFB,
- OPTION_CRT2HSYNC,
- OPTION_CRT2VREFRESH,
- OPTION_CRT2POS,
- OPTION_METAMODES,
- OPTION_MERGEDDPI,
- OPTION_RADEONXINERAMA,
- OPTION_CRT2ISSCRN0,
- OPTION_MERGEDFBNONRECT,
- OPTION_MERGEDFBMOUSER,
OPTION_DISP_PRIORITY,
OPTION_PANEL_SIZE,
OPTION_MIN_DOTCLOCK,
@@ -159,7 +148,6 @@ typedef enum {
OPTION_LVDS_PROBE_PLL,
OPTION_ACCELMETHOD,
OPTION_CONSTANTDPI,
- OPTION_REVERSE_DISPLAY,
OPTION_DRI
} RADEONOpts;
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index adc635d..8626b89 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -160,7 +160,6 @@ static const OptionInfoRec RADEONOptions
#endif
#endif
{ OPTION_DDC_MODE, "DDCMode", OPTV_BOOLEAN, {0}, FALSE },
- { OPTION_MONITOR_LAYOUT, "MonitorLayout", OPTV_ANYSTR, {0}, FALSE },
{ OPTION_IGNORE_EDID, "IgnoreEDID", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_FBDEV, "UseFBDev", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DISP_PRIORITY, "DisplayPriority", OPTV_ANYSTR, {0}, FALSE },
@@ -189,7 +188,6 @@ static const OptionInfoRec RADEONOptions
{ OPTION_LVDS_PROBE_PLL, "LVDSProbePLL", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_ACCELMETHOD, "AccelMethod", OPTV_STRING, {0}, FALSE },
{ OPTION_CONSTANTDPI, "ConstantDPI", OPTV_BOOLEAN, {0}, FALSE },
- { OPTION_REVERSE_DISPLAY,"ReverseDisplay", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DRI, "DRI", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
diff-tree c5da9d4040cb08598d171d20f84d3f6c20a033e0 (from e776fa9ecc53d63f916a5447a76fb2bb3b824167)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Sun May 13 18:05:38 2007 -0400
RADEON: remove more dead code
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 8ce1912..737b170 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -1478,92 +1478,3 @@ void RADEONUnblank(ScrnInfoPtr pScrn)
}
}
-#if 0
-static void RADEONDPMSSetOn(xf86OutputPtr output)
-{
- ScrnInfoPtr pScrn = output->scrn;
- RADEONInfoPtr info = RADEONPTR(pScrn);
- unsigned char *RADEONMMIO = info->MMIO;
- RADEONMonitorType MonType;
- RADEONTmdsType TmdsType;
- RADEONDacType DacType;
- RADEONOutputPrivatePtr radeon_output = output->driver_private;
-
- MonType = radeon_output->MonType;
- TmdsType = radeon_output->TMDSType;
- DacType = radeon_output->DACType;
-
- ErrorF("radeon_dpms_on %d %d %d\n", radeon_output->num, MonType, DacType);
-
- switch(MonType) {
- case MT_LCD:
- OUTREGP (RADEON_LVDS_GEN_CNTL, RADEON_LVDS_BLON, ~RADEON_LVDS_BLON);
- usleep (radeon_output->PanelPwrDly * 1000);
- OUTREGP (RADEON_LVDS_GEN_CNTL, RADEON_LVDS_ON, ~RADEON_LVDS_ON);
- break;
- case MT_DFP:
- if (TmdsType == TMDS_EXT) {
- OUTREGP (RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_BLANK_EN);
- OUTREGP (RADEON_FP2_GEN_CNTL, RADEON_FP2_ON, ~RADEON_FP2_ON);
- if (info->ChipFamily >= CHIP_FAMILY_R200) {
- OUTREGP (RADEON_FP2_GEN_CNTL, RADEON_FP2_DVO_EN,
- ~RADEON_FP2_DVO_EN);
- }
- } else
- OUTREGP (RADEON_FP_GEN_CNTL, (RADEON_FP_FPON | RADEON_FP_TMDS_EN),
- ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN));
- break;
- case MT_CRT:
- default:
- RADEONDacPowerSet(pScrn, TRUE, (DacType == DAC_PRIMARY));
- break;
- }
-}
-
-static void RADEONDPMSSetOff(xf86OutputPtr output)
-{
- ScrnInfoPtr pScrn = output->scrn;
- RADEONInfoPtr info = RADEONPTR(pScrn);
- unsigned char *RADEONMMIO = info->MMIO;
- RADEONMonitorType MonType;
- RADEONTmdsType TmdsType;
- RADEONDacType DacType;
- unsigned long tmpPixclksCntl;
- RADEONOutputPrivatePtr radeon_output = output->driver_private;
-
- MonType = radeon_output->MonType;
- TmdsType = radeon_output->TMDSType;
- DacType = radeon_output->DACType;
-
- switch(MonType) {
- case MT_LCD:
- tmpPixclksCntl = INPLL(pScrn, RADEON_PIXCLKS_CNTL);
- if (info->IsMobility || info->IsIGP) {
- /* Asic bug, when turning off LVDS_ON, we have to make sure
- RADEON_PIXCLK_LVDS_ALWAYS_ON bit is off
- */
- OUTPLLP(pScrn, RADEON_PIXCLKS_CNTL, 0, ~RADEON_PIXCLK_LVDS_ALWAYS_ONb);
- }
- OUTREGP (RADEON_LVDS_GEN_CNTL, 0,
- ~(RADEON_LVDS_BLON | RADEON_LVDS_ON));
- if (info->IsMobility || info->IsIGP) {
- OUTPLL(pScrn, RADEON_PIXCLKS_CNTL, tmpPixclksCntl);
- }
- break;
- case MT_DFP:
- if (TmdsType == TMDS_EXT) {
- OUTREGP (RADEON_FP2_GEN_CNTL, RADEON_FP2_BLANK_EN, ~RADEON_FP2_BLANK_EN);
- OUTREGP (RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_ON);
- if (info->ChipFamily >= CHIP_FAMILY_R200) {
- OUTREGP (RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_DVO_EN);
- }
- } else
- OUTREGP (RADEON_FP_GEN_CNTL, 0, ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN));
- break;
- case MT_CRT:
- default:
- RADEONDacPowerSet(pScrn, FALSE, (DacType == DAC_PRIMARY));
- break;
- }
-}
-#endif
More information about the xorg-commit
mailing list