Re: New matroxfb (or Re: kernel 2.1.131 with Matrox G100 and mat...)

Ulf Jaenicke-Roessler (ujr@physik.phy.tu-dresden.de)
Tue, 8 Dec 1998 11:37:59 +0100 (MET)


Hi,

and thank you for your answer.

Petr Vandrovec Ing. VTEI wrote:

> > So my first question is, whether it is possible to leave the screen in
> > a usable state, when initializing fails (like here with this memory
> > problem)?
>
> No :-) Driver gives up at any moment and there are tons of bytes to

I knew that you would say that. ;-)

> reprogram, some of them are WriteOnly (for example memory access timing)
> and most of them undocumented (G100/G200 driver is written without any
> doc because of Matrox Devrel said that they send specs to XFree team and
> it is enough for Linux community...).

Argh.

> > I digged a bit in the kernel sources (matroxfb.c). The cause of the error
> > message seemed to be the determination of the real video memory size in the
> > getmemory function.
> If driver switches memory interface into SGRAM, it cannot find SDRAM.
> And vice versa...

May I/Should I/Do I need to specify the type of RAM myself? If so, how?

> > BTW, I have several problems with kernel parameters regarding matroxfb.
> > What, for example, is the correct syntax for specifying the amount of
> > memory? Is it 'video=matrox:mem:8M'?
>
> If you have (detected) more than 8MB, you can use "mem:8M"... But because
> of driver knows better than you, how much memory you have, you can only
> decrease "available" memory.

So there's actually no point in specifying the mem: parameter (under
"normal" circumstances)?

> > Nevertheless, this didn't help here. One problem is, that the mem
> > variable is set up in matroxfb_setup, but this is called after
> > matroxfb_init, and therefore mem is still 0 when used during init. The
> > second problem
>
> it is global variable...

Yes, I know. This global variable is initialized with 0. I didn't find
a part of the driver, other than the setup function, that sets mem to
a useful value. Setup is called after init, so during init, mem is still
zero. getmemory is called by init, so the memSize parameter (which has
the value of mem) in getmemory is also zero. But getmemory returns with
error, if memsize is smaller than 2MB.
At least this is how it appears to me. Can you tell me what obvious
thing I missed? (I'm sorry if it is too obvious, but I don't have a lot
of experience with kernel sources).

Thank you for the support,

Ulf

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/