lkml.org 
[lkml]   [2000]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
Subjectmatroxfb dualhead driver ready for production...
Hi,
I believe that I fixed all known bugs in driver for dualhead G400.
Patch is available at ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
in two forms:
(1) maven-for-linus.gz, which contains only code I intend to send to
Linus on Monday
(2) maven.gz (symlink to maven-000218-for-2.3.47-pre3.gz), which contains
everything from patch above + some additional changes which allows
you to interact with multiple heads better. These changes were
refused by other fbdev people and there is some new scheme proposed,
so they will not be sent to Linus (if you are interested, it is part
of patch which touches drivers/video/fbmem.c & adds some constants &
structs into include/linux/fb.h)
I know that patch is large (500KB uncompressed), but it also splits
matroxfb.c from drivers/video into couple of files in drivers/video/matrox
directory.
For real usage you should also download tool matroxset-0.3.tar.gz from
site above, it allows you to change secondary head output modes
(PAL/NTSC/monitor) and allows you to control connection matrix between
CRTC1&2 and both outputs.
It is known that XFree SVGA 3.3.x does not cope with secondary head
very well. If you switch into X, XFree disables secondary head output :-(
Of course, you can use XFree FBDev driver. XFree SVGA driver from 3.9.17
looks like that it could work - but it does not recognize G400 chipset,
so I it does not work with precompiled XFree.
----
There is still one open question and I'd like to hear from other peoples,
what they think.
For almost year there is flying around fbdev API, which allows you to
determine whether VSYNC is active and other things related to position of
beam on screen. Currently I put that structure into fb.h and allocated
new ioctl number from fb.h range for it.
Can I left this in fb.h (I asked last week on linux-fbdev, but received
no answer, except that userspace peoples like this API) or should I move
it into matroxfb.h?
----
If you are curious how I choosed ioctl numbers for matroxfb, I also
maintain ncpfs, so I reassigned some from ncpfs to matroxfb :-)
Driver contains support for DDC busses on all matroxes and specific
support for G400 dualhead, G400 singlehead and G200 TV. For G400 singlehead
it creates two fbdevs and you can choose by matroxset, which one you want to
see (in future, you could connect CRTC2 to DFP). I decided for doing this
because of there is nothing accelerated driver can do with upper 16MB of
videoram.
For G200 TV, it should be possible to switch output to TV by using
matroxset -f /dev/fb/0 -o 1 2; matroxset -f /dev/fb/0 -m 3
(first turns TVOut into NTSC, second connects fb/0 into both outputs).
If you have G200 TV, please contact me privately if you are interested
in this driver (even if it does work for you, I need all reports for
this configuration).
Driver currently guards all accesses to accelerator with spin_lock_irqsave,
it does not cause any problems here on my SMP PIII/450. If you do not
want it, #undef MATROXFB_USE_SPINLOCKS in
drivers/video/matrox/matroxfb_base.h. I probably #undef this for Linus
release, as reentering really should not occur...
Thanks,
Petr Vandrovec
vandrove@vc.cvut.cz

P.S.: If it does not work for you and you choosed modular setup, first make
sure that you have loaded i2c-matroxfb, matroxfb_maven and matroxfb_crtc2.
P.P.S.: You must enable I2C & I2C bit-banging adapters in character devices
menu (see help for G100/G200/G400 selection) to enable I2C & dualhead
features of driver.

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.041 / U:1.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site