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 66#include <core/enum.h>
77struct nvkm_cctx ;
88struct nvkm_cgrp ;
9+ struct nvkm_chan ;
910struct nvkm_engn ;
1011struct nvkm_memory ;
1112struct nvkm_runl ;
@@ -195,6 +196,7 @@ extern const struct nvkm_chan_func_ramfc gv100_chan_ramfc;
195196
196197void tu102_fifo_intr_ctxsw_timeout_info (struct nvkm_engn * , u32 info );
197198extern const struct nvkm_fifo_func_mmu_fault tu102_fifo_mmu_fault ;
199+ u32 tu102_chan_doorbell_handle (struct nvkm_chan * );
198200
199201int ga100_fifo_runl_ctor (struct nvkm_fifo * );
200202int ga100_fifo_nonstall_ctor (struct nvkm_fifo * );
Original file line number Diff line number Diff line change 3131
3232#include <nvif/class.h>
3333
34- static u32
34+ u32
3535tu102_chan_doorbell_handle (struct nvkm_chan * chan )
3636{
3737 return (chan -> cgrp -> runl -> id << 16 ) | chan -> id ;
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ad10x_gpu = {
2123
2224 .fifo .chan = {
2325 .class = AMPERE_CHANNEL_GPFIFO_A ,
26+ .doorbell_handle = tu102_chan_doorbell_handle ,
2427 },
2528
2629 .ce .class = AMPERE_DMA_COPY_B ,
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ ga100_gpu = {
1214
1315 .fifo .chan = {
1416 .class = AMPERE_CHANNEL_GPFIFO_A ,
17+ .doorbell_handle = tu102_chan_doorbell_handle ,
1518 },
1619
1720 .ce .class = AMPERE_DMA_COPY_A ,
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ga1xx_gpu = {
2123
2224 .fifo .chan = {
2325 .class = AMPERE_CHANNEL_GPFIFO_A ,
26+ .doorbell_handle = tu102_chan_doorbell_handle ,
2427 },
2528
2629 .ce .class = AMPERE_DMA_COPY_B ,
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ gb10x_gpu = {
1214
1315 .fifo .chan = {
1416 .class = BLACKWELL_CHANNEL_GPFIFO_A ,
17+ .doorbell_handle = tu102_chan_doorbell_handle ,
1518 },
1619
1720 .ce .class = BLACKWELL_DMA_COPY_A ,
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ gh100_gpu = {
1214
1315 .fifo .chan = {
1416 .class = HOPPER_CHANNEL_GPFIFO_A ,
17+ .doorbell_handle = tu102_chan_doorbell_handle ,
1518 },
1619
1720 .ce .class = HOPPER_DMA_COPY_A ,
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ struct nvkm_rm_gpu {
2525 struct {
2626 struct {
2727 u32 class ;
28+ u32 (* doorbell_handle )(struct nvkm_chan * );
2829 } chan ;
2930 } fifo ;
3031
Original file line number Diff line number Diff line change 4141static u32
4242r535_chan_doorbell_handle (struct nvkm_chan * chan )
4343{
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 );
4547}
4648
4749static void
Original file line number Diff line number Diff line change 44 */
55#include "gpu.h"
66
7+ #include <engine/fifo/priv.h>
8+
79#include <nvif/class.h>
810
911const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ tu1xx_gpu = {
2123
2224 .fifo .chan = {
2325 .class = TURING_CHANNEL_GPFIFO_A ,
26+ .doorbell_handle = tu102_chan_doorbell_handle ,
2427 },
2528
2629 .ce .class = TURING_DMA_COPY_A ,
You can’t perform that action at this time.
0 commit comments