Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Creator3D resolution switching



Hi,

Thanks for the output!

> Hello, I made the following changes, however it didn't seem to make any difference
> -		out_dev = prom_getpropstring(sc->sc_node, "output_device");
> +		//out_dev = prom_getpropstring(sc->sc_node, "output_device");
> +		out_dev = prom_getpropstring(sc->sc_node, "output-device");

That should work - did you also set `output-device' at the PROM (ok) prompt,
and what did you set it to?

> Enabled FFB_DEBUG, does this look OK to you? Where does the "Video modes" list
> come from, graphics card or the monitor/VGA adapter?

The video modes list comes from the monitor via the EDID data, so we can see
that your monitor prefers 1920x1080:

> Video modes:
>         1920x1080 @ 60Hz (148500 2008 2052 2200 1084 1089 1125 +H +V)
>         1920x1200 @ 60Hz (193250 2056 2256 2592 1203 1209 1245 +H -V)
  ...
> Preferred mode: 1920x1080 @ 60Hz

We pass that the the mode setting function:

> ffb_set_vmode: 1920x1080@60 (148500 2008 2052 2200 1084 1089 1125 +H +V)

which then calculates the register programming:

> ffb_set_vmode: 0x422c 0x0003 0x0008 0x0180 0x0033
>         0x0028 0x0460 0x0004 0x0464
>         0x021a 0x002f 0x020f 0x000a 0x0225 0x020b 0x002b
>         0x0000 0x0000 0x0000
> new tgc: 00000033

I wonder about the first line, especially "0x0008 0x0180 0x0033" (ffbreg.h
has the definitions of the values).  The documentation that I have doesn't
explain all the values and combinations, but I would expect that first (UCL)
to be 0x0108 (we don't change the first byte - it is set by the PROM).  If
that's not the problem, it might be in our programming of composite sync
instead of separate sync.  I'm not sure how to determine the correct settings
for that though, and the current code is really only tested with monitors
that are known to work with Sun framebuffers and a few others.

It might be possible to get this working by altering the sync parameters, but
that will probably be mainly guesswork.  When I was testing this, I altered
each register manually, but that's not great.

Regards,

Julian


Home | Main Index | Thread Index | Old Index