added DPMS for panels interfaced to with external TMDS transmitters

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7315 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen
2004-04-26 13:57:51 +00:00
parent 64c14e7e31
commit b4f28c2631
2 changed files with 32 additions and 8 deletions
@@ -443,8 +443,14 @@ status_t nv_crtc_dpms(bool display, bool h, bool v)
/* end synchronous reset if display should be enabled */
SEQW(RESET, 0x03);
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
if (si->ps.tmds1_active) DACW(FP_DEBUG0, (DACR(FP_DEBUG0) & 0xcfffffff));
if (si->ps.tmds1_active)
{
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
* internal transmitters... */
DACW(FP_DEBUG0, (DACR(FP_DEBUG0) & 0xcfffffff));
/* ... and powerup external TMDS transmitter if it exists */
CRTCW(LCD, (CRTCR(LCD) | 0x10));
}
LOG(4,("display on, "));
}
@@ -452,8 +458,14 @@ status_t nv_crtc_dpms(bool display, bool h, bool v)
{
SEQW(CLKMODE, (temp | 0x20));
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
if (si->ps.tmds1_active) DACW(FP_DEBUG0, (DACR(FP_DEBUG0) | 0x30000000));
if (si->ps.tmds1_active)
{
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
* internal transmitters... */
DACW(FP_DEBUG0, (DACR(FP_DEBUG0) | 0x30000000));
/* ... and powerdown external TMDS transmitter if it exists */
CRTCW(LCD, (CRTCR(LCD) & 0xef));
}
LOG(4,("display off, "));
}
@@ -426,8 +426,14 @@ status_t nv_crtc2_dpms(bool display, bool h, bool v)
/* end synchronous reset if display should be enabled */
SEQW(RESET, 0x03);
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
if (si->ps.tmds2_active) DAC2W(FP_DEBUG0, (DAC2R(FP_DEBUG0) & 0xcfffffff));
if (si->ps.tmds2_active)
{
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
* internal transmitters... */
DAC2W(FP_DEBUG0, (DAC2R(FP_DEBUG0) & 0xcfffffff));
/* ... and powerup external TMDS transmitter if it exists */
CRTC2W(LCD, (CRTC2R(LCD) | 0x10));
}
LOG(4,("display on, "));
}
@@ -435,8 +441,14 @@ status_t nv_crtc2_dpms(bool display, bool h, bool v)
{
SEQW(CLKMODE, (temp | 0x20));
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
if (si->ps.tmds2_active) DAC2W(FP_DEBUG0, (DAC2R(FP_DEBUG0) | 0x30000000));
if (si->ps.tmds2_active)
{
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
* internal transmitters... */
DAC2W(FP_DEBUG0, (DAC2R(FP_DEBUG0) | 0x30000000));
/* ... and powerdown external TMDS transmitter if it exists */
CRTC2W(LCD, (CRTC2R(LCD) & 0xef));
}
LOG(4,("display off, "));
}