ns2501 DVO - success at last

Thomas Richter
2015-04-13T19:00:55Z

Hi Daniel, hi Ville,

some success at last. I couldn't stop myself playing with the NatSemi
2501 DVO in my Fujitsu S6010 and I believe I finally got a hang on this
chip. I believe I understand now most of the undocumented registers.

There are also a couple of additional features that are, apparently, not
used by the video BIOS of the S6010, namely the chip has a ditherer on
board - quite like the Intel Video Controller hub in the IBM R31.
Unfortunately, to enable the scaler, the bypass must be turned off, and
hence, parameters for a 1:1 through-mapping of the scaler are required.

After quite some experimenting, I believe I found now the right settings
to enable the scaler and configure it to pass the 1024x768 input to the
output.

The chip is really a bit weird. It not only requires the scaling
factors, but also the input timings, (sync width, front/back porch for
both horizontal and vertical) and the output timing, and the
configuration of its PLL to sample the incoming data. Currently, most of
the data I obtained by "trail and error", at least for the 1024x768 mode
in which the bios configures the DVO in bypass mode.

It turned out we forgot to configure a couple of registers (and some
others are pretty much blank).

Thus, my question at this time is whether there is any interface how to
get the precise timing of the loaded video mode from the i915 module
directly instead of second-guessing the parameters, i.e. dimensions of
the frame, porch sizes, size of the sync pulses, pixel clock and so on.

Other than that, I'll try to clean up the code I have to so far in the
next days and release it.

Greetings,
Thomas