Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Panic at boot on 4/330 with cgfour and cgsix



Hi,

> So I've been playing with this patch for a while but unfortunately
> I've been unable to get it to work. This patch causes a panic at boot,
> something like async memory error..timeout. I think it's just trying
> to read an address that doesn't exist. Here's the code that caused it.
> 
>        /* XXX: PFOUR_COLOR_OFF_CMAP assumes 32 bit wraparound */
>        cmap_pa = (paddr_t)oba->oba_paddr + (paddr_t)PFOUR_COLOR_OFF_CMAP;
>         if (bus_space_map(oba->oba_bustag,
>                          cmap_pa,
> 
> I think the root problem is that PFOUR_COLOR_OFF_CMAP claims to be an
> offset but is actually the full address of the ramdac. I reverted
> those lines and changed PFOUR_COLOR_OFF_CMAP to (-0x00100000) which is
> what the actual offset is and it worked for a few more lines then I
> got another panic. I wasn't able to capture the panic message but this
> is the line that caused it.

Sounds like it's easiest to just use (-0x00100000).  
 
> memset(sc->sc_fb.fb_pixels, (defattr >> 16) & 0xff, sc->sc_stride *
> sc->sc_height);
> 
> I don't understand what's wrong with this line. Some other drivers use
> something like this with no issues so I don't know why this doesn't
> work but since it's just clearing the screen it's not really needed so
> I commented it out. This allowed it to continue for a few more lines
> then I got a watchdog timeout on this line. Not sure why this fails.
> 
> wsdisplay_cnattach(&cgfour_defaultscreen, ri, 0, 0, defattr);

I'm guessing that we have the location of the video ram wrong.  If I read
correctly, everything should be relative to PFOUR_COLOR_OFF_COLOR.  What
value do we calculate for that?

Regards,

Julian

-- 


Home | Main Index | Thread Index | Old Index