Comment 69 for bug 144322

Revision history for this message
In , Freedesktopbugz (freedesktopbugz) wrote :

I realised I hadn't done any non-interlaced tests, in the case of my TV it doesn't support non-interlaced modes, but I have the CRT monitor available, so I tried 640x480 mode with it, this works fine (with and without my patch, and as expected fails to produce a valid display if I make my patch *NOT* unconditional instead of checking for V_INTERLACE)

It seems to me from looking at the register dumps by Michael Haas and from debug prints I put into the driver that *something* has halved the values of vertical registers for interlaced modes, presumably this is happening when the mode values are calculated (or adjusted) rather than (at the stage I inserted my hack) when they are poked into CRTC registers.

I tried a git bisect, but rapidly ran back to versions of the driver that the X server refused to load (version compatibility with my server or drm module?)

Also I've looked "by eye" at the diffs between 0abce69f0d826a7ca1a41d963cd4730b6e01c145
and
2618cf2aa8ed76411b943eb90c95869814c2f151
but the "merge and fix conflicts" in
76670f665ebec7cdf40a04bf9379cb3ad4417507
are a bit too much for me to follow manually, so much other development has happened since that change, makes it difficult to follow code that has been split into other files.

Perhaps this problem only affects certain cards, any clue how I can proceed further?