completed NV20 architecture DMA acceleration: confirmed both NV20 and NV30 architectur up and running OK BTW.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11171 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen
2005-01-31 14:36:33 +00:00
parent 5848a1aedb
commit 63def9b208
@@ -475,38 +475,43 @@ status_t nv_acc_init_dma()
ACCW(DEBUG3, 0xf00e0431); ACCW(DEBUG3, 0xf00e0431);
ACCW(NV10_DEBUG4, 0x00008000); ACCW(NV10_DEBUG4, 0x00008000);
ACCW(NV25_WHAT0, 0xf04b1f36); ACCW(NV25_WHAT0, 0xf04b1f36);
ACCW(NV25_WHAT2, 0x1002d888); ACCW(NV20_WHAT3, 0x1002d888);
ACCW(NV25_WHAT4, 0x62ff007f); ACCW(NV25_WHAT2, 0x62ff007f);
break; break;
case NV20A: case NV20A:
/* /* init some function blocks, but most is unknown.. */
pNv->PGRAPH[0x0084/4] = 0x00118700;//acc DEBUG1 ACCW(DEBUG1, 0x00118700);
pNv->PGRAPH[0x008C/4] = 0xF20E0431;//acc DEBUG3 ACCW(DEBUG3, 0xf20e0431);
pNv->PGRAPH[0x0090/4] = 0x00000000;//acc NV10_DEBUG4 ACCW(NV10_DEBUG4, 0x00000000);
pNv->PGRAPH[0x009C/4] = 0x00000040;//0x0040009c nieuw: unknown!!<<<<<<<< ACCW(NV20_WHAT1, 0x00000040);
if (si->ps.card_type < NV25)
{
ACCW(NV20_WHAT2, 0x00080000);
ACCW(NV10_DEBUG5, 0x00000005);
ACCW(NV20_WHAT3, 0x45caa208);
ACCW(NV20_WHAT4, 0x24000000);
ACCW(NV20_WHAT5, 0x00000040);
if((pNv->Chipset & 0x0ff0) >= 0x0250) /* copy some fixed RAM(?) configuration info(?) to some indexed registers: */
{ /* b16-24 is select; b2-13 is adress in 32-bit words */
pNv->PGRAPH[0x0890/4] = 0x00080000;//0x00400890 nieuw: unknown!!<<<<<<<< ACCW(RDI_INDEX, 0x00e00038);
pNv->PGRAPH[0x0610/4] = 0x304B1FB6;//NVACC_NV4X_WHAT2 nw,ook op NV25 en+!<<< /* data is 32-bit */
pNv->PGRAPH[0x0B80/4] = 0x18B82880;//0x00400b80 nieuw: unknown!!<<<<<<< ACCW(RDI_DATA, 0x00000030);
pNv->PGRAPH[0x0B84/4] = 0x44000000;//0x00400b84 nieuw: unknown!!<<<<<<< /* copy some fixed RAM(?) configuration info(?) to some indexed registers: */
pNv->PGRAPH[0x0098/4] = 0x40000080;//0x00400098 nieuw: unknown!!<<<<<<< /* b16-24 is select; b2-13 is adress in 32-bit words */
pNv->PGRAPH[0x0B88/4] = 0x000000ff;//0x00400b88 nieuw: unknown!!<<<<<<< ACCW(RDI_INDEX, 0x00e10038);
} /* data is 32-bit */
else ACCW(RDI_DATA, 0x00000030);
{ }
pNv->PGRAPH[0x0880/4] = 0x00080000; else
pNv->PGRAPH[0x0094/4] = 0x00000005; {
pNv->PGRAPH[0x0B80/4] = 0x45CAA208; ACCW(NV25_WHAT1, 0x00080000);
pNv->PGRAPH[0x0B84/4] = 0x24000000; ACCW(NV25_WHAT0, 0x304b1fb6);
pNv->PGRAPH[0x0098/4] = 0x00000040; ACCW(NV20_WHAT3, 0x18b82880);
pNv->PGRAPH[0x0750/4] = 0x00E00038; ACCW(NV20_WHAT4, 0x44000000);
pNv->PGRAPH[0x0754/4] = 0x00000030; ACCW(NV20_WHAT5, 0x40000080);
pNv->PGRAPH[0x0750/4] = 0x00E10038; ACCW(NV25_WHAT2, 0x000000ff);
pNv->PGRAPH[0x0754/4] = 0x00000030; }
}
*/
break; break;
} }