xf86-video-ati: Branch 'master' - 2 commits
Dave Airlie
airlied at kemper.freedesktop.org
Wed Nov 25 21:30:18 PST 2009
src/radeon_atombios.c | 9 +++++++--
src/radeon_output.c | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
New commits:
commit 381b14d5422131ea8ff942ab06a328f6beca0d3f
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Nov 26 15:28:15 2009 +1000
atombios: CV mode retrival was broken.
a) crev and frev are reversed
b) my rv730 bios only has one mode in it, so
bounds check the table size.
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index f3c88bc..74606b3 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -901,6 +901,7 @@ rhdAtomCVGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
DisplayModePtr new = NULL;
DisplayModePtr first = NULL;
int i;
+ uint16_t size;
data->modes = NULL;
@@ -908,12 +909,11 @@ rhdAtomCVGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
if (!rhdAtomGetTableRevisionAndSize(
(ATOM_COMMON_TABLE_HEADER *)(atomDataPtr->ComponentVideoInfo.base),
- &frev,&crev,NULL)) {
+ &crev,&frev,&size)) {
return ATOM_FAILED;
}
switch (frev) {
-
case 1:
switch (func) {
case ATOMBIOS_GET_CV_MODES:
@@ -947,6 +947,11 @@ rhdAtomCVGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
switch (func) {
case ATOMBIOS_GET_CV_MODES:
for (i = 0; i < MAX_SUPPORTED_CV_STANDARDS; i++) {
+ /* my rv730 table has only room for one mode */
+ if ((void *)&atomDataPtr->ComponentVideoInfo.ComponentVideoInfo_v21->aModeTimings[i] -
+ atomDataPtr->ComponentVideoInfo.base > size)
+ break;
+
new = rhdAtomDTDTimings(handle,
&atomDataPtr->ComponentVideoInfo
.ComponentVideoInfo_v21->aModeTimings[i]);
commit a67a13c315a9235be052662e2a3270686cccc0f0
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Nov 26 13:41:36 2009 +1000
radeon: fix typo in unused as of yet CV code
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 24e07db..a2733a7 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -154,7 +154,7 @@ void RADEONPrintPortMap(ScrnInfoPtr pScrn)
if (radeon_output->devices & ATOM_DEVICE_TV1_SUPPORT)
ErrorF(" TV1: %s\n", encoder_name[info->encoders[ATOM_DEVICE_TV1_INDEX]->encoder_id]);
if (radeon_output->devices & ATOM_DEVICE_CV_SUPPORT)
- ErrorF(" CV: %s\n", encoder_name[info->encoders[ATOM_DEVICE_CRT1_INDEX]->encoder_id]);
+ ErrorF(" CV: %s\n", encoder_name[info->encoders[ATOM_DEVICE_CV_INDEX]->encoder_id]);
ErrorF(" DDC reg: 0x%x\n",(unsigned int)radeon_output->ddc_i2c.mask_clk_reg);
}
More information about the xorg-commit
mailing list