Just my 0.2 cent, here are PMS scripts executed by the blob (270.41.06)
with slightly better formatting (script attached)
This is trace from bare Xorg start on my NV86.


-- 
Best regards,
        Maxim Levitsky

Visit my blog: http://maximlevitsky.wordpress.com
Warning: Above blog contains rants.
script1:

00000000: e2 17 01 10 00     data 0x100117
00000005: e0 0c a8 61 00     addr 0x61a80c
0000000a: 00                 ???
0000000b: 40 0c a8           addr 0x61a80c
0000000e: 05                 ??? [unknown: 05]
0000000f: e2 00 00 00 00     data 0
00000014: 40 0c a8           addr 0x61a80c
00000017: 7f                 exit


script2:

00000000: e2 a7 00 10 00     data 0x1000a7
00000005: e0 0c a0 61 00     addr 0x61a00c
0000000a: 00                 ???
0000000b: 40 0c a0           addr 0x61a00c
0000000e: 05                 ??? [unknown: 05]
0000000f: e2 00 00 00 00     data 0
00000014: 40 0c a0           addr 0x61a00c
00000017: 7f                 exit


script3:

00000000: e2 00 33 00 00     data 0x3300
00000005: e0 00 12 61 00     addr 0x611200
0000000a: 42 01 00           data 0x1
0000000d: e0 04 25 00 00     addr 0x2504
00000012: 07                 ??? [unknown: 07]
00000013: b0                 ??? [unknown: b0]
00000014: 5f 00 01           unk5f [unknown: 00 00 01]
00000017: e0 d4 02 10 00     addr 0x1002d4
0000001c: 40 d0 02           addr 0x1002d0
0000001f: 40 d0 02           addr 0x1002d0
00000022: 42 00 00           data 0
00000025: 40 10 02           addr 0x100210
00000028: 42 01 00           data 0x1
0000002b: 40 dc 02           addr 0x1002dc
0000002e: 42 05 25           data 0x2505
00000031: e0 0c 40 00 00     addr 0x400c
00000036: e2 00 e4 59 80     data 0x8059e400
0000003b: 40 08 40           addr 0x4008
0000003e: 0d                 ??? [unknown: 0d]
0000003f: 0a                 ??? [unknown: 0a]
00000040: 40 08 40           addr 0x4008
00000043: e2 00 00 00 00     data 0
00000048: e0 dc 02 10 00     addr 0x1002dc
0000004d: e2 00 00 00 80     data 0x80000000
00000052: 40 10 02           addr 0x100210
00000055: 07                 ??? [unknown: 07]
00000056: e2 62 0a 00 00     data 0xa62
0000005b: 40 c0 02           addr 0x1002c0
0000005e: e2 04 09 01 0c     data 0xc010904
00000063: 40 24 02           addr 0x100224
00000066: e2 18 2a 12 06     data 0x6122a18
0000006b: 40 20 02           addr 0x100220
0000006e: e2 62 0b 00 00     data 0xb62
00000073: 40 c0 02           addr 0x1002c0
00000076: 42 62 0a           data 0xa62
00000079: 40 c0 02           addr 0x1002c0
0000007c: 0b                 ??? [unknown: 0b]
0000007d: d0                 ??? [unknown: d0]
0000007e: 5f 00 00           unk5f
00000081: 42 30 33           data 0x3330
00000084: e0 00 12 61 00     addr 0x611200
00000089: 7f                 exit
0000008a: 7f                 exit
0000008b: 7f                 exit


script4:
------------little bug here------

00000000: 0a                 ??? [unknown: 0a]
00000001: 7f                 exit
00000002: e2 00 33 00 00     data 0x3300
00000007: e0 00 12 61 00     addr 0x611200
0000000c: 42 01 00           data 0x1
0000000f: e0 04 25 00 00     addr 0x2504
00000014: 07                 ??? [unknown: 07]
00000015: b0                 ??? [unknown: b0]
00000016: 5f 00 01           unk5f [unknown: 00 00 01]
00000019: e0 d4 02 10 00     addr 0x1002d4
0000001e: 40 d0 02           addr 0x1002d0
00000021: 40 d0 02           addr 0x1002d0
00000024: 42 00 00           data 0
00000027: 40 10 02           addr 0x100210
0000002a: 42 01 00           data 0x1
0000002d: 40 dc 02           addr 0x1002dc
00000030: 42 05 25           data 0x2505
00000033: e0 0c 40 00 00     addr 0x400c
00000038: e2 00 e4 59 80     data 0x8059e400
0000003d: 40 08 40           addr 0x4008
00000040: 0d                 ??? [unknown: 0d]
00000041: 0a                 ??? [unknown: 0a]
00000042: 40 08 40           addr 0x4008
00000045: e2 00 00 00 00     data 0
0000004a: e0 dc 02 10 00     addr 0x1002dc
0000004f: e2 00 00 00 80     data 0x80000000
00000054: 40 10 02           addr 0x100210
00000057: 07                 ??? [unknown: 07]
00000058: e2 62 0a 00 00     data 0xa62
0000005d: 40 c0 02           addr 0x1002c0
00000060: e2 04 09 01 0c     data 0xc010904
00000065: 40 24 02           addr 0x100224
00000068: e2 18 2a 12 06     data 0x6122a18
0000006d: 40 20 02           addr 0x100220
00000070: e2 62 0b 00 00     data 0xb62
00000075: 40 c0 02           addr 0x1002c0
00000078: 42 62 0a           data 0xa62
0000007b: 40 c0 02           addr 0x1002c0
0000007e: 0b                 ??? [unknown: 0b]
0000007f: d0                 ??? [unknown: d0]
00000080: 5f 00 00           unk5f
00000083: 42 30 33           data 0x3330
00000086: e0 00 12 61 00     addr 0x611200
0000008b: 7f                 exit



