Jun Sun wrote:
>
> I bought a V3 2000PCI card and plug it into an embedded MIPS board. I
> enabled the framebuffer driver for voodoo3. The driver hangs during
> initializtion stage (tdfxfb_init()).
>
> bashee_make_room() is where cpu is doing an infinite loop. The STATUS
> register value is 0x0c200000. It is the first long word in the
> prefetchable (2nd) PCI memory block requested by the card.
>
> Does anybody know what bashee_make_room() is doing? what is wrong
> here? What steps are missing? Note there is not vga bios on this
> board.
>
> Also, where can I find the spec for V3 2kpci card?
>
> Thanks.
>
> Jun
>
> tdfxfb_init()
> {
> ....
> /* disable block writes for SDRAM (why?) */
> miscinit1 = tdfx_inl(MISCINIT1);
> miscinit1 |= sgram_p ? 0 : MISCINIT1_2DBLOCK_DIS;
> miscinit1 |= MISCINIT1_CLUT_INV;
>
> banshee_make_room(1);
> tdfx_outl(MISCINIT1, miscinit1);
>
> return lfbsize;
> }
>
> static inline void banshee_make_room(int size) {
> while((tdfx_inl(STATUS) & 0x1f) < size);
> }
|