On Sat, 2005-04-09 at 18:24 +0200, Andreas Schwab wrote: > Benjamin Herrenschmidt <[EMAIL PROTECTED]> writes: > > > Can you redo the counting of the workarounds with the patch ? > > Switching from X to console: > > radeon_write_pll_regs: INPLL > radeon_write_pll_regs: INPLL > radeon_write_mode: OUTPLL > radeonfb_engine_reset: INPLL > radeonfb_engine_reset: OUTPLL > radeonfb_engine_reset: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: OUTPLL > radeon_write_pll_regs: INPLL > radeon_write_pll_regs: INPLL > radeon_write_mode: OUTPLL > radeonfb_engine_reset: INPLL > radeonfb_engine_reset: OUTPLL > radeonfb_engine_reset: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL
Ok, so the above is interesting, something is callign setcmap way too much here I would say... Besides, it looks like set_par is called twice, which is wrong too. > Switching from console to X: > > radeonfb_setcmap: OUTPLL > radeon_write_pll_regs: INPLL > radeon_write_pll_regs: INPLL > radeon_write_mode: OUTPLL > radeonfb_engine_reset: INPLL > radeonfb_engine_reset: OUTPLL > radeonfb_engine_reset: OUTPLL > radeonfb_setcmap: INPLL > radeonfb_setcmap: OUTPLL > radeonfb_setcmap: OUTPLL > agpgart: Putting AGP V2 device at 0000:00:0b.0 into 1x mode > agpgart: Putting AGP V2 device at 0000:00:10.0 into 1x mode > radeonfb_setcolreg: INPLL > radeonfb_setcolreg: OUTPLL > radeonfb_setcolreg: OUTPLL > ... last three lines repeated 63 times Hrm... the last (serie of 64 setcolreg) are probably X beeing extremely dumb, and calling the ioctl 64 times to set each palette entry instead of doing a single call for the whole palette... Anyway. Except for maybe the double set-par on switch from X to console, there isn't much more we can do here. We might be able to improve X but there is a significant lag between a fix done to X.org HEAD appears in any distro. The fact is, according to ATI, there is a HW bug on M6 taht can cause lockups of the chip, and this 5ms workaround is necessary to avoid it... Ben. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/