From e3e0bb558af79276697512c23687abf0daf57327 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Wed, 22 Jun 2011 21:17:56 +0000 Subject: [PATCH] finish off DACPower modes git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42285 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/radeon_hd/dac.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/add-ons/accelerants/radeon_hd/dac.cpp b/src/add-ons/accelerants/radeon_hd/dac.cpp index 68cf4d8532..b3b6300a57 100644 --- a/src/add-ons/accelerants/radeon_hd/dac.cpp +++ b/src/add-ons/accelerants/radeon_hd/dac.cpp @@ -146,7 +146,6 @@ DACPower(uint8 dacIndex, int mode) uint32 powerdown; switch (mode) { - // TODO : RHD_POWER_OFF, etc case RHD_POWER_ON: // TODO : SensedType Detection? powerdown = 0; @@ -159,5 +158,18 @@ DACPower(uint8 dacIndex, int mode) Write32Mask(OUT, dacOffset + DACA_SYNC_SELECT, 0, 0x00000101); Write32(OUT, dacOffset + DACA_SYNC_TRISTATE_CONTROL, 0); return; + case RHD_POWER_RESET: + // No action + return; + case RHD_POWER_SHUTDOWN: + default: + Write32Mask(OUT, dacOffset + DACA_FORCE_DATA, 0, 0x0000FFFF); + Write32Mask(OUT, dacOffset + DACA_FORCE_OUTPUT_CNTL, + 0x0000701, 0x0000701); + Write32(OUT, dacOffset + DACA_POWERDOWN, 0x01010100); + Write32(OUT, dacOffset + DACA_POWERDOWN, 0x01010101); + Write32(OUT, dacOffset + DACA_ENABLE, 0); + Write32(OUT, dacOffset + DACA_ENABLE, 0); + return; } }