[Openchrome-users] X11 Modlines and Meaning for TVout on vt1625 for horizontal position

Eric Gilbert eric.gilbert
Mon May 1 13:44:27 PDT 2006


On 4/29/06, Eric Gilbert <eric.gilbert at gmail.com> wrote:
[snip]
> At line 795 in via_vt162x.h I see the following being set for register
> 50-58 which I assume is in hex for for the 720x480Under is defined.
>
>  0x0F, 0xCF,  0x23, 0x57, 0x22, 0x59, 0x83, 0x7F, 0x23
>
> and translated to decimal I see
>
>   15,  207,    35,   87,   34,   89,  131,  127,   35
>
> From the output from PrintTVRegs it looks like when I use
> 720x480Under at 24 with svn181 the HTP (Horizontal Total Pixels) is 89
> with the HAP (Horizontal Active Pixels) 131 and the HSW (Horizontal
> Sync Width) is 127. Why would the HTP be less than the HPA and why is
> the HSW so large?

I'm a dipsh*t and spaced on the whole bits to hex to decimal
conversions ... and I think I have an actual reasonable(albeit
seemingly dumb) question.

After more review of this section I think I want to try to set
registers 50-58 to

0x310,0x2D0,  0x20,0x258, 0x22, 0x310, 0x2D0, 0x7F, 0x23

but when I compile that change I get

warning: large integer implicitly truncated to unsigned type

for registers 50,51,53,55,56

which are written in via_vt162x.c:634:
xf86I2CWriteByte(pBIOSInfo->TVI2CDev, 0x4A + i, Table.TV2[i]);

and the table element is defined in via_vt162x.h:199 with
CARD8  TV2[0x1B];

So my question is, should this be defined as a CARD16 so that it can
take the larger values and should this be written with
xf86I2CWriteBytes or xf86I2CWriteWord or something else entirely so
that the whole value is written to the register?

Thanks,
Eric



More information about the Openchrome-users mailing list