On Tue, Nov 23, 1999 at 01:48:47PM +0100, Steffen Seeger wrote:
> Hello Johan,
>
> > the Degas code however, is on a sorry state of disrepair, It's still missing
> > big parts of functionality and is so riddled with #warning and #error
> > statement that even thinking of compiling it would be a waste of time.
> > however, if somebody is interested in looking it over, feel free to do so.
>
> Some comments from a really insane...
>
> * all symbols visible with 'nm objectfile.o' should be prefixed with
> the metalanguage prefix.
>
Aye, thiswill be cleaned out when I actaully consider compiling the
thing ;)
> * Don't use pcicfg space for other purposes than initial configuration.
> Especially do not use it in _mode_setup() to distinguish device versions.
> Use flags or a chipset_version field in the <meta>_t structure instead.
>
This is in my new copy already, I made a paper <gasp> copy of the
code and got a bit better overlook, this was one of the hideous
things I noticed ;)
> * calc_partials() is a "permedianism". The Permedia can only accelerate
> frame buffers with certain widths. calc_partials() calculates the next
> supported width.
Ok, great, that ellimantes that atleast, Matrox cards still need
aligned framebuffers too, but those allignments are one liners.
>
> * bpd, bpf, bpc and bpp refer to the number of bits per
> {d}ot (unit transfered to the dot port)
> {f}rame (unit stored per pixel and frame)
> {c}ommon (unit stored common to all frames)
> {p}ixel = bpc + (stereo ? 2 : 1) * frames * bpf
>
Got it.
> * Drivers must not share region information. E.g. you must not give the
> DAC driver access to the memory control region claimed by the chipset
> driver except through the DacOut() functions. If you have to access
> indexed registers, declare a 'static inline' function in the
> ramdac/clock driver.
>
Ok, so the chipset driver defines a common DAC function that uses
the pcibase control region, and the clock and ramdac each decalre
an EDAC access that calls the shared DAC helper?
> * The kgi/ directory is reserved for kgi extension headers.
> Chipset register declarations should go to chipset/Matrox/Gx00.h in your
> case. This has the benefit you have them at hand where you work the
> most time.
Ah, I just placed the headers in that directory out of a lack of a
better place ;)
>
> * I found it useful to convert the header to the naming conventions first.
> Especially as this gives a good overview what registers do what.
>
> These are the comments that came to mind when I had a quick glance over it
> yesterday. Keep asking/working on it!
>
> Thanks,
>
Ok, Thanks a lot for looking it over, I'll give it a major overhaul over
thanksgiving.
Johan Karlberg