From a6cde944e68b4537d75a9c4ee951b2fd721bdce8 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Fri, 1 May 2009 10:09:22 +0000 Subject: [PATCH] fixed (at least NV34) card hanging after failed boot-time kernel VESA modeswitch. Updated docs. Bumped version to 0.87. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30531 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../accelerants/nvidia/engine/nv_general.c | 2 +- .../accelerants/nvidia/engine/nv_info.c | 18 +++++++++--------- .../kernel/drivers/graphics/nvidia/README.html | 10 +++++++++- .../kernel/drivers/graphics/nvidia/UPDATE.html | 4 +++- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_general.c b/src/add-ons/accelerants/nvidia/engine/nv_general.c index 3011b90a3d..4766366066 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_general.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_general.c @@ -92,7 +92,7 @@ status_t nv_general_powerup() { status_t status; - LOG(1,("POWERUP: Haiku nVidia Accelerant 0.86 running.\n")); + LOG(1,("POWERUP: Haiku nVidia Accelerant 0.87 running.\n")); /* log VBLANK INT usability status */ if (si->ps.int_assigned) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_info.c b/src/add-ons/accelerants/nvidia/engine/nv_info.c index 17e18a6d7d..49a6c65cee 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_info.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_info.c @@ -1,7 +1,7 @@ /* Read initialisation information from card */ /* some bits are hacks, where PINS is not known */ /* Author: - Rudolf Cornelissen 7/2003-3/2006 + Rudolf Cornelissen 7/2003-5/2009 */ #define MODULE_BIT 0x00002000 @@ -2517,11 +2517,13 @@ static void detect_panels() /* determine flatpanel type(s) */ /* note: - * on NV11 accessing registerset(s) hangs card. */ - //fixme: how about NV11's with panels? - //fixme?: linux checks on (only and) all dualhead cards, and only on DAC1... -//fixme: testing... - if (/*si->ps.tmds1_active && */(si->ps.card_type != NV11)) + * - on NV11 accessing registerset(s) hangs card. + * - the same applies for NV34. + * Confirmed for DAC2 access on ID 0x0322, + * but only after a failed VESA modeswitch by the HAIKU kernel + * at boot time caused by a BIOS fault inside the gfx card: it says + * it can do VESA 1280x1024x32 on CRTC1/DAC1 but it fails: no signal. */ + if (si->ps.tmds1_active && (si->ps.card_type != NV11)) { /* Read a indexed register to see if it indicates LVDS or TMDS panel presence. * b0-7 = adress, b16 = 1 = write_enable */ @@ -2532,9 +2534,7 @@ static void detect_panels() else LOG(2,("INFO: Flatpanel on head 1 is TMDS type\n")); } -//fixme: testing... -// if (si->ps.tmds2_active && (si->ps.card_type != NV11)) - if (si->ps.secondary_head && (si->ps.card_type != NV11)) + if (si->ps.tmds2_active && (si->ps.card_type != NV11)) { /* Read a indexed register to see if it indicates LVDS or TMDS panel presence. * b0-7 = adress, b16 = 1 = write_enable */ diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/README.html b/src/add-ons/kernel/drivers/graphics/nvidia/README.html index d4fed89a13..88d6d0dd97 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/README.html +++ b/src/add-ons/kernel/drivers/graphics/nvidia/README.html @@ -243,10 +243,18 @@ Primary lets you force a certain card to be used as primary card in your system
  • Coldstarting doesn't work on TNT1 and GeForce 6xxx/7xxx cards yet.
  • Primary forces the primary card by preceding the exported name by a minus-sign (-) for the selected device. This ensures that this device will be listed at the top in the /dev/graphics/ folder, which is alphabetically ordered. Please make sure you enable the 'primary' feature on just one graphics driver, otherwise it's effect isn't 'guaranteed'. +
  • block_acc:
    +This option lets you disable the acceleration engine all together if enabled. Use this as a workaround if you encounter acceleration engine trouble. +

    Rudolf Cornelissen. -

    (Page last updated on June 10, 2008)

    +

    (Page last updated on May 1, 2009)

    diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html index d8ca340e56..372294dddd 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html +++ b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html @@ -4,7 +4,7 @@

    Changes done for each driverversion:

    -

    head (SVN 0.85, Rudolf)

    +

    head (SVN 0.87, Rudolf)