Re: controlfb: please test!
From: Michel Lanners <hidden>
Date: 2000-03-19 11:41:58
Hi list, Here's another test patch for the detection problem on controlfb. Again, this doesn't fix any problem, it's just to get a better understanding of what happens in control.. I've also set up a little web page about the issue: http://piglet.grunz.lu/~mlan/linux/dev/control.html Please boot a kernel with this patch included ASAP and report your results back to me! Thanks. For the interested, there's more below... On 19 Mar, this message from Daniel Jacobowitz echoed through cyberspace:
quoted
Here's what I've found so far: - control manages mem in chunks of 2M (a pair of DIMMs), within a region of 8M in size. - 2M in bank 1, and 4M, are accessed at offset 0x0. - 2M in bank 2 are accessed at offset 6M. - the 2.3 code doesn't detect the mem at 2M in my case. It seems writing to 0x0 garbles the memory contents at 2M: write to 2M, write to 0x0-garbling 2M, detect 0x0, detect 2M-garbled, so nothing detected.Aha! This signifies a much bigger problem. If the write to 0M garbles the read from 2M, than the two are actually the same memory location! It's my understanding that if only 2M is present it can be accessed at 0M and 2M (and possibly other offsets). Does that seem to be wrong for you? Perhaps it can only be accessed when in a mode that requires it?
The detection code seems to indicate garbling; however, practical experience seems to contradict that:
quoted
The next step is to compile a better detection check, that can detect mirrored memory regions, so that I can find out what's wrong between 0x0 and 2M..... It's actually very strange, as my 4M do work when accessed in one block starting at 0x0... so 2M would have to be different from 0x0 ???Try running the check after switching to a vmode which requires more than 2M, please.
That's precisely what I run: 1152x870 at 32 bpp. Except when controlfb only detects 2MB and sets me back to 16 bpp... So, yes, under 2.2 kernels, I do use all my 4MB of VRAM, and they are accessed as a single block starting at 0x0! Which indicates the mem at 2MB is _not_ the same as at 0x0..... Anyway, below is yet another test patch which also checks for mirrored locations. Have fun! ------------------------------------------------------------------------- Michel Lanners | " Read Philosophy. Study Art. 23, Rue Paul Henkes | Ask Questions. Make Mistakes. L-1710 Luxembourg | email mlan@cpu.lu | http://www.cpu.lu/~mlan | Learn Always. "