Christer,
I think you have correctly identified the issue. The timings in the 
LCD/TV registers don't match the timings that are being used to 
calculate the Overlay Active offsets.

Try this.... it should work

unsigned int temp = INREG(0x60000);
i810Reg->OverlayActiveStart = (temp>>16) - 31;
i810Reg->OverlayActiveEnd = (temp & 0x3ff) - 31;

-Matt




-----Original Message-----
From: Christer Palm [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 18, 2002 6:06 PM
To: [EMAIL PROTECTED]
Cc: Sottek, Matthew J
Subject: Re: [Xpert]i815 overlay output revisited


OK, I now understand (I think) why this (and other related things) 
doesn't work as I expect...

I now realize that the i815 has a separate set of registers for the 
digital out timing. The i810 driver never touches those registers, so 
they will be left at the default 800x600 mode programmed by the BIOS at 
system initialization. This also explains why I at all get a picture on 
the TV regardless of the X11 modeline, even though the driver never 
talks to the TV chip, which has puzzled me for a while.

I'm adding this stuff to the driver right now. My goal is to keep the 
TV-out chip stuff generic, so that it could be used with other 
drivers/TV-out chips as well. Suggestions and wish-list items are welcome!

-- 
Christer Palm
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to