Hi Jules, > > Are you using a cgsix framebuffer? The current kernels have a problem with > > the cgsix, which Davem narrowed down to the cg6_reset function. > > Do you get booted back to the PROM? If so can you get the results of: > > .locals .registers ctrace > > As well as your System.map
> Hmm. It does sound exactly like that. > Unfortunately the PROM is rarely readable, since the CLUT has generally made > background == foreground. However, I'll try to get those data. > How come I never read about this on [EMAIL PROTECTED] Did I just miss it? I found it at http://dm.cobaltmicro.com/~davem/ultra-todo.html Let me know if this fixes your problem. Cheers, Anton --- linux/drivers/video/cgsixfb_old.c Thu Nov 26 15:04:28 1998 +++ linux/drivers/video/cgsixfb.c Thu Nov 26 15:07:37 1998 @@ -534,6 +534,7 @@ unsigned int rev, conf; struct cg6_tec *tec = fb->s.cg6.tec; struct cg6_fbc *fbc = fb->s.cg6.fbc; + u32 mode; /* Turn off stuff in the Transform Engine. */ tec->tec_matrix = 0; @@ -552,15 +553,20 @@ *(fb->s.cg6.fhc) = conf; } - /* Set things in the FBC. */ - fbc->mode &= ~(CG6_FBC_BLIT_MASK | CG6_FBC_MODE_MASK | + /* Set things in the FBC. Bad things appear to happen if we do + * back to back store/loads on the mode register, so copy it + * out instead. */ + mode = fbc->mode; + mode &= ~(CG6_FBC_BLIT_MASK | CG6_FBC_MODE_MASK | CG6_FBC_DRAW_MASK | CG6_FBC_BWRITE0_MASK | CG6_FBC_BWRITE1_MASK | CG6_FBC_BREAD_MASK | CG6_FBC_BDISP_MASK); - fbc->mode |= (CG6_FBC_BLIT_SRC | CG6_FBC_MODE_COLOR8 | + mode |= (CG6_FBC_BLIT_SRC | CG6_FBC_MODE_COLOR8 | CG6_FBC_DRAW_RENDER | CG6_FBC_BWRITE0_ENABLE | CG6_FBC_BWRITE1_DISABLE | CG6_FBC_BREAD_0 | CG6_FBC_BDISP_0); + fbc->mode = mode; + fbc->clip = 0; fbc->offx = 0; fbc->offy = 0;