important testrelease with panel DPMS programming disabled
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7346 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -266,10 +266,6 @@ status_t nv_crtc_set_timing(display_mode target)
|
|||||||
{
|
{
|
||||||
uint32 iscale_x, iscale_y;
|
uint32 iscale_x, iscale_y;
|
||||||
|
|
||||||
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
|
|
||||||
//fixme: remove once DPMS confirmed OK!
|
|
||||||
// DACW(FP_DEBUG0, (DACR(FP_DEBUG0) & 0xcfffffff));
|
|
||||||
|
|
||||||
/* calculate inverse scaling factors used by hardware in 20.12 format */
|
/* calculate inverse scaling factors used by hardware in 20.12 format */
|
||||||
iscale_x = (((1 << 12) * target.timing.h_display) / si->ps.panel1_width);
|
iscale_x = (((1 << 12) * target.timing.h_display) / si->ps.panel1_width);
|
||||||
iscale_y = (((1 << 12) * target.timing.v_display) / si->ps.panel1_height);
|
iscale_y = (((1 << 12) * target.timing.v_display) / si->ps.panel1_height);
|
||||||
@@ -443,7 +439,8 @@ status_t nv_crtc_dpms(bool display, bool h, bool v)
|
|||||||
/* end synchronous reset if display should be enabled */
|
/* end synchronous reset if display should be enabled */
|
||||||
SEQW(RESET, 0x03);
|
SEQW(RESET, 0x03);
|
||||||
|
|
||||||
if (si->ps.tmds1_active)
|
//'safe mode' test! feedback needed with this 'setting'!
|
||||||
|
if (0)//si->ps.tmds1_active)
|
||||||
{
|
{
|
||||||
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
|
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
|
||||||
* internal transmitters... */
|
* internal transmitters... */
|
||||||
@@ -463,7 +460,8 @@ status_t nv_crtc_dpms(bool display, bool h, bool v)
|
|||||||
{
|
{
|
||||||
SEQW(CLKMODE, (temp | 0x20));
|
SEQW(CLKMODE, (temp | 0x20));
|
||||||
|
|
||||||
if (si->ps.tmds1_active)
|
//'safe mode' test! feedback needed with this 'setting'!
|
||||||
|
if (0)//si->ps.tmds1_active)
|
||||||
{
|
{
|
||||||
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
|
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
|
||||||
* internal transmitters... */
|
* internal transmitters... */
|
||||||
|
|||||||
@@ -249,10 +249,6 @@ status_t nv_crtc2_set_timing(display_mode target)
|
|||||||
{
|
{
|
||||||
uint32 iscale_x, iscale_y;
|
uint32 iscale_x, iscale_y;
|
||||||
|
|
||||||
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink) transmitters */
|
|
||||||
//fixme: remove once DPMS confirmed OK!
|
|
||||||
// DAC2W(FP_DEBUG0, (DAC2R(FP_DEBUG0) & 0xcfffffff));
|
|
||||||
|
|
||||||
/* calculate inverse scaling factors used by hardware in 20.12 format */
|
/* calculate inverse scaling factors used by hardware in 20.12 format */
|
||||||
iscale_x = (((1 << 12) * target.timing.h_display) / si->ps.panel2_width);
|
iscale_x = (((1 << 12) * target.timing.h_display) / si->ps.panel2_width);
|
||||||
iscale_y = (((1 << 12) * target.timing.v_display) / si->ps.panel2_height);
|
iscale_y = (((1 << 12) * target.timing.v_display) / si->ps.panel2_height);
|
||||||
@@ -426,7 +422,8 @@ status_t nv_crtc2_dpms(bool display, bool h, bool v)
|
|||||||
/* end synchronous reset if display should be enabled */
|
/* end synchronous reset if display should be enabled */
|
||||||
SEQW(RESET, 0x03);
|
SEQW(RESET, 0x03);
|
||||||
|
|
||||||
if (si->ps.tmds2_active)
|
//'safe mode' test! feedback needed with this 'setting'!
|
||||||
|
if (0)//si->ps.tmds2_active)
|
||||||
{
|
{
|
||||||
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
|
/* powerup both LVDS (laptop panellink) and TMDS (DVI panellink)
|
||||||
* internal transmitters... */
|
* internal transmitters... */
|
||||||
@@ -446,7 +443,8 @@ status_t nv_crtc2_dpms(bool display, bool h, bool v)
|
|||||||
{
|
{
|
||||||
SEQW(CLKMODE, (temp | 0x20));
|
SEQW(CLKMODE, (temp | 0x20));
|
||||||
|
|
||||||
if (si->ps.tmds2_active)
|
//'safe mode' test! feedback needed with this 'setting'!
|
||||||
|
if (0)//si->ps.tmds2_active)
|
||||||
{
|
{
|
||||||
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
|
/* powerdown both LVDS (laptop panellink) and TMDS (DVI panellink)
|
||||||
* internal transmitters... */
|
* internal transmitters... */
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ static status_t nv4_nv10_nv20_dac_pix_pll_find(
|
|||||||
static status_t g100_g400max_dac_sys_pll_find(
|
static status_t g100_g400max_dac_sys_pll_find(
|
||||||
float req_sclk,float * calc_sclk,uint8 * m_result,uint8 * n_result,uint8 * p_result);
|
float req_sclk,float * calc_sclk,uint8 * m_result,uint8 * n_result,uint8 * p_result);
|
||||||
|
|
||||||
/* see if an analog VGA monitor is connected to DAC */
|
/* see if an analog VGA monitor is connected to connector #1 */
|
||||||
bool nv_dac_crt_connected(void)
|
bool nv_dac_crt_connected(void)
|
||||||
{
|
{
|
||||||
uint32 output, dac;
|
uint32 output, dac;
|
||||||
@@ -43,12 +43,12 @@ bool nv_dac_crt_connected(void)
|
|||||||
if (DACR(TSTCTRL) & 0x10000000)
|
if (DACR(TSTCTRL) & 0x10000000)
|
||||||
{
|
{
|
||||||
present = true;
|
present = true;
|
||||||
LOG(4,("DAC: CRT detected\n"));
|
LOG(4,("DAC: CRT detected on connector #1\n"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
present = false;
|
present = false;
|
||||||
LOG(4,("DAC: no CRT detected\n"));
|
LOG(4,("DAC: no CRT detected on connector #1\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* kill test signal routing */
|
/* kill test signal routing */
|
||||||
|
|||||||
@@ -10,14 +10,16 @@
|
|||||||
static status_t nv10_nv20_dac2_pix_pll_find(
|
static status_t nv10_nv20_dac2_pix_pll_find(
|
||||||
display_mode target,float * calc_pclk,uint8 * m_result,uint8 * n_result,uint8 * p_result, uint8 test);
|
display_mode target,float * calc_pclk,uint8 * m_result,uint8 * n_result,uint8 * p_result, uint8 test);
|
||||||
|
|
||||||
/* see if an analog VGA monitor is connected to DAC */
|
/* see if an analog VGA monitor is connected to connector #2 */
|
||||||
bool nv_dac2_crt_connected()
|
bool nv_dac2_crt_connected()
|
||||||
{
|
{
|
||||||
uint32 output, dac;
|
uint32 output, dac;
|
||||||
bool present;
|
bool present;
|
||||||
|
|
||||||
/* NOTE:
|
/* NOTE:
|
||||||
* NV11 can't do this: It will report DAC1 status instead. */
|
* NV11 can't do this: It will report DAC1 status instead because it HAS no
|
||||||
|
* actual secondary DAC function. */
|
||||||
|
/* (It DOES have a secondary palette RAM and pixelclock PLL though.) */
|
||||||
|
|
||||||
/* save output connector setting */
|
/* save output connector setting */
|
||||||
output = DAC2R(OUTPUT);
|
output = DAC2R(OUTPUT);
|
||||||
@@ -46,12 +48,12 @@ bool nv_dac2_crt_connected()
|
|||||||
if (DAC2R(TSTCTRL) & 0x10000000)
|
if (DAC2R(TSTCTRL) & 0x10000000)
|
||||||
{
|
{
|
||||||
present = true;
|
present = true;
|
||||||
LOG(4,("DAC2: CRT detected\n"));
|
LOG(4,("DAC2: CRT detected on connector #2\n"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
present = false;
|
present = false;
|
||||||
LOG(4,("DAC2: no CRT detected\n"));
|
LOG(4,("DAC2: no CRT detected on connector #2\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* kill test signal routing
|
/* kill test signal routing
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ status_t nv_general_powerup()
|
|||||||
{
|
{
|
||||||
status_t status;
|
status_t status;
|
||||||
|
|
||||||
LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.10-16 running.\n"));
|
LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.10-17 running.\n"));
|
||||||
|
|
||||||
/* preset no laptop */
|
/* preset no laptop */
|
||||||
si->ps.laptop = false;
|
si->ps.laptop = false;
|
||||||
@@ -1028,8 +1028,8 @@ static status_t nv_general_bios_to_powergraphics()
|
|||||||
if (si->ps.secondary_head)
|
if (si->ps.secondary_head)
|
||||||
{
|
{
|
||||||
/* switch overlay engine to CRTC1 */
|
/* switch overlay engine to CRTC1 */
|
||||||
/* bit 17: GPU FP port #2 (confirmed NV25, NV28, confirmed not on NV34),
|
/* bit 17: GPU FP port #1 (confirmed NV25, NV28, confirmed not on NV34),
|
||||||
* bit 16: GPU FP port #1 (confirmed NV25, NV28, confirmed not on NV34),
|
* bit 16: GPU FP port #2 (confirmed NV25, NV28, NV34),
|
||||||
* bit 12: overlay engine (all cards),
|
* bit 12: overlay engine (all cards),
|
||||||
* bit 9: TVout chip #2 (confirmed on NV18, NV25, NV28),
|
* bit 9: TVout chip #2 (confirmed on NV18, NV25, NV28),
|
||||||
* bit 8: TVout chip #1 (all cards),
|
* bit 8: TVout chip #1 (all cards),
|
||||||
|
|||||||
Reference in New Issue
Block a user