openBeOS_Nvidia_V0.03_src

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5501 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
shatty
2003-12-01 04:18:57 +00:00
parent 96c972f9c7
commit 14bb8d48d8
6 changed files with 31 additions and 25 deletions
@@ -123,6 +123,7 @@
#define NV8_INSTAT1 0x006013da #define NV8_INSTAT1 0x006013da
#define NV32_NV10FBSTADD32 0x00600800 #define NV32_NV10FBSTADD32 0x00600800
#define NV32_CONFIG 0x00600804//not yet used (coldstart)... #define NV32_CONFIG 0x00600804//not yet used (coldstart)...
#define NV32_RASTER 0x00600808
#define NV32_NV10CURADD32 0x0060080c #define NV32_NV10CURADD32 0x0060080c
#define NV32_CURCONF 0x00600810 #define NV32_CURCONF 0x00600810
@@ -135,6 +136,7 @@
#define NV8_CRTC2DAT 0x006033d5 #define NV8_CRTC2DAT 0x006033d5
#define NV8_2INSTAT1 0x006033da//verify!!! #define NV8_2INSTAT1 0x006033da//verify!!!
#define NV32_NV10FB2STADD32 0x00602800//verify!!! #define NV32_NV10FB2STADD32 0x00602800//verify!!!
#define NV32_RASTER2 0x00602808//verify!!!
#define NV32_NV10CUR2ADD32 0x0060280c//verify!!! #define NV32_NV10CUR2ADD32 0x0060280c//verify!!!
#define NV32_2CURCONF 0x00602810//verify!!! #define NV32_2CURCONF 0x00602810//verify!!!
+3 -1
View File
@@ -130,5 +130,7 @@ status_t GET_PIXEL_CLOCK_LIMITS(display_mode *dm, uint32 *low, uint32 *high)
/* Return the semaphore id that will be used to signal a vertical sync occured. */ /* Return the semaphore id that will be used to signal a vertical sync occured. */
sem_id ACCELERANT_RETRACE_SEMAPHORE(void) sem_id ACCELERANT_RETRACE_SEMAPHORE(void)
{ {
return si->vblank; // return si->vblank;
//temp:
return B_ERROR;
} }
@@ -33,11 +33,11 @@ static uint8 depth;
status_t nv_acc_wait_idle() status_t nv_acc_wait_idle()
{ {
volatile int i; // volatile int i;
while (ACCR(STATUS)&(1<<16)) // while (ACCR(STATUS)&(1<<16))
{ // {
for (i=0;i<10000;i++); /*spin in place so I do not hammer the bus*/ // for (i=0;i<10000;i++); /*spin in place so I do not hammer the bus*/
}; // };
return B_OK; return B_OK;
} }
+12 -10
View File
@@ -415,9 +415,9 @@ status_t nv_crtc_cursor_init()
const uint32 curadd = 0; const uint32 curadd = 0;
/* set cursor bitmap adress ... */ /* set cursor bitmap adress ... */
if (si->ps.card_arch == NV04A) if ((si->ps.card_arch == NV04A) || (si->ps.laptop))
{ {
/* must be used this way on pre-NV10! */ /* must be used this way on pre-NV10 and on all 'Go' cards! */
/* cursorbitmap must start on 2Kbyte boundary: */ /* cursorbitmap must start on 2Kbyte boundary: */
/* set adress bit11-16, and set 'no doublescan' (registerbit 1 = 0) */ /* set adress bit11-16, and set 'no doublescan' (registerbit 1 = 0) */
@@ -429,9 +429,10 @@ status_t nv_crtc_cursor_init()
} }
else else
{ {
/* upto 4Gb RAM adressing: must be used on NV10 and later! */ /* upto 4Gb RAM adressing:
* can be used on NV10 and later (except for 'Go' cards)! */
/* NOTE: /* NOTE:
* This register does not exist on pre-NV10 cards. */ * This register does not exist on pre-NV10 and 'Go' cards. */
/* cursorbitmap must still start on 2Kbyte boundary: */ /* cursorbitmap must still start on 2Kbyte boundary: */
NV_REG32(NV32_NV10CURADD32) = (curadd & 0xfffff800); NV_REG32(NV32_NV10CURADD32) = (curadd & 0xfffff800);
@@ -528,14 +529,15 @@ status_t nv_crtc_cursor_define(uint8* andMask,uint8* xorMask)
/*position the cursor*/ /*position the cursor*/
status_t nv_crtc_cursor_position(uint16 x ,uint16 y) status_t nv_crtc_cursor_position(uint16 x ,uint16 y)
{ {
/* make sure we are not in retrace, because the register(s) might get copied /* make sure we are in retrace on pre-NV10 cards to prevent distortions:
* during our reprogramming them (double buffering feature) */ * no double buffering feature */
//fixme if needed... if (si->ps.card_arch == NV04A)
/* while (ACCR(STATUS) & 0x08)
{ {
snooze(4); while (!(NV_REG32(NV32_RASTER) & 0x00010000))
{
snooze(4);
}
} }
*/
DACW(CURPOS, ((x & 0x0fff) | ((y & 0x0fff) << 16))); DACW(CURPOS, ((x & 0x0fff) | ((y & 0x0fff) << 16)));
@@ -81,7 +81,7 @@ status_t nv_general_powerup()
{ {
status_t status; status_t status;
LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.02 running.\n")); LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.03 running.\n"));
/* preset no laptop */ /* preset no laptop */
si->ps.laptop = false; si->ps.laptop = false;
@@ -1,22 +1,22 @@
# Settings file for the mga driver and accelerant # Settings file for the nv driver and accelerant
# #
# This file should be moved to the directory # This file should be moved to the directory
# ~/config/settings/kernel/drivers/ # ~/config/settings/kernel/drivers/
# #
# mga.driver parameters # nv.driver parameters
# accelerant "mga.accelerant" # accelerant "nv.accelerant"
# mga.accelerant parameters # nv.accelerant parameters
usebios false # if true rely on bios to coldstart the card instead of driver usebios false # if true rely on bios to coldstart the card: not functional (yet)
#memory 2 # in MB, override builtin memory size detection #memory 2 # in MB, override builtin memory size detection
hardcursor true # if true use on-chip cursor capabilities hardcursor true # if true use on-chip cursor capabilities
#logmask 0x00000000 # nothing logged, except errors, is default #logmask 0x00000000 # nothing logged, except errors, is default
#logmask 0x80000000 # log card physical features #logmask 0x80000000 # log card physical features
#logmask 0x80000000 # log following mask #logmask 0x80000000 # log following mask
#logmask 0x08000604 # log overlay use in full #logmask 0x08000604 # log overlay use in full
logmask 0xffffffff # log everything #logmask 0xffffffff # log everything
dumprom false # dump bios rom in ~/mga.rom dumprom false # dump bios rom in ~/nv.rom: probably not functional yet
greensync false # if true generate sync on green output signal greensync false # not functional, will be removed
#--------- that's all. #--------- that's all.