script5:

00000000: 0a                 ??? [unknown: 0a]
00000001: 00                 ???
00000002: e2 00 ?? ?? ??     data 0 [incomplete]


script6:

00000000: e2 00 33 00 00     data 0x3300
00000005: e0 00 12 61 00     addr 0x611200
0000000a: 07                 ??? [unknown: 07]
0000000b: b0                 ??? [unknown: b0]
0000000c: 5f 00 01           unk5f [unknown: 00 00 01]
0000000f: e2 83 db f0 2e     data 0x2ef0db83
00000014: e0 40 c0 00 00     addr 0xc040
00000019: e2 00 00 00 80     data 0x80000000
0000001e: 40 20 40           addr 0x4020
00000021: e2 83 db f0 2e     data 0x2ef0db83
00000026: 40 40 c0           addr 0xc040
00000029: e2 00 00 09 a0     data 0xa0090000
0000002e: 40 28 40           addr 0x4028
00000031: e2 02 10 00 00     data 0x1002
00000036: 40 2c 40           addr 0x402c
00000039: 0e                 ??? [unknown: 0e]
0000003a: e2 a3 db e0 2e     data 0x2ee0dba3
0000003f: 40 40 c0           addr 0xc040
00000042: e2 10 00 00 00     data 0x10
00000047: 40 4c c0           addr 0xc04c
0000004a: e2 a3 db e0 2e     data 0x2ee0dba3
0000004f: 40 40 c0           addr 0xc040
00000052: d0                 ??? [unknown: d0]
00000053: 5f 00 00           unk5f
00000056: e2 30 33 00 00     data 0x3330
0000005b: e0 00 12 61 00     addr 0x611200
00000060: 7f                 exit
00000061: 7f                 exit
00000062: 7f                 exit
00000063: 7f                 exit


script7:

00000000: 5f 01 00           unk5f [unknown: 00 01 00]
00000003: 5f 01 01           unk5f [unknown: 00 01 01]
00000006: b0                 ??? [unknown: b0]
00000007: 5f 00 01           unk5f [unknown: 00 00 01]
0000000a: e2 83 db f0 2e     data 0x2ef0db83
0000000f: e0 40 c0 00 00     addr 0xc040
00000014: e2 00 00 00 80     data 0x80000000
00000019: 40 20 40           addr 0x4020
0000001c: e2 83 db f0 2e     data 0x2ef0db83
00000021: 40 40 c0           addr 0xc040
00000024: e2 00 00 09 a0     data 0xa0090000
00000029: 40 28 40           addr 0x4028
0000002c: e2 02 0b 00 00     data 0xb02
00000031: 40 2c 40           addr 0x402c
00000034: 0e                 ??? [unknown: 0e]
00000035: e2 a3 db e0 2e     data 0x2ee0dba3
0000003a: 40 40 c0           addr 0xc040
0000003d: e2 10 00 00 00     data 0x10
00000042: 40 4c c0           addr 0xc04c
00000045: e2 a3 db e0 2e     data 0x2ee0dba3
0000004a: 40 40 c0           addr 0xc040
0000004d: d0                 ??? [unknown: d0]
0000004e: 5f 00 00           unk5f
00000051: 7f                 exit
00000052: 7f                 exit
00000053: 7f                 exit


script8:

00000000: 5f 01 01           unk5f [unknown: 00 01 01]
00000003: 5f 01 00           unk5f [unknown: 00 01 00]
00000006: e2 a3 db e0 2a     data 0x2ae0dba3
0000000b: e0 40 c0 00 00     addr 0xc040
00000010: 7f                 exit
00000011: 7f                 exit
00000012: 7f                 exit
00000013: 7f                 exit


script9:


