Recently I have been working on fixing a particular driver to output a
correct 640x480 signal (using a scope to verify timings). The driver is
the Pg.i810 driver. It is meant to work with 810 and 815 hardware (as
they are very similar). After a day of checking values, I was able to get
the driver to output correct signals on the different hardware (810, 810e,
and 815 boards).
One of the needs the product my company creates is to go into a low
resolution level. Specifically, we use a 320x200 mode for this, and we
use vesabios.ms/Pg.flat to accomplish this. It works very well, and we
haven’t had a problem.
I was verifying the driver changes in various ways (specifically,
switching into and out of the low res mode). On the 810/810e hardware, it
works well. However, on the 815 hardware, when switching from the low res
mode back to 640x480, pwm is crashing (specifically, at 0007:00251A8E).
Going back to a “stock” Pg.i810 (provided in the graphics packages), this
test passes on all hardware (yet the video timings are off).
I was curious as to what in the graphics driver might cause pwm to crash
like this, under a very specific case (hardware). And if someone has access to
pwm source (QNX only?), would it be possible to figure out what
specifically is crashing?
Thanks in advance,