File tree Expand file tree Collapse file tree 10 files changed +25
-2
lines changed
drivers/gpu/drm/nouveau/nvkm Expand file tree Collapse file tree 10 files changed +25
-2
lines changed Original file line number Diff line number Diff line change 6
6
#include <core/enum.h>
7
7
struct nvkm_cctx ;
8
8
struct nvkm_cgrp ;
9
+ struct nvkm_chan ;
9
10
struct nvkm_engn ;
10
11
struct nvkm_memory ;
11
12
struct nvkm_runl ;
@@ -195,6 +196,7 @@ extern const struct nvkm_chan_func_ramfc gv100_chan_ramfc;
195
196
196
197
void tu102_fifo_intr_ctxsw_timeout_info (struct nvkm_engn * , u32 info );
197
198
extern const struct nvkm_fifo_func_mmu_fault tu102_fifo_mmu_fault ;
199
+ u32 tu102_chan_doorbell_handle (struct nvkm_chan * );
198
200
199
201
int ga100_fifo_runl_ctor (struct nvkm_fifo * );
200
202
int ga100_fifo_nonstall_ctor (struct nvkm_fifo * );
Original file line number Diff line number Diff line change 31
31
32
32
#include <nvif/class.h>
33
33
34
- static u32
34
+ u32
35
35
tu102_chan_doorbell_handle (struct nvkm_chan * chan )
36
36
{
37
37
return (chan -> cgrp -> runl -> id << 16 ) | chan -> id ;
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ad10x_gpu = {
21
23
22
24
.fifo .chan = {
23
25
.class = AMPERE_CHANNEL_GPFIFO_A ,
26
+ .doorbell_handle = tu102_chan_doorbell_handle ,
24
27
},
25
28
26
29
.ce .class = AMPERE_DMA_COPY_B ,
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ ga100_gpu = {
12
14
13
15
.fifo .chan = {
14
16
.class = AMPERE_CHANNEL_GPFIFO_A ,
17
+ .doorbell_handle = tu102_chan_doorbell_handle ,
15
18
},
16
19
17
20
.ce .class = AMPERE_DMA_COPY_A ,
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ga1xx_gpu = {
21
23
22
24
.fifo .chan = {
23
25
.class = AMPERE_CHANNEL_GPFIFO_A ,
26
+ .doorbell_handle = tu102_chan_doorbell_handle ,
24
27
},
25
28
26
29
.ce .class = AMPERE_DMA_COPY_B ,
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ gb10x_gpu = {
12
14
13
15
.fifo .chan = {
14
16
.class = BLACKWELL_CHANNEL_GPFIFO_A ,
17
+ .doorbell_handle = tu102_chan_doorbell_handle ,
15
18
},
16
19
17
20
.ce .class = BLACKWELL_DMA_COPY_A ,
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ gh100_gpu = {
12
14
13
15
.fifo .chan = {
14
16
.class = HOPPER_CHANNEL_GPFIFO_A ,
17
+ .doorbell_handle = tu102_chan_doorbell_handle ,
15
18
},
16
19
17
20
.ce .class = HOPPER_DMA_COPY_A ,
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ struct nvkm_rm_gpu {
25
25
struct {
26
26
struct {
27
27
u32 class ;
28
+ u32 (* doorbell_handle )(struct nvkm_chan * );
28
29
} chan ;
29
30
} fifo ;
30
31
Original file line number Diff line number Diff line change 41
41
static u32
42
42
r535_chan_doorbell_handle (struct nvkm_chan * chan )
43
43
{
44
- return (chan -> cgrp -> runl -> id << 16 ) | chan -> id ;
44
+ struct nvkm_gsp * gsp = chan -> rm .object .client -> gsp ;
45
+
46
+ return gsp -> rm -> gpu -> fifo .chan .doorbell_handle (chan );
45
47
}
46
48
47
49
static void
Original file line number Diff line number Diff line change 4
4
*/
5
5
#include "gpu.h"
6
6
7
+ #include <engine/fifo/priv.h>
8
+
7
9
#include <nvif/class.h>
8
10
9
11
const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ tu1xx_gpu = {
21
23
22
24
.fifo .chan = {
23
25
.class = TURING_CHANNEL_GPFIFO_A ,
26
+ .doorbell_handle = tu102_chan_doorbell_handle ,
24
27
},
25
28
26
29
.ce .class = TURING_DMA_COPY_A ,
You can’t perform that action at this time.
0 commit comments