Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
30da0806
Commit
30da0806
authored
Sep 11, 2014
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/pwr/memx: fix command ordering around block/unblock
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
630a6a46
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
461 additions
and
462 deletions
+461
-462
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc
+5
-3
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
+111
-111
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
+112
-112
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
+111
-111
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
+111
-111
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/os.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/os.h
+6
-6
drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c
drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c
+5
-8
No files found.
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc
View file @
30da0806
...
...
@@ -242,13 +242,15 @@ memx_exec:
mov b32 $r2 $r11
memx_exec_next:
// fetch the packet header
, and locate opcode info
// fetch the packet header
ld b32 $r3 D[$r1]
add b32 $r1 4
shr b32 $r4 $r3 16
mulu $r3 #memx_func_size
extr $r4 $r3 16:31
extr $r3 $r3 0:15
// execute the opcode handler
sub b32 $r3 1
mulu $r3 #memx_func_size
ld b32 $r5 D[$r3 + #memx_func_head + #memx_func]
call $r5
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
View file @
30da0806
...
...
@@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
0x584d454d
,
0x000005
5c
,
0x000005
4e
,
0x000005
64
,
0x000005
56
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
0x46524550
,
0x0000056
0
,
0x000005
5e
,
0x0000056
8
,
0x000005
66
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
0x5f433249
,
0x0000096
4
,
0x000008
0b
,
0x0000096
c
,
0x000008
13
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
0x54534554
,
0x0000098
5
,
0x0000096
6
,
0x0000098
d
,
0x0000096
e
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
0x454c4449
,
0x0000099
0
,
0x000009
8e
,
0x0000099
8
,
0x000009
96
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -227,23 +227,23 @@ uint32_t nv108_pwr_data[] = {
0x00000000
,
0x00000000
,
/* 0x0370: memx_func_head */
0x0000000
0
,
0x0000000
1
,
0x00000000
,
0x00000483
,
/* 0x037c: memx_func_next */
0x0000000
1
,
0x0000000
2
,
0x00000000
,
0x000004a3
,
0x0000000
2
,
0x0000000
3
,
0x00000002
,
0x000004c8
,
0x0004000
3
,
0x0004000
4
,
0x00000000
,
0x000004e5
,
0x0001000
4
,
0x0001000
5
,
0x00000000
,
0x000004ff
,
0x0001000
5
,
0x0001000
6
,
0x00000000
,
0x000004c3
,
/* 0x03b8: memx_func_tail */
...
...
@@ -1230,113 +1230,115 @@ uint32_t nv108_pwr_code[] = {
/* 0x0513: memx_exec_next */
0x98b2b2c1
,
0x10b60013
,
0x10349504
,
0xf034e704
,
0xe033e701
,
0x0132b601
,
0x980c30f0
,
0x55f9de35
,
0x1ef412a6
,
0xee0b98e
d
,
0xee0b98e
5
,
0xbbef0c98
,
0xc44b02cb
,
0x00bbcf07
,
0xe0fcd0fc
,
0x0002c27e
,
/* 0x054
2
: memx_info */
/* 0x054
a
: memx_info */
0xc04c00f8
,
0x08004b03
,
0x0002c27e
,
/* 0x05
4e
: memx_recv */
/* 0x05
56
: memx_recv */
0xd6b000f8
,
0xb
a
0bf401
,
0xb
2
0bf401
,
0xf400d6b0
,
0x00f8eb0b
,
/* 0x05
5c
: memx_init */
/* 0x05
5e
: perf_recv */
/* 0x05
64
: memx_init */
/* 0x05
66
: perf_recv */
0x00f800f8
,
/* 0x056
0
: perf_init */
/* 0x056
2
: i2c_drive_scl */
/* 0x056
8
: perf_init */
/* 0x056
a
: i2c_drive_scl */
0x36b000f8
,
0x0d0bf400
,
0xf607e040
,
0x04bd0001
,
/* 0x057
2
: i2c_drive_scl_lo */
/* 0x057
a
: i2c_drive_scl_lo */
0xe44000f8
,
0x0001f607
,
0x00f804bd
,
/* 0x05
7c
: i2c_drive_sda */
/* 0x05
84
: i2c_drive_sda */
0xf40036b0
,
0xe0400d0b
,
0x0002f607
,
0x00f804bd
,
/* 0x05
8c
: i2c_drive_sda_lo */
/* 0x05
94
: i2c_drive_sda_lo */
0xf607e440
,
0x04bd0002
,
/* 0x059
6
: i2c_sense_scl */
/* 0x059
e
: i2c_sense_scl */
0x32f400f8
,
0x07c44301
,
0xfd0033cf
,
0x0bf40431
,
0x0131f406
,
/* 0x05
a8
: i2c_sense_scl_done */
/* 0x05
aa
: i2c_sense_sda */
/* 0x05
b0
: i2c_sense_scl_done */
/* 0x05
b2
: i2c_sense_sda */
0x32f400f8
,
0x07c44301
,
0xfd0033cf
,
0x0bf40432
,
0x0131f406
,
/* 0x05
bc
: i2c_sense_sda_done */
/* 0x05
be
: i2c_raise_scl */
/* 0x05
c4
: i2c_sense_sda_done */
/* 0x05
c6
: i2c_raise_scl */
0x40f900f8
,
0x03089844
,
0x056
2
7e01
,
/* 0x05
c9
: i2c_raise_scl_wait */
0x056
a
7e01
,
/* 0x05
d1
: i2c_raise_scl_wait */
0x03e84e00
,
0x00005d7e
,
0x00059
6
7e
,
0x00059
e
7e
,
0xb60901f4
,
0x1bf40142
,
/* 0x05
dd
: i2c_raise_scl_done */
/* 0x05
e5
: i2c_raise_scl_done */
0xf840fcef
,
/* 0x05e
1
: i2c_start */
0x059
6
7e00
,
/* 0x05e
9
: i2c_start */
0x059
e
7e00
,
0x0d11f400
,
0x0005
aa
7e
,
0x0005
b2
7e
,
0xf40611f4
,
/* 0x05f
2
: i2c_start_rep */
/* 0x05f
a
: i2c_start_rep */
0x00032e0e
,
0x00056
2
7e
,
0x
7c
7e0103
,
0x00056
a
7e
,
0x
84
7e0103
,
0x76bb0005
,
0x0465b600
,
0x659450f9
,
0x0256bb04
,
0x75fd50bd
,
0x7e50fc04
,
0xb60005
be
,
0xb60005
c6
,
0x11f40464
,
/* 0x06
1d
: i2c_start_send */
/* 0x06
25
: i2c_start_send */
0x7e00031d
,
0x4e0005
7c
,
0x4e0005
84
,
0x5d7e1388
,
0x00030000
,
0x00056
2
7e
,
0x00056
a
7e
,
0x7e13884e
,
/* 0x063
7
: i2c_start_out */
/* 0x063
f
: i2c_start_out */
0xf800005d
,
/* 0x06
39
: i2c_stop */
/* 0x06
41
: i2c_stop */
0x7e000300
,
0x0300056
2
,
0x05
7c
7e00
,
0x0300056
a
,
0x05
84
7e00
,
0x03e84e00
,
0x00005d7e
,
0x6
2
7e0103
,
0x6
a
7e0103
,
0x884e0005
,
0x005d7e13
,
0x7e010300
,
0x4e0005
7c
,
0x4e0005
84
,
0x5d7e1388
,
0x00f80000
,
/* 0x06
68
: i2c_bitw */
0x0005
7c
7e
,
/* 0x06
70
: i2c_bitw */
0x0005
84
7e
,
0x7e03e84e
,
0xbb00005d
,
0x65b60076
,
...
...
@@ -1344,17 +1346,17 @@ uint32_t nv108_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x0005
be
7e
,
0x0005
c6
7e
,
0xf40464b6
,
0x884e1711
,
0x005d7e13
,
0x7e000300
,
0x4e00056
2
,
0x4e00056
a
,
0x5d7e1388
,
/* 0x06a
6
: i2c_bitw_out */
/* 0x06a
e
: i2c_bitw_out */
0x00f80000
,
/* 0x06
a8
: i2c_bitr */
0x
7c
7e0103
,
/* 0x06
b0
: i2c_bitr */
0x
84
7e0103
,
0xe84e0005
,
0x005d7e03
,
0x0076bb00
,
...
...
@@ -1362,26 +1364,26 @@ uint32_t nv108_pwr_code[] = {
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x
be
7e50fc
,
0x
c6
7e50fc
,
0x64b60005
,
0x1a11f404
,
0x0005
aa
7e
,
0x6
2
7e0003
,
0x0005
b2
7e
,
0x6
a
7e0003
,
0x884e0005
,
0x005d7e13
,
0x013cf000
,
/* 0x06
eb
: i2c_bitr_done */
/* 0x06
f3
: i2c_bitr_done */
0xf80131f4
,
/* 0x06
ed
: i2c_get_byte */
/* 0x06
f5
: i2c_get_byte */
0x04000500
,
/* 0x06f
1
: i2c_get_byte_next */
/* 0x06f
9
: i2c_get_byte_next */
0x0154b608
,
0xb60076bb
,
0x50f90465
,
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x06
a8
7e50
,
0x06
b0
7e50
,
0x0464b600
,
0xfd2a11f4
,
0x42b60553
,
...
...
@@ -1392,11 +1394,11 @@ uint32_t nv108_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0x7e50fc04
,
0xb60006
68
,
/* 0x07
3a
: i2c_get_byte_done */
0xb60006
70
,
/* 0x07
42
: i2c_get_byte_done */
0x00f80464
,
/* 0x07
3c
: i2c_put_byte */
/* 0x07
3e
: i2c_put_byte_next */
/* 0x07
44
: i2c_put_byte */
/* 0x07
46
: i2c_put_byte_next */
0x42b60804
,
0x3854ff01
,
0xb60076bb
,
...
...
@@ -1404,7 +1406,7 @@ uint32_t nv108_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x06
68
7e50
,
0x06
70
7e50
,
0x0464b600
,
0xb03411f4
,
0x1bf40046
,
...
...
@@ -1413,21 +1415,21 @@ uint32_t nv108_pwr_code[] = {
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x
a8
7e50fc
,
0x
b0
7e50fc
,
0x64b60006
,
0x0f11f404
,
0xb00076bb
,
0x1bf40136
,
0x0132f406
,
/* 0x079
4
: i2c_put_byte_done */
/* 0x079
6
: i2c_addr */
/* 0x079
c
: i2c_put_byte_done */
/* 0x079
e
: i2c_addr */
0x76bb00f8
,
0x0465b600
,
0x659450f9
,
0x0256bb04
,
0x75fd50bd
,
0x7e50fc04
,
0xb60005e
1
,
0xb60005e
9
,
0x11f40464
,
0x2ec3e729
,
0x0134b601
,
...
...
@@ -1437,24 +1439,24 @@ uint32_t nv108_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x0007
3c
7e
,
/* 0x07
db
: i2c_addr_done */
0x0007
44
7e
,
/* 0x07
e3
: i2c_addr_done */
0xf80464b6
,
/* 0x07
dd
: i2c_acquire_addr */
/* 0x07
e5
: i2c_acquire_addr */
0xf8cec700
,
0xb705e4b6
,
0xf8d014e0
,
/* 0x07
e9
: i2c_acquire */
0x07
dd
7e00
,
/* 0x07
f1
: i2c_acquire */
0x07
e5
7e00
,
0x00047e00
,
0x03d9f000
,
0x00002e7e
,
/* 0x0
7fa
: i2c_release */
0x
dd
7e00f8
,
/* 0x0
802
: i2c_release */
0x
e5
7e00f8
,
0x047e0007
,
0xdaf00000
,
0x002e7e03
,
/* 0x08
0b
: i2c_recv */
/* 0x08
13
: i2c_recv */
0xf400f800
,
0xc1c70132
,
0x0214b6f8
,
...
...
@@ -1474,7 +1476,7 @@ uint32_t nv108_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x0007
e9
7e
,
0x0007
f1
7e
,
0xfc0464b6
,
0x00d6b0d0
,
0x00b01bf5
,
...
...
@@ -1484,7 +1486,7 @@ uint32_t nv108_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0x7e50fc04
,
0xb600079
6
,
0xb600079
e
,
0x11f50464
,
0xc5c700cc
,
0x0076bbe0
,
...
...
@@ -1492,7 +1494,7 @@ uint32_t nv108_pwr_code[] = {
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x
3c
7e50fc
,
0x
44
7e50fc
,
0x64b60007
,
0xa911f504
,
0xbb010500
,
...
...
@@ -1501,7 +1503,7 @@ uint32_t nv108_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x00079
6
7e
,
0x00079
e
7e
,
0xf50464b6
,
0xbb008711
,
0x65b60076
,
...
...
@@ -1509,7 +1511,7 @@ uint32_t nv108_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x0006
ed
7e
,
0x0006
f5
7e
,
0xf40464b6
,
0x5bcb6711
,
0x0076bbe0
,
...
...
@@ -1517,37 +1519,37 @@ uint32_t nv108_pwr_code[] = {
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x
39
7e50fc
,
0x
41
7e50fc
,
0x64b60006
,
0xbd5bb204
,
0x410ef474
,
/* 0x091
0
: i2c_recv_not_rd08 */
/* 0x091
8
: i2c_recv_not_rd08 */
0xf401d6b0
,
0x00053b1b
,
0x00079
6
7e
,
0x00079
e
7e
,
0xc73211f4
,
0x
3c
7ee0c5
,
0x
44
7ee0c5
,
0x11f40007
,
0x7e000528
,
0xf400079
6
,
0xf400079
e
,
0xb5c71f11
,
0x07
3c
7ee0
,
0x07
44
7ee0
,
0x1511f400
,
0x0006
39
7e
,
0x0006
41
7e
,
0xc5c774bd
,
0x091bf408
,
0xf40232f4
,
/* 0x09
4e
: i2c_recv_not_wr08 */
/* 0x09
4e
: i2c_recv_done */
/* 0x09
56
: i2c_recv_not_wr08 */
/* 0x09
56
: i2c_recv_done */
0xcec7030e
,
0x0
7fa
7ef8
,
0x0
802
7ef8
,
0xfce0fc00
,
0x0912f4d0
,
0xc27e7cb2
,
/* 0x096
2
: i2c_recv_exit */
/* 0x096
a
: i2c_recv_exit */
0x00f80002
,
/* 0x096
4
: i2c_init */
/* 0x096
6
: test_recv */
/* 0x096
c
: i2c_init */
/* 0x096
e
: test_recv */
0x584100f8
,
0x0011cf04
,
0x400110b6
,
...
...
@@ -1556,27 +1558,27 @@ uint32_t nv108_pwr_code[] = {
0xf1d900e7
,
0x7e134fe3
,
0xf8000201
,
/* 0x098
5
: test_init */
/* 0x098
d
: test_init */
0x08004e00
,
0x0002017e
,
/* 0x09
8e
: idle_recv */
/* 0x09
96
: idle_recv */
0x00f800f8
,
/* 0x099
0
: idle */
/* 0x099
8
: idle */
0x410031f4
,
0x11cf0454
,
0x0110b600
,
0xf6045440
,
0x04bd0001
,
/* 0x09a
4
: idle_loop */
/* 0x09a
c
: idle_loop */
0x32f45801
,
/* 0x09
a9
: idle_proc */
/* 0x09
a9
: idle_proc_exec */
/* 0x09
b1
: idle_proc */
/* 0x09
b1
: idle_proc_exec */
0xb210f902
,
0x02cb7e1e
,
0xf410fc00
,
0x31f40911
,
0xf00ef402
,
/* 0x09
bc
: idle_proc_next */
/* 0x09
c4
: idle_proc_next */
0xa65810b6
,
0xe81bf41f
,
0xf4e002f4
,
...
...
@@ -1592,6 +1594,4 @@ uint32_t nv108_pwr_code[] = {
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
};
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
View file @
30da0806
...
...
@@ -46,8 +46,8 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
0x584d454d
,
0x000006
d8
,
0x000006
ca
,
0x000006
e0
,
0x000006
d2
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -68,8 +68,8 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
0x46524550
,
0x000006
dc
,
0x000006
da
,
0x000006
e4
,
0x000006
e2
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -90,8 +90,8 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
0x5f433249
,
0x00000b
0c
,
0x000009
af
,
0x00000b
14
,
0x000009
b7
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -112,8 +112,8 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
0x54534554
,
0x00000b3
5
,
0x00000b
0e
,
0x00000b3
d
,
0x00000b
16
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -134,8 +134,8 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
0x454c4449
,
0x00000b4
1
,
0x00000b
3f
,
0x00000b4
9
,
0x00000b
47
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -227,23 +227,23 @@ uint32_t nva3_pwr_data[] = {
0x00000000
,
0x00000000
,
/* 0x0370: memx_func_head */
0x0000000
0
,
0x0000000
1
,
0x00000000
,
0x00000551
,
/* 0x037c: memx_func_next */
0x0000000
1
,
0x0000000
2
,
0x00000000
,
0x000005a8
,
0x0000000
2
,
0x0000000
3
,
0x00000002
,
0x0000063a
,
0x0004000
3
,
0x0004000
4
,
0x00000000
,
0x00000656
,
0x0001000
4
,
0x0001000
5
,
0x00000000
,
0x00000673
,
0x0001000
5
,
0x0001000
6
,
0x00000000
,
0x000005f8
,
/* 0x03b8: memx_func_tail */
...
...
@@ -1329,11 +1329,13 @@ uint32_t nva3_pwr_code[] = {
0x02b2b902
,
/* 0x0688: memx_exec_next */
0xb6001398
,
0x34950410
,
0x0c30f010
,
0x34e70410
,
0x33e701f0
,
0x32b601e0
,
0x0c30f001
,
0xf9de3598
,
0x0612b855
,
0x98e
c
1ef4
,
0x98e
4
1ef4
,
0x0c98ee0b
,
0x02cbbbef
,
0x07c4b7f1
,
...
...
@@ -1341,112 +1343,112 @@ uint32_t nva3_pwr_code[] = {
0xd0fc00bb
,
0x21f5e0fc
,
0x00f80342
,
/* 0x06
bc
: memx_info */
/* 0x06
c4
: memx_info */
0x03c0c7f1
,
0x0800b7f1
,
0x034221f5
,
/* 0x06
ca
: memx_recv */
/* 0x06
d2
: memx_recv */
0xd6b000f8
,
0x
b1
0bf401
,
0x
a9
0bf401
,
0xf400d6b0
,
0x00f8e90b
,
/* 0x06
d8
: memx_init */
/* 0x06
da
: perf_recv */
/* 0x06
e0
: memx_init */
/* 0x06
e2
: perf_recv */
0x00f800f8
,
/* 0x06
dc
: perf_init */
/* 0x06
de
: i2c_drive_scl */
/* 0x06
e4
: perf_init */
/* 0x06
e6
: i2c_drive_scl */
0x36b000f8
,
0x110bf400
,
0x07e007f1
,
0xd00604b6
,
0x04bd0001
,
/* 0x06f
2
: i2c_drive_scl_lo */
/* 0x06f
a
: i2c_drive_scl_lo */
0x07f100f8
,
0x04b607e4
,
0x0001d006
,
0x00f804bd
,
/* 0x070
0
: i2c_drive_sda */
/* 0x070
8
: i2c_drive_sda */
0xf40036b0
,
0x07f1110b
,
0x04b607e0
,
0x0002d006
,
0x00f804bd
,
/* 0x071
4
: i2c_drive_sda_lo */
/* 0x071
c
: i2c_drive_sda_lo */
0x07e407f1
,
0xd00604b6
,
0x04bd0002
,
/* 0x072
2
: i2c_sense_scl */
/* 0x072
a
: i2c_sense_scl */
0x32f400f8
,
0xc437f101
,
0x0634b607
,
0xfd0033cf
,
0x0bf40431
,
0x0131f406
,
/* 0x07
38
: i2c_sense_scl_done */
/* 0x07
3a
: i2c_sense_sda */
/* 0x07
40
: i2c_sense_scl_done */
/* 0x07
42
: i2c_sense_sda */
0x32f400f8
,
0xc437f101
,
0x0634b607
,
0xfd0033cf
,
0x0bf40432
,
0x0131f406
,
/* 0x075
0
: i2c_sense_sda_done */
/* 0x075
2
: i2c_raise_scl */
/* 0x075
8
: i2c_sense_sda_done */
/* 0x075
a
: i2c_raise_scl */
0x40f900f8
,
0x089847f1
,
0xf50137f0
,
/* 0x07
5f
: i2c_raise_scl_wait */
0xf106
de
21
,
/* 0x07
67
: i2c_raise_scl_wait */
0xf106
e6
21
,
0xf403e8e7
,
0x21f57f21
,
0x01f4072
2
,
0x01f4072
a
,
0x0142b609
,
/* 0x077
3
: i2c_raise_scl_done */
/* 0x077
b
: i2c_raise_scl_done */
0xfcef1bf4
,
/* 0x077
7
: i2c_start */
/* 0x077
f
: i2c_start */
0xf500f840
,
0xf4072
2
21
,
0xf4072
a
21
,
0x21f50d11
,
0x11f407
3a
,
0x11f407
42
,
0x300ef406
,
/* 0x07
88
: i2c_start_rep */
/* 0x07
90
: i2c_start_rep */
0xf50037f0
,
0xf006
de
21
,
0xf006
e6
21
,
0x21f50137
,
0x76bb070
0
,
0x76bb070
8
,
0x0465b600
,
0x659450f9
,
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb6075
2
21
,
0xb6075
a
21
,
0x11f40464
,
/* 0x07b
5
: i2c_start_send */
/* 0x07b
d
: i2c_start_send */
0x0037f01f
,
0x070
0
21f5
,
0x070
8
21f5
,
0x1388e7f1
,
0xf07f21f4
,
0x21f50037
,
0xe7f106
de
,
0xe7f106
e6
,
0x21f41388
,
/* 0x07d
1
: i2c_start_out */
/* 0x07d
3
: i2c_stop */
/* 0x07d
9
: i2c_start_out */
/* 0x07d
b
: i2c_stop */
0xf000f87f
,
0x21f50037
,
0x37f006
de
,
0x0
0
21f500
,
0x37f006
e6
,
0x0
8
21f500
,
0xe8e7f107
,
0x7f21f403
,
0xf50137f0
,
0xf106
de
21
,
0xf106
e6
21
,
0xf41388e7
,
0x37f07f21
,
0x0
0
21f501
,
0x0
8
21f501
,
0x88e7f107
,
0x7f21f413
,
/* 0x080
6
: i2c_bitw */
/* 0x080
e
: i2c_bitw */
0x21f500f8
,
0xe7f1070
0
,
0xe7f1070
8
,
0x21f403e8
,
0x0076bb7f
,
0xf90465b6
,
...
...
@@ -1454,18 +1456,18 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6075
2
,
0x64b6075
a
,
0x1811f404
,
0x1388e7f1
,
0xf07f21f4
,
0x21f50037
,
0xe7f106
de
,
0xe7f106
e6
,
0x21f41388
,
/* 0x084
5
: i2c_bitw_out */
/* 0x084
7
: i2c_bitr */
/* 0x084
d
: i2c_bitw_out */
/* 0x084
f
: i2c_bitr */
0xf000f87f
,
0x21f50137
,
0xe7f1070
0
,
0xe7f1070
8
,
0x21f403e8
,
0x0076bb7f
,
0xf90465b6
,
...
...
@@ -1473,26 +1475,26 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6075
2
,
0x64b6075
a
,
0x1b11f404
,
0x07
3a
21f5
,
0x07
42
21f5
,
0xf50037f0
,
0xf106
de
21
,
0xf106
e6
21
,
0xf41388e7
,
0x3cf07f21
,
0x0131f401
,
/* 0x08
8c
: i2c_bitr_done */
/* 0x08
8e
: i2c_get_byte */
/* 0x08
94
: i2c_bitr_done */
/* 0x08
96
: i2c_get_byte */
0x57f000f8
,
0x0847f000
,
/* 0x089
4
: i2c_get_byte_next */
/* 0x089
c
: i2c_get_byte_next */
0xbb0154b6
,
0x65b60076
,
0x9450f904
,
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x084
7
21f5
,
0x084
f
21f5
,
0xf40464b6
,
0x53fd2b11
,
0x0142b605
,
...
...
@@ -1503,11 +1505,11 @@ uint32_t nva3_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb6080
6
21
,
/* 0x08
de
: i2c_get_byte_done */
0xb6080
e
21
,
/* 0x08
e6
: i2c_get_byte_done */
0x00f80464
,
/* 0x08e
0
: i2c_put_byte */
/* 0x08e
3
: i2c_put_byte_next */
/* 0x08e
8
: i2c_put_byte */
/* 0x08e
b
: i2c_put_byte_next */
0xb60847f0
,
0x54ff0142
,
0x0076bb38
,
...
...
@@ -1516,7 +1518,7 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6080
6
,
0x64b6080
e
,
0x3411f404
,
0xf40046b0
,
0x76bbd81b
,
...
...
@@ -1525,20 +1527,20 @@ uint32_t nva3_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb6084
7
21
,
0xb6084
f
21
,
0x11f40464
,
0x0076bb0f
,
0xf40136b0
,
0x32f4061b
,
/* 0x09
39
: i2c_put_byte_done */
/* 0x09
3b
: i2c_addr */
/* 0x09
41
: i2c_put_byte_done */
/* 0x09
43
: i2c_addr */
0xbb00f801
,
0x65b60076
,
0x9450f904
,
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x077
7
21f5
,
0x077
f
21f5
,
0xf40464b6
,
0xc3e72911
,
0x34b6012e
,
...
...
@@ -1548,24 +1550,24 @@ uint32_t nva3_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0xe
0
21f550
,
0xe
8
21f550
,
0x0464b608
,
/* 0x098
0
: i2c_addr_done */
/* 0x098
2
: i2c_acquire_addr */
/* 0x098
8
: i2c_addr_done */
/* 0x098
a
: i2c_acquire_addr */
0xcec700f8
,
0x02e4b6f8
,
0x0c10e0b7
,
0xf800ee98
,
/* 0x099
1
: i2c_acquire */
0x8
2
21f500
,
/* 0x099
9
: i2c_acquire */
0x8
a
21f500
,
0x0421f409
,
0xf403d9f0
,
0x00f83f21
,
/* 0x09a
0
: i2c_release */
0x098
2
21f5
,
/* 0x09a
8
: i2c_release */
0x098
a
21f5
,
0xf00421f4
,
0x21f403da
,
/* 0x09
af
: i2c_recv */
/* 0x09
b7
: i2c_recv */
0xf400f83f
,
0xc1c70132
,
0x0214b6f8
,
...
...
@@ -1585,7 +1587,7 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6099
1
,
0x64b6099
9
,
0xb0d0fc04
,
0x1bf500d6
,
0x57f000b3
,
...
...
@@ -1595,7 +1597,7 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b609
3b
,
0x64b609
43
,
0xd011f504
,
0xe0c5c700
,
0xb60076bb
,
...
...
@@ -1603,7 +1605,7 @@ uint32_t nva3_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0xe
0
21f550
,
0xe
8
21f550
,
0x0464b608
,
0x00ad11f5
,
0xbb0157f0
,
...
...
@@ -1612,7 +1614,7 @@ uint32_t nva3_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x09
3b
21f5
,
0x09
43
21f5
,
0xf50464b6
,
0xbb008a11
,
0x65b60076
,
...
...
@@ -1620,7 +1622,7 @@ uint32_t nva3_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x08
8e
21f5
,
0x08
96
21f5
,
0xf40464b6
,
0x5bcb6a11
,
0x0076bbe0
,
...
...
@@ -1629,37 +1631,37 @@ uint32_t nva3_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b607d
3
,
0x64b607d
b
,
0x025bb904
,
0x0ef474bd
,
/* 0x0ab
5
: i2c_recv_not_rd08 */
/* 0x0ab
d
: i2c_recv_not_rd08 */
0x01d6b043
,
0xf03d1bf4
,
0x21f50057
,
0x11f409
3b
,
0x11f409
43
,
0xe0c5c733
,
0x08e
0
21f5
,
0x08e
8
21f5
,
0xf02911f4
,
0x21f50057
,
0x11f409
3b
,
0x11f409
43
,
0xe0b5c71f
,
0x08e
0
21f5
,
0x08e
8
21f5
,
0xf51511f4
,
0xbd07d
3
21
,
0xbd07d
b
21
,
0x08c5c774
,
0xf4091bf4
,
0x0ef40232
,
/* 0x0af
5
: i2c_recv_not_wr08 */
/* 0x0af
5
: i2c_recv_done */
/* 0x0af
d
: i2c_recv_not_wr08 */
/* 0x0af
d
: i2c_recv_done */
0xf8cec703
,
0x09a
0
21f5
,
0x09a
8
21f5
,
0xd0fce0fc
,
0xb90a12f4
,
0x21f5027c
,
/* 0x0b
0a
: i2c_recv_exit */
/* 0x0b
12
: i2c_recv_exit */
0x00f80342
,
/* 0x0b
0c
: i2c_init */
/* 0x0b
0e
: test_recv */
/* 0x0b
14
: i2c_init */
/* 0x0b
16
: test_recv */
0x17f100f8
,
0x14b605d8
,
0x0011cf06
,
...
...
@@ -1670,12 +1672,12 @@ uint32_t nva3_pwr_code[] = {
0xf1d900e7
,
0xf5134fe3
,
0xf8026221
,
/* 0x0b3
5
: test_init */
/* 0x0b3
d
: test_init */
0x00e7f100
,
0x6221f508
,
/* 0x0b
3f
: idle_recv */
/* 0x0b
47
: idle_recv */
0xf800f802
,
/* 0x0b4
1
: idle */
/* 0x0b4
9
: idle */
0x0031f400
,
0x05d417f1
,
0xcf0614b6
,
...
...
@@ -1683,16 +1685,16 @@ uint32_t nva3_pwr_code[] = {
0xd407f101
,
0x0604b605
,
0xbd0001d0
,
/* 0x0b
5d
: idle_loop */
/* 0x0b
65
: idle_loop */
0x5817f004
,
/* 0x0b6
3
: idle_proc */
/* 0x0b6
3
: idle_proc_exec */
/* 0x0b6
b
: idle_proc */
/* 0x0b6
b
: idle_proc_exec */
0xf90232f4
,
0x021eb910
,
0x034b21f5
,
0x11f410fc
,
0x0231f409
,
/* 0x0b7
7
: idle_proc_next */
/* 0x0b7
f
: idle_proc_next */
0xb6ef0ef4
,
0x1fb85810
,
0xe61bf406
,
...
...
@@ -1726,6 +1728,4 @@ uint32_t nva3_pwr_code[] = {
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
};
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
View file @
30da0806
...
...
@@ -46,8 +46,8 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x584d454d
,
0x000006
8b
,
0x000006
7d
,
0x000006
93
,
0x000006
85
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -68,8 +68,8 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x46524550
,
0x000006
8f
,
0x000006
8d
,
0x000006
97
,
0x000006
95
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -90,8 +90,8 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x5f433249
,
0x00000a
bf
,
0x0000096
2
,
0x00000a
c7
,
0x0000096
a
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -112,8 +112,8 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x54534554
,
0x00000a
e8
,
0x00000ac
1
,
0x00000a
f0
,
0x00000ac
9
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -134,8 +134,8 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x454c4449
,
0x00000af
4
,
0x00000af
2
,
0x00000af
c
,
0x00000af
a
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -227,23 +227,23 @@ uint32_t nvc0_pwr_data[] = {
0x00000000
,
0x00000000
,
/* 0x0370: memx_func_head */
0x0000000
0
,
0x0000000
1
,
0x00000000
,
0x00000551
,
/* 0x037c: memx_func_next */
0x0000000
1
,
0x0000000
2
,
0x00000000
,
0x0000057e
,
0x0000000
2
,
0x0000000
3
,
0x00000002
,
0x000005ed
,
0x0004000
3
,
0x0004000
4
,
0x00000000
,
0x00000609
,
0x0001000
4
,
0x0001000
5
,
0x00000000
,
0x00000626
,
0x0001000
5
,
0x0001000
6
,
0x00000000
,
0x000005ab
,
/* 0x03b8: memx_func_tail */
...
...
@@ -1310,123 +1310,125 @@ uint32_t nvc0_pwr_code[] = {
/* 0x063b: memx_exec_next */
0x9802b2b9
,
0x10b60013
,
0x10349504
,
0xf034e704
,
0xe033e701
,
0x0132b601
,
0x980c30f0
,
0x55f9de35
,
0xf40612b8
,
0x0b98e
c
1e
,
0x0b98e
4
1e
,
0xef0c98ee
,
0xf102cbbb
,
0xb607c4b7
,
0xbbcf06b4
,
0xfcd0fc00
,
0x4221f5e0
,
/* 0x06
6f
: memx_info */
/* 0x06
77
: memx_info */
0xf100f803
,
0xf103c0c7
,
0xf50800b7
,
0xf8034221
,
/* 0x06
7d
: memx_recv */
/* 0x06
85
: memx_recv */
0x01d6b000
,
0xb0
b1
0bf4
,
0xb0
a9
0bf4
,
0x0bf400d6
,
/* 0x06
8b
: memx_init */
/* 0x06
93
: memx_init */
0xf800f8e9
,
/* 0x06
8d
: perf_recv */
/* 0x06
8f
: perf_init */
/* 0x06
95
: perf_recv */
/* 0x06
97
: perf_init */
0xf800f800
,
/* 0x069
1
: i2c_drive_scl */
/* 0x069
9
: i2c_drive_scl */
0x0036b000
,
0xf1110bf4
,
0xb607e007
,
0x01d00604
,
0xf804bd00
,
/* 0x06a
5
: i2c_drive_scl_lo */
/* 0x06a
d
: i2c_drive_scl_lo */
0xe407f100
,
0x0604b607
,
0xbd0001d0
,
/* 0x06b
3
: i2c_drive_sda */
/* 0x06b
b
: i2c_drive_sda */
0xb000f804
,
0x0bf40036
,
0xe007f111
,
0x0604b607
,
0xbd0002d0
,
/* 0x06c
7
: i2c_drive_sda_lo */
/* 0x06c
f
: i2c_drive_sda_lo */
0xf100f804
,
0xb607e407
,
0x02d00604
,
0xf804bd00
,
/* 0x06d
5
: i2c_sense_scl */
/* 0x06d
d
: i2c_sense_scl */
0x0132f400
,
0x07c437f1
,
0xcf0634b6
,
0x31fd0033
,
0x060bf404
,
/* 0x06
eb
: i2c_sense_scl_done */
/* 0x06
f3
: i2c_sense_scl_done */
0xf80131f4
,
/* 0x06
ed
: i2c_sense_sda */
/* 0x06
f5
: i2c_sense_sda */
0x0132f400
,
0x07c437f1
,
0xcf0634b6
,
0x32fd0033
,
0x060bf404
,
/* 0x070
3
: i2c_sense_sda_done */
/* 0x070
b
: i2c_sense_sda_done */
0xf80131f4
,
/* 0x070
5
: i2c_raise_scl */
/* 0x070
d
: i2c_raise_scl */
0xf140f900
,
0xf0089847
,
0x21f50137
,
/* 0x071
2
: i2c_raise_scl_wait */
0xe7f1069
1
,
/* 0x071
a
: i2c_raise_scl_wait */
0xe7f1069
9
,
0x21f403e8
,
0xd
5
21f57f
,
0xd
d
21f57f
,
0x0901f406
,
0xf40142b6
,
/* 0x072
6
: i2c_raise_scl_done */
/* 0x072
e
: i2c_raise_scl_done */
0x40fcef1b
,
/* 0x07
2a
: i2c_start */
/* 0x07
32
: i2c_start */
0x21f500f8
,
0x11f406d
5
,
0x
ed
21f50d
,
0x11f406d
d
,
0x
f5
21f50d
,
0x0611f406
,
/* 0x07
3b
: i2c_start_rep */
/* 0x07
43
: i2c_start_rep */
0xf0300ef4
,
0x21f50037
,
0x37f0069
1
,
0xb
3
21f501
,
0x37f0069
9
,
0xb
b
21f501
,
0x0076bb06
,
0xf90465b6
,
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6070
5
,
0x64b6070
d
,
0x1f11f404
,
/* 0x07
68
: i2c_start_send */
/* 0x07
70
: i2c_start_send */
0xf50037f0
,
0xf106b
3
21
,
0xf106b
b
21
,
0xf41388e7
,
0x37f07f21
,
0x9
1
21f500
,
0x9
9
21f500
,
0x88e7f106
,
0x7f21f413
,
/* 0x078
4
: i2c_start_out */
/* 0x078
6
: i2c_stop */
/* 0x078
c
: i2c_start_out */
/* 0x078
e
: i2c_stop */
0x37f000f8
,
0x9
1
21f500
,
0x9
9
21f500
,
0x0037f006
,
0x06b
3
21f5
,
0x06b
b
21f5
,
0x03e8e7f1
,
0xf07f21f4
,
0x21f50137
,
0xe7f1069
1
,
0xe7f1069
9
,
0x21f41388
,
0x0137f07f
,
0x06b
3
21f5
,
0x06b
b
21f5
,
0x1388e7f1
,
0xf87f21f4
,
/* 0x07
b9
: i2c_bitw */
0xb
3
21f500
,
/* 0x07
c1
: i2c_bitw */
0xb
b
21f500
,
0xe8e7f106
,
0x7f21f403
,
0xb60076bb
,
...
...
@@ -1434,18 +1436,18 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x0
5
21f550
,
0x0
d
21f550
,
0x0464b607
,
0xf11811f4
,
0xf41388e7
,
0x37f07f21
,
0x9
1
21f500
,
0x9
9
21f500
,
0x88e7f106
,
0x7f21f413
,
/* 0x0
7f8
: i2c_bitw_out */
/* 0x0
7fa
: i2c_bitr */
/* 0x0
800
: i2c_bitw_out */
/* 0x0
802
: i2c_bitr */
0x37f000f8
,
0xb
3
21f501
,
0xb
b
21f501
,
0xe8e7f106
,
0x7f21f403
,
0xb60076bb
,
...
...
@@ -1453,19 +1455,19 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x0
5
21f550
,
0x0
d
21f550
,
0x0464b607
,
0xf51b11f4
,
0xf006
ed
21
,
0xf006
f5
21
,
0x21f50037
,
0xe7f1069
1
,
0xe7f1069
9
,
0x21f41388
,
0x013cf07f
,
/* 0x08
3f
: i2c_bitr_done */
/* 0x08
47
: i2c_bitr_done */
0xf80131f4
,
/* 0x084
1
: i2c_get_byte */
/* 0x084
9
: i2c_get_byte */
0x0057f000
,
/* 0x084
7
: i2c_get_byte_next */
/* 0x084
f
: i2c_get_byte_next */
0xb60847f0
,
0x76bb0154
,
0x0465b600
,
...
...
@@ -1473,7 +1475,7 @@ uint32_t nvc0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb60
7fa
21
,
0xb60
802
21
,
0x11f40464
,
0x0553fd2b
,
0xf40142b6
,
...
...
@@ -1484,11 +1486,11 @@ uint32_t nvc0_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b607
b9
,
/* 0x089
1
: i2c_get_byte_done */
/* 0x089
3
: i2c_put_byte */
0x64b607
c1
,
/* 0x089
9
: i2c_get_byte_done */
/* 0x089
b
: i2c_put_byte */
0xf000f804
,
/* 0x089
6
: i2c_put_byte_next */
/* 0x089
e
: i2c_put_byte_next */
0x42b60847
,
0x3854ff01
,
0xb60076bb
,
...
...
@@ -1496,7 +1498,7 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x
b9
21f550
,
0x
c1
21f550
,
0x0464b607
,
0xb03411f4
,
0x1bf40046
,
...
...
@@ -1506,20 +1508,20 @@ uint32_t nvc0_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b60
7fa
,
0x64b60
802
,
0x0f11f404
,
0xb00076bb
,
0x1bf40136
,
0x0132f406
,
/* 0x08
ec
: i2c_put_byte_done */
/* 0x08
ee
: i2c_addr */
/* 0x08
f4
: i2c_put_byte_done */
/* 0x08
f6
: i2c_addr */
0x76bb00f8
,
0x0465b600
,
0x659450f9
,
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb607
2a
21
,
0xb607
32
21
,
0x11f40464
,
0x2ec3e729
,
0x0134b601
,
...
...
@@ -1529,24 +1531,24 @@ uint32_t nvc0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x089
3
21f5
,
/* 0x093
3
: i2c_addr_done */
0x089
b
21f5
,
/* 0x093
b
: i2c_addr_done */
0xf80464b6
,
/* 0x093
5
: i2c_acquire_addr */
/* 0x093
d
: i2c_acquire_addr */
0xf8cec700
,
0xb702e4b6
,
0x980c10e0
,
0x00f800ee
,
/* 0x094
4
: i2c_acquire */
0x093
5
21f5
,
/* 0x094
c
: i2c_acquire */
0x093
d
21f5
,
0xf00421f4
,
0x21f403d9
,
/* 0x095
3
: i2c_release */
/* 0x095
b
: i2c_release */
0xf500f83f
,
0xf4093
5
21
,
0xf4093
d
21
,
0xdaf00421
,
0x3f21f403
,
/* 0x096
2
: i2c_recv */
/* 0x096
a
: i2c_recv */
0x32f400f8
,
0xf8c1c701
,
0xb00214b6
,
...
...
@@ -1565,7 +1567,7 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x4
4
21f550
,
0x4
c
21f550
,
0x0464b609
,
0xd6b0d0fc
,
0xb31bf500
,
...
...
@@ -1575,7 +1577,7 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x
ee
21f550
,
0x
f6
21f550
,
0x0464b608
,
0x00d011f5
,
0xbbe0c5c7
,
...
...
@@ -1584,7 +1586,7 @@ uint32_t nvc0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x089
3
21f5
,
0x089
b
21f5
,
0xf50464b6
,
0xf000ad11
,
0x76bb0157
,
...
...
@@ -1593,7 +1595,7 @@ uint32_t nvc0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb608
ee
21
,
0xb608
f6
21
,
0x11f50464
,
0x76bb008a
,
0x0465b600
,
...
...
@@ -1601,7 +1603,7 @@ uint32_t nvc0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb6084
1
21
,
0xb6084
9
21
,
0x11f40464
,
0xe05bcb6a
,
0xb60076bb
,
...
...
@@ -1609,38 +1611,38 @@ uint32_t nvc0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x8
6
21f550
,
0x8
e
21f550
,
0x0464b607
,
0xbd025bb9
,
0x430ef474
,
/* 0x0a
68
: i2c_recv_not_rd08 */
/* 0x0a
70
: i2c_recv_not_rd08 */
0xf401d6b0
,
0x57f03d1b
,
0x
ee
21f500
,
0x
f6
21f500
,
0x3311f408
,
0xf5e0c5c7
,
0xf4089
3
21
,
0xf4089
b
21
,
0x57f02911
,
0x
ee
21f500
,
0x
f6
21f500
,
0x1f11f408
,
0xf5e0b5c7
,
0xf4089
3
21
,
0xf4089
b
21
,
0x21f51511
,
0x74bd078
6
,
0x74bd078
e
,
0xf408c5c7
,
0x32f4091b
,
0x030ef402
,
/* 0x0a
a8
: i2c_recv_not_wr08 */
/* 0x0a
a8
: i2c_recv_done */
/* 0x0a
b0
: i2c_recv_not_wr08 */
/* 0x0a
b0
: i2c_recv_done */
0xf5f8cec7
,
0xfc095
3
21
,
0xfc095
b
21
,
0xf4d0fce0
,
0x7cb90a12
,
0x4221f502
,
/* 0x0a
bd
: i2c_recv_exit */
/* 0x0a
bf
: i2c_init */
/* 0x0a
c5
: i2c_recv_exit */
/* 0x0a
c7
: i2c_init */
0xf800f803
,
/* 0x0ac
1
: test_recv */
/* 0x0ac
9
: test_recv */
0xd817f100
,
0x0614b605
,
0xb60011cf
,
...
...
@@ -1651,12 +1653,12 @@ uint32_t nvc0_pwr_code[] = {
0xe3f1d900
,
0x21f5134f
,
0x00f80262
,
/* 0x0a
e8
: test_init */
/* 0x0a
f0
: test_init */
0x0800e7f1
,
0x026221f5
,
/* 0x0af
2
: idle_recv */
/* 0x0af
a
: idle_recv */
0x00f800f8
,
/* 0x0af
4
: idle */
/* 0x0af
c
: idle */
0xf10031f4
,
0xb605d417
,
0x11cf0614
,
...
...
@@ -1664,16 +1666,16 @@ uint32_t nvc0_pwr_code[] = {
0x05d407f1
,
0xd00604b6
,
0x04bd0001
,
/* 0x0b1
0
: idle_loop */
/* 0x0b1
8
: idle_loop */
0xf45817f0
,
/* 0x0b1
6
: idle_proc */
/* 0x0b1
6
: idle_proc_exec */
/* 0x0b1
e
: idle_proc */
/* 0x0b1
e
: idle_proc_exec */
0x10f90232
,
0xf5021eb9
,
0xfc034b21
,
0x0911f410
,
0xf40231f4
,
/* 0x0b
2a
: idle_proc_next */
/* 0x0b
32
: idle_proc_next */
0x10b6ef0e
,
0x061fb858
,
0xf4e61bf4
,
...
...
@@ -1726,6 +1728,4 @@ uint32_t nvc0_pwr_code[] = {
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
};
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
View file @
30da0806
...
...
@@ -46,8 +46,8 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x584d454d
,
0x000005
b8
,
0x000005
aa
,
0x000005
c0
,
0x000005
b2
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -68,8 +68,8 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x46524550
,
0x000005
bc
,
0x000005
ba
,
0x000005
c4
,
0x000005
c2
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -90,8 +90,8 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x5f433249
,
0x000009d
7
,
0x000008
7a
,
0x000009d
f
,
0x000008
82
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -112,8 +112,8 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x54534554
,
0x00000
9fa
,
0x000009
d9
,
0x00000
a02
,
0x000009
e1
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -134,8 +134,8 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
0x454c4449
,
0x00000a0
6
,
0x00000a0
4
,
0x00000a0
e
,
0x00000a0
c
,
0x00000000
,
0x00000000
,
0x00000000
,
...
...
@@ -227,23 +227,23 @@ uint32_t nvd0_pwr_data[] = {
0x00000000
,
0x00000000
,
/* 0x0370: memx_func_head */
0x0000000
0
,
0x0000000
1
,
0x00000000
,
0x000004d3
,
/* 0x037c: memx_func_next */
0x0000000
1
,
0x0000000
2
,
0x00000000
,
0x000004f7
,
0x0000000
2
,
0x0000000
3
,
0x00000002
,
0x00000520
,
0x0004000
3
,
0x0004000
4
,
0x00000000
,
0x0000053c
,
0x0001000
4
,
0x0001000
5
,
0x00000000
,
0x00000556
,
0x0001000
5
,
0x0001000
6
,
0x00000000
,
0x0000051b
,
/* 0x03b8: memx_func_tail */
...
...
@@ -1252,118 +1252,120 @@ uint32_t nvd0_pwr_code[] = {
/* 0x056b: memx_exec_next */
0x9802b2b9
,
0x10b60013
,
0x10349504
,
0xf034e704
,
0xe033e701
,
0x0132b601
,
0x980c30f0
,
0x55f9de35
,
0xf40612b8
,
0x0b98e
c
1e
,
0x0b98e
4
1e
,
0xef0c98ee
,
0xf102cbbb
,
0xcf07c4b7
,
0xd0fc00bb
,
0x21f5e0fc
,
0x00f802f1
,
/* 0x05
9c
: memx_info */
/* 0x05
a4
: memx_info */
0x03c0c7f1
,
0x0800b7f1
,
0x02f121f5
,
/* 0x05
aa
: memx_recv */
/* 0x05
b2
: memx_recv */
0xd6b000f8
,
0x
b4
0bf401
,
0x
ac
0bf401
,
0xf400d6b0
,
0x00f8e90b
,
/* 0x05
b8
: memx_init */
/* 0x05
ba
: perf_recv */
/* 0x05
c0
: memx_init */
/* 0x05
c2
: perf_recv */
0x00f800f8
,
/* 0x05
bc
: perf_init */
/* 0x05
be
: i2c_drive_scl */
/* 0x05
c4
: perf_init */
/* 0x05
c6
: i2c_drive_scl */
0x36b000f8
,
0x0e0bf400
,
0x07e007f1
,
0xbd0001d0
,
/* 0x05
cf
: i2c_drive_scl_lo */
/* 0x05
d7
: i2c_drive_scl_lo */
0xf100f804
,
0xd007e407
,
0x04bd0001
,
/* 0x05
da
: i2c_drive_sda */
/* 0x05
e2
: i2c_drive_sda */
0x36b000f8
,
0x0e0bf400
,
0x07e007f1
,
0xbd0002d0
,
/* 0x05
eb
: i2c_drive_sda_lo */
/* 0x05
f3
: i2c_drive_sda_lo */
0xf100f804
,
0xd007e407
,
0x04bd0002
,
/* 0x05f
6
: i2c_sense_scl */
/* 0x05f
e
: i2c_sense_scl */
0x32f400f8
,
0xc437f101
,
0x0033cf07
,
0xf40431fd
,
0x31f4060b
,
/* 0x06
09
: i2c_sense_scl_done */
/* 0x06
0b
: i2c_sense_sda */
/* 0x06
11
: i2c_sense_scl_done */
/* 0x06
13
: i2c_sense_sda */
0xf400f801
,
0x37f10132
,
0x33cf07c4
,
0x0432fd00
,
0xf4060bf4
,
/* 0x06
1e
: i2c_sense_sda_done */
/* 0x06
26
: i2c_sense_sda_done */
0x00f80131
,
/* 0x062
0
: i2c_raise_scl */
/* 0x062
8
: i2c_raise_scl */
0x47f140f9
,
0x37f00898
,
0x
be
21f501
,
/* 0x06
2d
: i2c_raise_scl_wait */
0x
c6
21f501
,
/* 0x06
35
: i2c_raise_scl_wait */
0xe8e7f105
,
0x6721f403
,
0x05f
6
21f5
,
0x05f
e
21f5
,
0xb60901f4
,
0x1bf40142
,
/* 0x064
1
: i2c_raise_scl_done */
/* 0x064
9
: i2c_raise_scl_done */
0xf840fcef
,
/* 0x064
5
: i2c_start */
0xf
6
21f500
,
/* 0x064
d
: i2c_start */
0xf
e
21f500
,
0x0d11f405
,
0x06
0b
21f5
,
0x06
13
21f5
,
0xf40611f4
,
/* 0x065
6
: i2c_start_rep */
/* 0x065
e
: i2c_start_rep */
0x37f0300e
,
0x
be
21f500
,
0x
c6
21f500
,
0x0137f005
,
0x05
da
21f5
,
0x05
e2
21f5
,
0xb60076bb
,
0x50f90465
,
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x2
0
21f550
,
0x2
8
21f550
,
0x0464b606
,
/* 0x068
3
: i2c_start_send */
/* 0x068
b
: i2c_start_send */
0xf01f11f4
,
0x21f50037
,
0xe7f105
da
,
0xe7f105
e2
,
0x21f41388
,
0x0037f067
,
0x05
be
21f5
,
0x05
c6
21f5
,
0x1388e7f1
,
/* 0x06
9f
: i2c_start_out */
/* 0x06
a7
: i2c_start_out */
0xf86721f4
,
/* 0x06a
1
: i2c_stop */
/* 0x06a
9
: i2c_stop */
0x0037f000
,
0x05
be
21f5
,
0x05
c6
21f5
,
0xf50037f0
,
0xf105
da
21
,
0xf105
e2
21
,
0xf403e8e7
,
0x37f06721
,
0x
be
21f501
,
0x
c6
21f501
,
0x88e7f105
,
0x6721f413
,
0xf50137f0
,
0xf105
da
21
,
0xf105
e2
21
,
0xf41388e7
,
0x00f86721
,
/* 0x06d
4
: i2c_bitw */
0x05
da
21f5
,
/* 0x06d
c
: i2c_bitw */
0x05
e2
21f5
,
0x03e8e7f1
,
0xbb6721f4
,
0x65b60076
,
...
...
@@ -1371,18 +1373,18 @@ uint32_t nvd0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x062
0
21f5
,
0x062
8
21f5
,
0xf40464b6
,
0xe7f11811
,
0x21f41388
,
0x0037f067
,
0x05
be
21f5
,
0x05
c6
21f5
,
0x1388e7f1
,
/* 0x071
3
: i2c_bitw_out */
/* 0x071
b
: i2c_bitw_out */
0xf86721f4
,
/* 0x071
5
: i2c_bitr */
/* 0x071
d
: i2c_bitr */
0x0137f000
,
0x05
da
21f5
,
0x05
e2
21f5
,
0x03e8e7f1
,
0xbb6721f4
,
0x65b60076
,
...
...
@@ -1390,19 +1392,19 @@ uint32_t nvd0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x062
0
21f5
,
0x062
8
21f5
,
0xf40464b6
,
0x21f51b11
,
0x37f006
0b
,
0x
be
21f500
,
0x37f006
13
,
0x
c6
21f500
,
0x88e7f105
,
0x6721f413
,
0xf4013cf0
,
/* 0x07
5a
: i2c_bitr_done */
/* 0x07
62
: i2c_bitr_done */
0x00f80131
,
/* 0x07
5c
: i2c_get_byte */
/* 0x07
64
: i2c_get_byte */
0xf00057f0
,
/* 0x076
2
: i2c_get_byte_next */
/* 0x076
a
: i2c_get_byte_next */
0x54b60847
,
0x0076bb01
,
0xf90465b6
,
...
...
@@ -1410,7 +1412,7 @@ uint32_t nvd0_pwr_code[] = {
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6071
5
,
0x64b6071
d
,
0x2b11f404
,
0xb60553fd
,
0x1bf40142
,
...
...
@@ -1420,12 +1422,12 @@ uint32_t nvd0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0xd
4
21f550
,
0xd
c
21f550
,
0x0464b606
,
/* 0x07
ac
: i2c_get_byte_done */
/* 0x07
ae
: i2c_put_byte */
/* 0x07
b4
: i2c_get_byte_done */
/* 0x07
b6
: i2c_put_byte */
0x47f000f8
,
/* 0x07b
1
: i2c_put_byte_next */
/* 0x07b
9
: i2c_put_byte_next */
0x0142b608
,
0xbb3854ff
,
0x65b60076
,
...
...
@@ -1433,7 +1435,7 @@ uint32_t nvd0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x06d
4
21f5
,
0x06d
c
21f5
,
0xf40464b6
,
0x46b03411
,
0xd81bf400
,
...
...
@@ -1442,21 +1444,21 @@ uint32_t nvd0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x1
5
21f550
,
0x1
d
21f550
,
0x0464b607
,
0xbb0f11f4
,
0x36b00076
,
0x061bf401
,
/* 0x080
7
: i2c_put_byte_done */
/* 0x080
f
: i2c_put_byte_done */
0xf80132f4
,
/* 0x08
09
: i2c_addr */
/* 0x08
11
: i2c_addr */
0x0076bb00
,
0xf90465b6
,
0x04659450
,
0xbd0256bb
,
0x0475fd50
,
0x21f550fc
,
0x64b6064
5
,
0x64b6064
d
,
0x2911f404
,
0x012ec3e7
,
0xfd0134b6
,
...
...
@@ -1466,23 +1468,23 @@ uint32_t nvd0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb607
ae
21
,
/* 0x08
4e
: i2c_addr_done */
0xb607
b6
21
,
/* 0x08
56
: i2c_addr_done */
0x00f80464
,
/* 0x085
0
: i2c_acquire_addr */
/* 0x085
8
: i2c_acquire_addr */
0xb6f8cec7
,
0xe0b705e4
,
0x00f8d014
,
/* 0x08
5c
: i2c_acquire */
0x085
0
21f5
,
/* 0x08
64
: i2c_acquire */
0x085
8
21f5
,
0xf00421f4
,
0x21f403d9
,
/* 0x08
6b
: i2c_release */
/* 0x08
73
: i2c_release */
0xf500f833
,
0xf4085
0
21
,
0xf4085
8
21
,
0xdaf00421
,
0x3321f403
,
/* 0x08
7a
: i2c_recv */
/* 0x08
82
: i2c_recv */
0x32f400f8
,
0xf8c1c701
,
0xb00214b6
,
...
...
@@ -1501,7 +1503,7 @@ uint32_t nvd0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x
5c
21f550
,
0x
64
21f550
,
0x0464b608
,
0xd6b0d0fc
,
0xb31bf500
,
...
...
@@ -1511,7 +1513,7 @@ uint32_t nvd0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0x
09
21f550
,
0x
11
21f550
,
0x0464b608
,
0x00d011f5
,
0xbbe0c5c7
,
...
...
@@ -1520,7 +1522,7 @@ uint32_t nvd0_pwr_code[] = {
0x56bb0465
,
0xfd50bd02
,
0x50fc0475
,
0x07
ae
21f5
,
0x07
b6
21f5
,
0xf50464b6
,
0xf000ad11
,
0x76bb0157
,
...
...
@@ -1529,7 +1531,7 @@ uint32_t nvd0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb608
09
21
,
0xb608
11
21
,
0x11f50464
,
0x76bb008a
,
0x0465b600
,
...
...
@@ -1537,7 +1539,7 @@ uint32_t nvd0_pwr_code[] = {
0x0256bb04
,
0x75fd50bd
,
0xf550fc04
,
0xb607
5c
21
,
0xb607
64
21
,
0x11f40464
,
0xe05bcb6a
,
0xb60076bb
,
...
...
@@ -1545,38 +1547,38 @@ uint32_t nvd0_pwr_code[] = {
0xbb046594
,
0x50bd0256
,
0xfc0475fd
,
0xa
1
21f550
,
0xa
9
21f550
,
0x0464b606
,
0xbd025bb9
,
0x430ef474
,
/* 0x098
0
: i2c_recv_not_rd08 */
/* 0x098
8
: i2c_recv_not_rd08 */
0xf401d6b0
,
0x57f03d1b
,
0x
09
21f500
,
0x
11
21f500
,
0x3311f408
,
0xf5e0c5c7
,
0xf407
ae
21
,
0xf407
b6
21
,
0x57f02911
,
0x
09
21f500
,
0x
11
21f500
,
0x1f11f408
,
0xf5e0b5c7
,
0xf407
ae
21
,
0xf407
b6
21
,
0x21f51511
,
0x74bd06a
1
,
0x74bd06a
9
,
0xf408c5c7
,
0x32f4091b
,
0x030ef402
,
/* 0x09c
0
: i2c_recv_not_wr08 */
/* 0x09c
0
: i2c_recv_done */
/* 0x09c
8
: i2c_recv_not_wr08 */
/* 0x09c
8
: i2c_recv_done */
0xf5f8cec7
,
0xfc08
6b
21
,
0xfc08
73
21
,
0xf4d0fce0
,
0x7cb90a12
,
0xf121f502
,
/* 0x09d
5
: i2c_recv_exit */
/* 0x09d
7
: i2c_init */
/* 0x09d
d
: i2c_recv_exit */
/* 0x09d
f
: i2c_init */
0xf800f802
,
/* 0x09
d9
: test_recv */
/* 0x09
e1
: test_recv */
0xd817f100
,
0x0011cf05
,
0xf10110b6
,
...
...
@@ -1585,28 +1587,28 @@ uint32_t nvd0_pwr_code[] = {
0xd900e7f1
,
0x134fe3f1
,
0x022321f5
,
/* 0x0
9fa
: test_init */
/* 0x0
a02
: test_init */
0xe7f100f8
,
0x21f50800
,
0x00f80223
,
/* 0x0a0
4
: idle_recv */
/* 0x0a0
6
: idle */
/* 0x0a0
c
: idle_recv */
/* 0x0a0
e
: idle */
0x31f400f8
,
0xd417f100
,
0x0011cf05
,
0xf10110b6
,
0xd005d407
,
0x04bd0001
,
/* 0x0a
1c
: idle_loop */
/* 0x0a
24
: idle_loop */
0xf45817f0
,
/* 0x0a2
2
: idle_proc */
/* 0x0a2
2
: idle_proc_exec */
/* 0x0a2
a
: idle_proc */
/* 0x0a2
a
: idle_proc_exec */
0x10f90232
,
0xf5021eb9
,
0xfc02fa21
,
0x0911f410
,
0xf40231f4
,
/* 0x0a3
6
: idle_proc_next */
/* 0x0a3
e
: idle_proc_next */
0x10b6ef0e
,
0x061fb858
,
0xf4e61bf4
,
...
...
@@ -1656,6 +1658,4 @@ uint32_t nvd0_pwr_code[] = {
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
};
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/os.h
View file @
30da0806
...
...
@@ -19,12 +19,12 @@
#define MEMX_MSG_EXEC 1
/* MEMX: script opcode definitions */
#define MEMX_ENTER
0
#define MEMX_LEAVE
1
#define MEMX_WR32
2
#define MEMX_WAIT
3
#define MEMX_DELAY
4
#define MEMX_VBLANK
5
#define MEMX_ENTER
1
#define MEMX_LEAVE
2
#define MEMX_WR32
3
#define MEMX_WAIT
4
#define MEMX_DELAY
5
#define MEMX_VBLANK
6
/* I2C_: message identifiers */
#define I2C__MSG_RD08 0
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c
View file @
30da0806
...
...
@@ -20,10 +20,11 @@ memx_out(struct nouveau_memx *memx)
struct
nouveau_pwr
*
ppwr
=
memx
->
ppwr
;
int
i
;
if
(
memx
->
c
.
size
)
{
if
(
memx
->
c
.
mthd
)
{
nv_wr32
(
ppwr
,
0x10a1c4
,
(
memx
->
c
.
size
<<
16
)
|
memx
->
c
.
mthd
);
for
(
i
=
0
;
i
<
memx
->
c
.
size
;
i
++
)
nv_wr32
(
ppwr
,
0x10a1c4
,
memx
->
c
.
data
[
i
]);
memx
->
c
.
mthd
=
0
;
memx
->
c
.
size
=
0
;
}
}
...
...
@@ -32,7 +33,7 @@ static void
memx_cmd
(
struct
nouveau_memx
*
memx
,
u32
mthd
,
u32
size
,
u32
data
[])
{
if
((
memx
->
c
.
size
+
size
>=
ARRAY_SIZE
(
memx
->
c
.
data
))
||
(
memx
->
c
.
size
&&
memx
->
c
.
mthd
!=
mthd
))
(
memx
->
c
.
mthd
&&
memx
->
c
.
mthd
!=
mthd
))
memx_out
(
memx
);
memcpy
(
&
memx
->
c
.
data
[
memx
->
c
.
size
],
data
,
size
*
sizeof
(
data
[
0
]));
memx
->
c
.
size
+=
size
;
...
...
@@ -153,19 +154,15 @@ nouveau_memx_wait_vblank(struct nouveau_memx *memx)
void
nouveau_memx_block
(
struct
nouveau_memx
*
memx
)
{
struct
nouveau_pwr
*
ppwr
=
memx
->
ppwr
;
nv_debug
(
memx
->
ppwr
,
" HOST BLOCKED
\n
"
);
nv_wr32
(
ppwr
,
0x10a1c4
,
MEMX_ENTER
);
memx_cmd
(
memx
,
MEMX_ENTER
,
0
,
NULL
);
}
void
nouveau_memx_unblock
(
struct
nouveau_memx
*
memx
)
{
struct
nouveau_pwr
*
ppwr
=
memx
->
ppwr
;
nv_debug
(
memx
->
ppwr
,
" HOST UNBLOCKED
\n
"
);
nv_wr32
(
ppwr
,
0x10a1c4
,
MEMX_LEAVE
);
memx_cmd
(
memx
,
MEMX_LEAVE
,
0
,
NULL
);
}
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment