Hi, Barry!
Barry Scott wrote:
>I'm trying to debug this problem. Since gdb has no idea of where the
>code is loaded in memory I've patched XFree86 loadmod.c to
>print where it loads modules and I've just patched via_video.c to print
>where it is loaded. I'm hoping that with these addresses I can figure ou=
t
>which code is looping.
>
>How do you debug this driver code? This all seems to be a bit to close
>to hex dump then symbolic debugging.
>
>Barry
> =20
>
Defining XV_DEBUG in via_video.h and via_swov.h would give you a much=20
more verbose log.
If the hang occurs in the middle of playing it seems like the wait for=20
the HQV engine to flip
an image is what's stuck. That would, on the other hand, seem to=20
indicate a hardware bug.
One thing to try would be a timeout in the flip wait. A typical HQV flip=20
of a DVD image makes the engine busy
15-17 ms on the CLE266.
If this is not the cause one would have to delve into the via_swov.c cod=
e.
One major difference between the revisions is that for earlier CLE266=20
chips the HQVInitpatch is enabled in the beginning of the via_swov.c=20
file. That is not the case for later revisions. You might try to enable=20
that one and see if there is a
difference.
/Thomas
> =20
>
>>-----Original Message-----
>>From: unichrome-users-admin@...
>>[mailto:unichrome-users-admin@... Behalf Of Thomas
>>Hellstr=F6m
>>Sent: 23 September 2004 16:06
>>To: Barry Scott
>>Cc: unichrome-users@...
>>Subject: Re: [Unichrome-users] X server hangs using 100% CPU on MII
>>andnewer M10K boards
>>
>>
>>Barry,
>>
>>Please upgrade to r26. There's a bugfix in there that fixes a bug that
>>could cause XvPutimage to access uninitialized data.
>>
>>/Thomas
>>
>>
>>
>>
>> =20
>>
>>>We are seeing X hang after a few hours of playing mpeg2 movies with Xi=
ne
>>>and flash with mozilla.
>>>
>>>I have build XFree86 4.4.0 with Unichrome r25 added with -g to get
>>>symbols.
>>>The kernel is 2.4.25 with the epia2 patches.
>>>
>>>I can attach gdb to the X server and get the following stack trace:
>>>
>>>#0 0x40205cc1 in ?? ()
>>>#1 0x402050ca in ?? ()
>>>#2 0x40205b81 in ?? ()
>>>#3 0x40201835 in ?? ()
>>>#4 0x4020c79d in ?? ()
>>>#5 0x080c0d90 in xf86XVPutImage (client=3D0x88a6c40, pDraw=3D0x8895d7=
8,
>>>pPort=3D0x88eb780, pGC=3D0x8896268,
>>> src_x=3D0, src_y=3D0, src_w=3D320, src_h=3D240, drw_x=3D0, drw_y=3D=
0, drw_w=3D300,
>>>drw_h=3D225, format=3D0x88eb518,
>>> data=3D0x4431e000
>>>
>>> =20
>>>
>>"\032\032\032\032\032\032\031\031\031\031\031\032\032\032\032\032\
>>032\032\03
>> =20
>>
>>>2\032\031\031\031\031\031\031\032\032\032\032\e\e", '\032' <repeats 15=
3
>>>times>,
>>> =20
>>>
>>"\031\031\031\031\031\031\031\032\032\032\032\032\032\032\032"...,
>> =20
>>
>>>sync=3D1, width=3D320, height=3D240) at xf86xv.c:1769
>>>#6 0x0831eb7e in ?? ()
>>>#7 0x0832625d in ?? ()
>>>#8 0x08323ab3 in ?? ()
>>>#9 0x080cf10d in Dispatch () at dispatch.c:446
>>>#10 0x080e5920 in main (argc=3D4, argv=3D0xbffffdb4, envp=3D0xbffffdc8=
) at
>>>main.c:432
>>>#11 0x40064c57 in __libc_start_main () from /lib/i686/libc.so.6
>>>
>>>This always hangs on EPIA MII boards and on current shipping EPIA M 10=
K
>>>boards. Older EPIA M 10M boards do not have the problem. lspci -vv fro=
m
>>>old and new boards shows one difference that might be interesting,
>>>the Status 66MHz- changes to 66MHz+. What does that status mean?
>>>
>>> 01:00.0 VGA compatible controller: VIA Technologies, Inc.
>>> =20
>>>
>>VT8623 [Apollo
>> =20
>>
>>>CLE266] integrated CastleRock graphics (rev 03) (prog-if 00 [VGA])
>>> Subsystem: VIA Technologies, Inc. VT8623 [Apollo CLE266]
>>>integrated
>>>CastleRock graphics
>>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
>>>ParErr-
>>>Stepping- SERR- FastB2B-
>>>- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=3Dmedium >TAb=
ort-
>>><TAbort- <MAbort- >SERR- <PERR-
>>>+ Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=3Dmedium >TAb=
ort-
>>><TAbort- <MAbort- >SERR- <PERR-
>>> Latency: 32 (500ns min)
>>> Interrupt: pin A routed to IRQ 11
>>>- Region 0: Memory at e4000000 (32-bit, prefetchable) [size=3D64=
M]
>>>- Region 1: Memory at e8000000 (32-bit, non-prefetchable)
>>> =20
>>>
>>[size=3D16M]
>> =20
>>
>>>+ Region 0: Memory at d8000000 (32-bit, prefetchable) [size=3D64=
M]
>>>+ Region 1: Memory at dc000000 (32-bit, non-prefetchable)
>>> =20
>>>
>>[size=3D16M]
>> =20
>>
>>> Expansion ROM at <unassigned> [disabled] [size=3D64K]
>>> Capabilities: [60] Power Management version 2
>>> Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=3D0mA
>>>PME(D0-,D1-,D2-,D3hot-,D3cold-)
>>>
>>>Does anyone have any idea what code is at 0x40205cc1 and why its hung?
>>>How do I get symbols for the code that I assume XFree86 has loaded int=
o
>>>memory?
>>>
>>>Barry
>>>
>>>
>>>
>>>
>>>-------------------------------------------------------
>>>This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
>>>Project Admins to receive an Apple iPod Mini FREE for your judgement o=
n
>>>who ports your project to Linux PPC the best. Sponsored by IBM.
>>>Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
>>>_______________________________________________
>>>Unichrome-users mailing list
>>>Unichrome-users@...
>>>https://lists.sourceforge.net/lists/listinfo/unichrome-users
>>>
>>> =20
>>>
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
>>Project Admins to receive an Apple iPod Mini FREE for your judgement on
>>who ports your project to Linux PPC the best. Sponsored by IBM.
>>Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
>>_______________________________________________
>>Unichrome-users mailing list
>>Unichrome-users@...
>>https://lists.sourceforge.net/lists/listinfo/unichrome-users
>>
>>
>> =20
>>
>
> =20
>
|