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
2e9dfe23
Commit
2e9dfe23
authored
Dec 12, 2013
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/pwr: have rd/wr32 routines clobber data instead of addr
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
73216231
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
65 deletions
+67
-65
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc
+17
-15
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
+12
-12
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
+13
-13
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
+13
-13
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
+12
-12
No files found.
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc
View file @
2e9dfe23
...
...
@@ -51,12 +51,12 @@ time_next: .b32 0
// $r0 - zero
rd32:
nv_iowr(NV_PPWR_MMIO_ADDR, $r14)
mov $r1
4
NV_PPWR_MMIO_CTRL_OP_RD
sethi $r1
4
NV_PPWR_MMIO_CTRL_TRIGGER
nv_iowr(NV_PPWR_MMIO_CTRL, $r1
4
)
mov $r1
3
NV_PPWR_MMIO_CTRL_OP_RD
sethi $r1
3
NV_PPWR_MMIO_CTRL_TRIGGER
nv_iowr(NV_PPWR_MMIO_CTRL, $r1
3
)
rd32_wait:
nv_iord($r1
4
, NV_PPWR_MMIO_CTRL)
and $r1
4
NV_PPWR_MMIO_CTRL_STATUS
nv_iord($r1
3
, NV_PPWR_MMIO_CTRL)
and $r1
3
NV_PPWR_MMIO_CTRL_STATUS
bra nz #rd32_wait
nv_iord($r13, NV_PPWR_MMIO_DATA)
ret
...
...
@@ -70,23 +70,25 @@ rd32:
wr32:
nv_iowr(NV_PPWR_MMIO_ADDR, $r14)
nv_iowr(NV_PPWR_MMIO_DATA, $r13)
mov $r1
4
NV_PPWR_MMIO_CTRL_OP_WR
or $r1
4
NV_PPWR_MMIO_CTRL_MASK_B32_0
sethi $r1
4
NV_PPWR_MMIO_CTRL_TRIGGER
mov $r1
3
NV_PPWR_MMIO_CTRL_OP_WR
or $r1
3
NV_PPWR_MMIO_CTRL_MASK_B32_0
sethi $r1
3
NV_PPWR_MMIO_CTRL_TRIGGER
#ifdef NVKM_FALCON_MMIO_TRAP
mov $r8 NV_PPWR_INTR_TRIGGER_USER1
nv_iowr(NV_PPWR_INTR_TRIGGER, $r8)
push $r13
mov $r13 NV_PPWR_INTR_TRIGGER_USER1
nv_iowr(NV_PPWR_INTR_TRIGGER, $r13)
wr32_host:
nv_iord($r
8
, NV_PPWR_INTR)
and $r
8
NV_PPWR_INTR_USER1
nv_iord($r
13
, NV_PPWR_INTR)
and $r
13
NV_PPWR_INTR_USER1
bra nz #wr32_host
pop $r13
#endif
nv_iowr(NV_PPWR_MMIO_CTRL, $r1
4
)
nv_iowr(NV_PPWR_MMIO_CTRL, $r1
3
)
wr32_wait:
nv_iord($r1
4
, NV_PPWR_MMIO_CTRL)
and $r1
4
NV_PPWR_MMIO_CTRL_STATUS
nv_iord($r1
3
, NV_PPWR_MMIO_CTRL)
and $r1
3
NV_PPWR_MMIO_CTRL_STATUS
bra nz #wr32_wait
ret
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
View file @
2e9dfe23
...
...
@@ -786,13 +786,13 @@ uint32_t nv108_pwr_code[] = {
/* 0x0004: rd32 */
0xf607a040
,
0x04bd000e
,
0x
e3f0010e
,
0x
d3f0010d
,
0x07ac4001
,
0xbd000
e
f6
,
0xbd000
d
f6
,
/* 0x0019: rd32_wait */
0x07ac4
e
04
,
0xf100
ee
cf
,
0xf47000
e
4
,
0x07ac4
d
04
,
0xf100
dd
cf
,
0xf47000
d
4
,
0xa44df61b
,
0x00ddcf07
,
/* 0x002e: wr32 */
...
...
@@ -800,14 +800,14 @@ uint32_t nv108_pwr_code[] = {
0x000ef607
,
0xa44004bd
,
0x000df607
,
0x020
e
04bd
,
0xf0f0
e
5f0
,
0xac4001
e
3
,
0x000
e
f607
,
0x020
d
04bd
,
0xf0f0
d
5f0
,
0xac4001
d
3
,
0x000
d
f607
,
/* 0x004e: wr32_wait */
0xac4
e
04bd
,
0x00
ee
cf07
,
0x7000
e
4f1
,
0xac4
d
04bd
,
0x00
dd
cf07
,
0x7000
d
4f1
,
0xf8f61bf4
,
/* 0x005d: nsec */
0xcf2c0800
,
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
View file @
2e9dfe23
...
...
@@ -787,15 +787,15 @@ uint32_t nva3_pwr_code[] = {
0x07a007f1
,
0xd00604b6
,
0x04bd000e
,
0xf001
e
7f0
,
0x07f101
e
3
,
0xf001
d
7f0
,
0x07f101
d
3
,
0x04b607ac
,
0x000
e
d006
,
0x000
d
d006
,
/* 0x0022: rd32_wait */
0x
e
7f104bd
,
0x
e
4b607ac
,
0x00
ee
cf06
,
0x7000
e
4f1
,
0x
d
7f104bd
,
0x
d
4b607ac
,
0x00
dd
cf06
,
0x7000
d
4f1
,
0xf1f21bf4
,
0xb607a4d7
,
0xddcf06d4
,
...
...
@@ -807,15 +807,15 @@ uint32_t nva3_pwr_code[] = {
0xb607a407
,
0x0dd00604
,
0xf004bd00
,
0x
e5f002e
7
,
0x01
e
3f0f0
,
0x
d5f002d
7
,
0x01
d
3f0f0
,
0x07ac07f1
,
0xd00604b6
,
0x04bd000
e
,
0x04bd000
d
,
/* 0x006c: wr32_wait */
0x07ac
e
7f1
,
0xcf06
e
4b6
,
0x
e4f100ee
,
0x07ac
d
7f1
,
0xcf06
d
4b6
,
0x
d4f100dd
,
0x1bf47000
,
/* 0x007f: nsec */
0xf000f8f2
,
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
View file @
2e9dfe23
...
...
@@ -787,15 +787,15 @@ uint32_t nvc0_pwr_code[] = {
0x07a007f1
,
0xd00604b6
,
0x04bd000e
,
0xf001
e
7f0
,
0x07f101
e
3
,
0xf001
d
7f0
,
0x07f101
d
3
,
0x04b607ac
,
0x000
e
d006
,
0x000
d
d006
,
/* 0x0022: rd32_wait */
0x
e
7f104bd
,
0x
e
4b607ac
,
0x00
ee
cf06
,
0x7000
e
4f1
,
0x
d
7f104bd
,
0x
d
4b607ac
,
0x00
dd
cf06
,
0x7000
d
4f1
,
0xf1f21bf4
,
0xb607a4d7
,
0xddcf06d4
,
...
...
@@ -807,15 +807,15 @@ uint32_t nvc0_pwr_code[] = {
0xb607a407
,
0x0dd00604
,
0xf004bd00
,
0x
e5f002e
7
,
0x01
e
3f0f0
,
0x
d5f002d
7
,
0x01
d
3f0f0
,
0x07ac07f1
,
0xd00604b6
,
0x04bd000
e
,
0x04bd000
d
,
/* 0x006c: wr32_wait */
0x07ac
e
7f1
,
0xcf06
e
4b6
,
0x
e4f100ee
,
0x07ac
d
7f1
,
0xcf06
d
4b6
,
0x
d4f100dd
,
0x1bf47000
,
/* 0x007f: nsec */
0xf000f8f2
,
...
...
drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
View file @
2e9dfe23
...
...
@@ -786,14 +786,14 @@ uint32_t nvd0_pwr_code[] = {
/* 0x0004: rd32 */
0x07a007f1
,
0xbd000ed0
,
0x01
e
7f004
,
0xf101
e
3f0
,
0x01
d
7f004
,
0xf101
d
3f0
,
0xd007ac07
,
0x04bd000
e
,
0x04bd000
d
,
/* 0x001c: rd32_wait */
0x07ac
e
7f1
,
0xf100
ee
cf
,
0xf47000
e
4
,
0x07ac
d
7f1
,
0xf100
dd
cf
,
0xf47000
d
4
,
0xd7f1f51b
,
0xddcf07a4
,
/* 0x0033: wr32 */
...
...
@@ -802,14 +802,14 @@ uint32_t nvd0_pwr_code[] = {
0x04bd000e
,
0x07a407f1
,
0xbd000dd0
,
0x02
e
7f004
,
0xf0f0
e
5f0
,
0x07f101
e
3
,
0x0
e
d007ac
,
0x02
d
7f004
,
0xf0f0
d
5f0
,
0x07f101
d
3
,
0x0
d
d007ac
,
/* 0x0057: wr32_wait */
0xf104bd00
,
0xcf07ac
e
7
,
0x
e4f100ee
,
0xcf07ac
d
7
,
0x
d4f100dd
,
0x1bf47000
,
/* 0x0067: nsec */
0xf000f8f5
,
...
...
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