blob: c846da9967ad774bcb853d639a92d93ddbe3c1b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
addrmap gfx_shader_schedif {
name = "Scheduler<->core interface";
default hw = r;
default sw = w;
default regwidth = 32;
reg {
name = "Shader core control register";
field {
desc = "Set this field to flush the instruction cache";
singlepulse;
} IFLUSH[0:0] = 0;
} CORE @ 0x00;
reg {
name = "Wavefront setup control register";
default hw = na;
default sw = r;
default precedence = hw;
field {
desc = "Wavefront group number";
hw = r;
sw = rw;
} GROUP[5:0];
field {
desc = "Destination SGPR number";
hw = r;
sw = rw;
} XGPR[11:8];
field {
desc = "PC table update done, group submitted";
rclr;
hwset;
} SUBMIT_DONE[16:16] = 0;
field {
desc = "General-purpose register update done";
rclr;
hwset;
} GPR_DONE[17:17] = 0;
field {
desc = "Lane mask update done";
rclr;
hwset;
} MASK_DONE[18:18] = 0;
} SETUP_CTRL @ 0x04;
reg {
name = "SGPR/VGPR write register";
field {
desc = "Value to write";
swmod;
} VALUE[31:0];
} SETUP_GPR @ 0x08;
reg {
name = "Lane mask write register";
field {
desc = "Mask value to write";
swmod;
} MASK[15:0];
} SETUP_MASK @ 0x0c;
reg {
name = "Group submit register";
field {
desc = "Initial group program counter, submits group on write";
swmod;
} PC[31:2];
} SETUP_SUBMIT @ 0x10;
};
|