Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
30da0806
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
30da0806
编写于
9月 11, 2014
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/pwr/memx: fix command ordering around block/unblock
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
630a6a46
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
461 addition
and
462 deletion
+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
未找到文件。
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录