added MAVEN DPMS programming for singlehead cards with that chip. Bumped version to 0.30 BTW, TVout still not working correctly though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17386 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -75,7 +75,15 @@ status_t SET_DISPLAY_MODE(display_mode *mode_to_set)
|
||||
|
||||
/* then turn off screen(s) */
|
||||
gx00_crtc_dpms(false, false, false);
|
||||
if (si->ps.secondary_head) g400_crtc2_dpms(false, false, false);
|
||||
if (si->ps.secondary_head)
|
||||
{
|
||||
g400_crtc2_dpms(false, false, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->ps.tvout) gx00_maven_dpms(false, false, false);
|
||||
}
|
||||
|
||||
/*where in framebuffer the screen is (should this be dependant on previous MOVEDISPLAY?)*/
|
||||
startadd = (uint8*)si->fbc.frame_buffer - (uint8*)si->framebuffer;
|
||||
@@ -636,10 +644,12 @@ status_t SET_DPMS_MODE(uint32 dpms_flags)
|
||||
}
|
||||
else /* singlehead */
|
||||
{
|
||||
switch(dpms_flags)
|
||||
switch(dpms_flags)
|
||||
{
|
||||
case B_DPMS_ON: /* H: on, V: on */
|
||||
gx00_crtc_dpms(true, true, true);
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->dm.flags & TV_BITS) gx00_maven_dpms(true, true, true);
|
||||
break;
|
||||
case B_DPMS_STAND_BY:
|
||||
if (si->settings.greensync)
|
||||
@@ -651,6 +661,8 @@ status_t SET_DPMS_MODE(uint32 dpms_flags)
|
||||
{
|
||||
gx00_crtc_dpms(false, false, true);
|
||||
}
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->dm.flags & TV_BITS) gx00_maven_dpms(false, false, true);
|
||||
break;
|
||||
case B_DPMS_SUSPEND:
|
||||
if (si->settings.greensync)
|
||||
@@ -662,6 +674,8 @@ status_t SET_DPMS_MODE(uint32 dpms_flags)
|
||||
{
|
||||
gx00_crtc_dpms(false, true, false);
|
||||
}
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->dm.flags & TV_BITS) gx00_maven_dpms(false, true, false);
|
||||
break;
|
||||
case B_DPMS_OFF: /* H: off, V: off, display off */
|
||||
if (si->settings.greensync)
|
||||
@@ -673,6 +687,8 @@ status_t SET_DPMS_MODE(uint32 dpms_flags)
|
||||
{
|
||||
gx00_crtc_dpms(false, false, false);
|
||||
}
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->dm.flags & TV_BITS) gx00_maven_dpms(false, false, false);
|
||||
break;
|
||||
default:
|
||||
LOG(8,("SET: Invalid DPMS settings (SH) 0x%08x\n", dpms_flags));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Authors:
|
||||
Mark Watson 12/1999,
|
||||
Apsed,
|
||||
Rudolf Cornelissen 10/2002-1/2006
|
||||
Rudolf Cornelissen 10/2002-5/2006
|
||||
*/
|
||||
|
||||
#define MODULE_BIT 0x00008000
|
||||
@@ -311,6 +311,8 @@ status_t g100_general_powerup()
|
||||
LOG(2,("INIT: PLL/LUT/DAC powerup\n"));
|
||||
/* turn off both displays and the hardcursor (also disables transfers) */
|
||||
gx00_crtc_dpms(false, false, false);
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->ps.tvout) gx00_maven_dpms(false, false, false);
|
||||
gx00_crtc_cursor_hide();
|
||||
/* G100 SGRAM and SDRAM use external pix and dac refs, do *not* activate internals!
|
||||
* (this would create electrical shortcuts,
|
||||
@@ -411,6 +413,8 @@ status_t g200_general_powerup()
|
||||
LOG(2,("INIT: PLL/LUT/DAC powerup\n"));
|
||||
/* turn off both displays and the hardcursor (also disables transfers) */
|
||||
gx00_crtc_dpms(false, false, false);
|
||||
/* on singlehead cards with TVout program the MAVEN as well */
|
||||
if (si->ps.tvout) gx00_maven_dpms(false, false, false);
|
||||
gx00_crtc_cursor_hide();
|
||||
/* G200 SGRAM and SDRAM use external pix and dac refs, do *not* activate internals!
|
||||
* (this would create electrical shortcuts,
|
||||
|
||||
Reference in New Issue
Block a user