00000000: 5f 01 01           unk5f [unknown: 00 01 01]
00000003: 5f 01 00           unk5f [unknown: 00 01 00]
00000006: e2 01 00 00 00     data 0x1
0000000b: e0 04 25 00 00     addr 0x2504
00000010: 06                 ??? [unknown: 06]
00000011: b0                 ??? [unknown: b0]
00000012: 5f 00 01           unk5f [unknown: 00 00 01]
00000015: e0 d4 02 10 00     addr 0x1002d4
0000001a: 40 d0 02           addr 0x1002d0
0000001d: 40 d0 02           addr 0x1002d0
00000020: 42 00 00           data 0
00000023: 40 10 02           addr 0x100210
00000026: 42 01 00           data 0x1
00000029: 40 dc 02           addr 0x1002dc
0000002c: e2 00 e6 02 80     data 0x8002e600
00000031: e0 08 40 00 00     addr 0x4008
00000036: e2 00 e2 18 80     data 0x8018e200
0000003b: 40 08 40           addr 0x4008
0000003e: e2 00 00 00 00     data 0
00000043: e0 dc 02 10 00     addr 0x1002dc
00000048: e2 00 00 00 80     data 0x80000000
0000004d: 40 10 02           addr 0x100210
00000050: 07                 ??? [unknown: 07]
00000051: e2 62 06 00 00     data 0x662
00000056: 40 c0 02           addr 0x1002c0
00000059: e2 04 0a 01 0a     data 0xa010a04
0000005e: 40 24 02           addr 0x100224
00000061: e2 0f 23 11 07     data 0x711230f
00000066: 40 20 02           addr 0x100220
00000069: e2 77 21 02 00     data 0x22177
0000006e: 40 1c 07           addr 0x10071c
00000071: e2 00 00 00 00     data 0
00000076: 40 3c 05           addr 0x10053c
00000079: 42 62 07           data 0x762
0000007c: 40 c0 02           addr 0x1002c0
0000007f: 42 62 06           data 0x662
00000082: 40 c0 02           addr 0x1002c0
00000085: 0b                 ??? [unknown: 0b]
00000086: d0                 ??? [unknown: d0]
00000087: 5f 00 00           unk5f
0000008a: 7f                 exit
0000008b: 7f                 exit


script10:

00000000: 5f 01 00           unk5f [unknown: 00 01 00]
00000003: 5f 01 01           unk5f [unknown: 00 01 01]
00000006: b0                 ??? [unknown: b0]
00000007: 5f 00 01           unk5f [unknown: 00 00 01]
0000000a: e2 83 db f0 2a     data 0x2af0db83
0000000f: e0 40 c0 00 00     addr 0xc040
00000014: e2 00 00 01 80     data 0x80010000
00000019: 40 20 40           addr 0x4020
0000001c: e2 83 db f0 2a     data 0x2af0db83
00000021: 40 40 c0           addr 0xc040
00000024: e2 00 00 12 a0     data 0xa0120000
00000029: 40 28 40           addr 0x4028
0000002c: e2 04 1b 00 00     data 0x1b04
00000031: 40 2c 40           addr 0x402c
00000034: 0e                 ??? [unknown: 0e]
00000035: e2 a3 db e0 2a     data 0x2ae0dba3
0000003a: 40 40 c0           addr 0xc040
0000003d: e2 10 00 00 00     data 0x10
00000042: 40 4c c0           addr 0xc04c
00000045: e2 a3 db e0 2a     data 0x2ae0dba3
0000004a: 40 40 c0           addr 0xc040
0000004d: d0                 ??? [unknown: d0]
0000004e: 5f 00 00           unk5f
00000051: 7f                 exit
00000052: 7f                 exit
00000053: 7f                 exit


script11:

00000000: 5f 01 01           unk5f [unknown: 00 01 01]
00000003: 5f 01 00           unk5f [unknown: 00 01 00]
00000006: e2 a3 db e0 2e     data 0x2ee0dba3
0000000b: e0 40 c0 00 00     addr 0xc040
00000010: 7f                 exit
00000011: 7f                 exit
00000012: 7f                 exit
00000013: 7f                 exit






executing PMS script 1

0x61a80c = 0x100117
00                 
0x61a80c = 0x100117
05                 
0x61a80c = 0x0
exit


executing PMS script 2

0x61a00c = 0x1000a7
00                 
0x61a00c = 0x1000a7
05                 
0x61a00c = 0x0
exit


executing PMS script 3

