diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-12-04 19:09:50 -0500 |
---|---|---|
committer | Matthias Hopf <mhopf@suse.de> | 2011-03-21 16:58:56 +0100 |
commit | a9305f69329ffa0ae93aed7c0107832991bbc694 (patch) | |
tree | c18f4b5b77e7ac05a13e41d1ad7dfc7efd5e5066 | |
parent | 9e5f405c2d473e059de14bd37f0edb954c48381e (diff) |
Add support for newer pplib tables
Signed-off-by: Matthias Hopf <mhopf@suse.de>
-rw-r--r-- | atombios_rev.h | 58 | ||||
-rw-r--r-- | datastructs.c | 3 |
2 files changed, 2 insertions, 59 deletions
diff --git a/atombios_rev.h b/atombios_rev.h index ed7fd22..46666d2 100644 --- a/atombios_rev.h +++ b/atombios_rev.h @@ -126,61 +126,3 @@ static inline int count_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(ATOM_VOLTAGE_OBJEC * Reverse engineered tables */ -//ucTableFormatRevision=4 -//ucTableContentRevision=1 - -#pragma count ATOM_POWERINDEX_INFO_V4 Index (((ATOM_POWERPLAY_INFO_V4*)start)->SizeOfPowerIndexEntry-1) -typedef struct _ATOM_POWERINDEX_INFO_V4 -{ - UCHAR Type; - UCHAR Index[3]; -}ATOM_POWERINDEX_INFO_V4; - -typedef struct _ATOM_POWERMODE_INFO_V4 -{ - U24 engineClock; - U24 memoryClock; - U16 voltage; - U16 unknown8; - U16 unknown10; - U16 unknown12Flags; - U16 unknown14; -}ATOM_POWERMODE_INFO_V4; - -#pragma count ATOM_POWERUNKNOWN_INFO_V4 unknown (((ATOM_POWERPLAY_INFO_V4*)start)->SizeOfPowerUnknownEntry) -typedef struct _ATOM_POWERUNKNOWN_INFO_V4 -{ - UCHAR unknown[12]; -}ATOM_POWERUNKNOWN_INFO_V4; - -#pragma count ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo (d->NumPowerIndexEntries) -#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo *(data + _U16(d->OffsetPowerIndexEntries) + i*d->SizeOfPowerIndexEntry) -#pragma count ATOM_POWERPLAY_INFO_V4 asPowerModeInfo ((_U16(d->OffsetPowerUnknownEntries) - _U16(d->OffsetPowerModeEntries)) / d->SizeOfPowerModeEntry) -#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerModeInfo *(data + _U16(d->OffsetPowerModeEntries) + i*d->SizeOfPowerModeEntry) -#pragma count ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry) -#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo *(data + _U16(d->OffsetPowerUnknownEntries) + i*d->SizeOfPowerUnknownEntry) -#pragma return ATOM_POWERPLAY_INFO_V4 - (d ? (_U16(d->OffsetPowerUnknownEntries) + ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)*d->SizeOfPowerUnknownEntry) : 0) - -typedef struct _ATOM_POWERPLAY_INFO_V4 -{ - ATOM_COMMON_TABLE_HEADER sHeader; - UCHAR unknown4; - UCHAR NumPowerIndexEntries; - UCHAR SizeOfPowerIndexEntry; - UCHAR SizeOfPowerModeEntry; - UCHAR SizeOfPowerUnknownEntry; - U16 OffsetPowerIndexEntries; - U16 OffsetPowerModeEntries; - U16 OffsetPowerUnknownEntries; - U16 unknown15[3]; - U16 unknownFlags; - U16 unknown23[5]; - U16 OffsetPowerModeEntries2; - U16 OffsetPowerUnknownEntries2; - UCHAR unknown37[3]; // RV770 only - ATOM_POWERINDEX_INFO_V4 asPowerIndexInfo[4]; - ATOM_POWERMODE_INFO_V4 asPowerModeInfo[10]; - ATOM_POWERUNKNOWN_INFO_V4 asPowerUnknownInfo[4]; -}ATOM_POWERPLAY_INFO_V4; - - diff --git a/datastructs.c b/datastructs.c index 6b13082..55644a6 100644 --- a/datastructs.c +++ b/datastructs.c @@ -61,7 +61,8 @@ data_dumper_struct_t data_dumpers[] = { { 15, 1, 0, ATOM_POWERPLAY_INFO_dumper, NULL }, { 15, 2, 1, ATOM_POWERPLAY_INFO_V2_dumper, NULL }, { 15, 2, 2, ATOM_POWERPLAY_INFO_V3_dumper, NULL }, - { 15, 4, 1, ATOM_POWERPLAY_INFO_V4_dumper, NULL }, + { 15, 4, 1, ATOM_PPLIB_POWERPLAYTABLE_dumper, NULL }, + { 15, 5, 1, ATOM_PPLIB_POWERPLAYTABLE_dumper, NULL }, { 16, 0, 0, COMPASSIONATE_DATA_dumper, NULL }, { 17, 0, 0, NULL /*ATOM_SAVE_RESTORE_INFO_dumper*/, NULL }, { 18, 0, 0, NULL /*ATOM_PPLL_SS_INFO_dumper*/, NULL }, |