0x611200 = 0x3300
0x2504 = 0x1
07                 
b0                 
5f 00 01           
0x1002d4 = 0x1
0x1002d0 = 0x1
0x1002d0 = 0x1
0x100210 = 0x0
0x1002dc = 0x1
0x400c = 0x2505
0x4008 = 0x8059e400
0d                 
0a                 
0x4008 = 0x8059e400
0x1002dc = 0x0
0x100210 = 0x80000000
07                 
0x1002c0 = 0xa62
0x100224 = 0xc010904
0x100220 = 0x6122a18
0x1002c0 = 0xb62
0x1002c0 = 0xa62
0b                 
d0                 
5f 00 00           
0x611200 = 0x3330
exit
exit
exit


executing PMS script 4
------------little bug here------

0a                 
exit
0x611200 = 0x3300
0x2504 = 0x1
07                 
b0                 
5f 00 01           
0x1002d4 = 0x1
0x1002d0 = 0x1
0x1002d0 = 0x1
0x100210 = 0x0
0x1002dc = 0x1
0x400c = 0x2505
0x4008 = 0x8059e400
0d                 
0a                 
0x4008 = 0x8059e400
0x1002dc = 0x0
0x100210 = 0x80000000
07                 
0x1002c0 = 0xa62
0x100224 = 0xc010904
0x100220 = 0x6122a18
0x1002c0 = 0xb62
0x1002c0 = 0xa62
0b                 
d0                 
5f 00 00           
0x611200 = 0x3330
exit



executing PMS script 5

0a                 
00                 


executing PMS script 6

0x611200 = 0x3300
07                 
b0                 
5f 00 01           
0xc040 = 0x2ef0db83
0x4020 = 0x80000000
0xc040 = 0x2ef0db83
0x4028 = 0xa0090000
0x402c = 0x1002
0e                 
0xc040 = 0x2ee0dba3
0xc04c = 0x10
0xc040 = 0x2ee0dba3
d0                 
5f 00 00           
0x611200 = 0x3330
exit
exit
exit
exit


executing PMS script 7

5f 01 00           
5f 01 01           
b0                 
5f 00 01           
0xc040 = 0x2ef0db83
0x4020 = 0x80000000
0xc040 = 0x2ef0db83
0x4028 = 0xa0090000
0x402c = 0xb02
0e                 
0xc040 = 0x2ee0dba3
0xc04c = 0x10
0xc040 = 0x2ee0dba3
d0                 
5f 00 00           
exit
exit
exit


executing PMS script 8

5f 01 01           
5f 01 00           
0xc040 = 0x2ae0dba3
exit
exit
exit
exit


executing PMS script 9


5f 01 01           
5f 01 00           
0x2504 = 0x1
06                 
b0                 
5f 00 01           
0x1002d4 = 0x1
0x1002d0 = 0x1
0x1002d0 = 0x1
0x100210 = 0x0
0x1002dc = 0x1
0x4008 = 0x8002e600
0x4008 = 0x8018e200
0x1002dc = 0x0
0x100210 = 0x80000000
07                 
0x1002c0 = 0x662
0x100224 = 0xa010a04
0x100220 = 0x711230f
0x10071c = 0x22177
0x10053c = 0x0
0x1002c0 = 0x762
0x1002c0 = 0x662
0b                 
d0                 
5f 00 00           
exit
exit


executing PMS script 10

5f 01 00           
5f 01 01           
b0                 
5f 00 01           
0xc040 = 0x2af0db83
0x4020 = 0x80010000
0xc040 = 0x2af0db83
0x4028 = 0xa0120000
0x402c = 0x1b04
0e                 
0xc040 = 0x2ae0dba3
0xc04c = 0x10
0xc040 = 0x2ae0dba3
d0                 
5f 00 00           
exit
exit
exit


executing PMS script 11

5f 01 01           
5f 01 00           
0xc040 = 0x2ee0dba3
exit
exit
exit
exit






#! /usr/bin/env python

import fileinput
import re
import os
import sys

command_pattern = re.compile(".*(data|addr|exit) ?(0x.*|[0-9]*|)?")
unknown_pattern = re.compile("[0-9|a-f]:\ *(.*)(\?\?\?|unk5f)")

for line in fileinput.input():

    script_number = 0

    #start of new script
    if "script" in line:
           script_number = int(line.split("script")[1][:-2])
           print "executing PMS script %d" % script_number

           address = 0xFFFFFFFF
           value= 0xFFFFFFFF
           continue


    match = command_pattern.search(line)
    if match:
        if match.groups()[0] == "data":
                value = int(match.groups()[1], 0)
        elif match.groups()[0] == "addr":
                address = int(match.groups()[1], 0)
                print "0x%x = 0x%x" % (address, value)
        elif match.groups()[0] == "exit":
                print "exit"

        continue



    match = unknown_pattern.search(line)
    if match:
            print match.groups()[0]
            continue

    sys.stdout.write(line)
    continue


"""
            answer = raw_input("do you want to: %s :" % execstring)

            if answer == "no":
                continue

            print "executing %s" % execstring            

            os.system(execstring)
"""

_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to