Commit 56c36f59 authored by Ben Skeggs's avatar Ben Skeggs Committed by Dave Airlie
Browse files

drm/nouveau/gsp: add hal for fifo.chan.doorbell_handle



The doorbell register on GB20x GPUs has additional fields.

Signed-off-by: default avatarBen Skeggs <bskeggs@nvidia.com>
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
Reviewed-by: default avatarTimur Tabi <ttabi@nvidia.com>
Tested-by: default avatarTimur Tabi <ttabi@nvidia.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 32cb1cc3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
#include <core/enum.h>
struct nvkm_cctx;
struct nvkm_cgrp;
struct nvkm_chan;
struct nvkm_engn;
struct nvkm_memory;
struct nvkm_runl;
@@ -195,6 +196,7 @@ extern const struct nvkm_chan_func_ramfc gv100_chan_ramfc;

void tu102_fifo_intr_ctxsw_timeout_info(struct nvkm_engn *, u32 info);
extern const struct nvkm_fifo_func_mmu_fault tu102_fifo_mmu_fault;
u32 tu102_chan_doorbell_handle(struct nvkm_chan *);

int ga100_fifo_runl_ctor(struct nvkm_fifo *);
int ga100_fifo_nonstall_ctor(struct nvkm_fifo *);
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@

#include <nvif/class.h>

static u32
u32
tu102_chan_doorbell_handle(struct nvkm_chan *chan)
{
	return (chan->cgrp->runl->id << 16) | chan->id;
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@
 */
#include "gpu.h"

#include <engine/fifo/priv.h>

#include <nvif/class.h>

const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ad10x_gpu = {

	.fifo.chan = {
		.class = AMPERE_CHANNEL_GPFIFO_A,
		.doorbell_handle = tu102_chan_doorbell_handle,
	},

	.ce.class = AMPERE_DMA_COPY_B,
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@
 */
#include "gpu.h"

#include <engine/fifo/priv.h>

#include <nvif/class.h>

const struct nvkm_rm_gpu
@@ -12,6 +14,7 @@ ga100_gpu = {

	.fifo.chan = {
		.class = AMPERE_CHANNEL_GPFIFO_A,
		.doorbell_handle = tu102_chan_doorbell_handle,
	},

	.ce.class = AMPERE_DMA_COPY_A,
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@
 */
#include "gpu.h"

#include <engine/fifo/priv.h>

#include <nvif/class.h>

const struct nvkm_rm_gpu
@@ -21,6 +23,7 @@ ga1xx_gpu = {

	.fifo.chan = {
		.class = AMPERE_CHANNEL_GPFIFO_A,
		.doorbell_handle = tu102_chan_doorbell_handle,
	},

	.ce.class = AMPERE_DMA_COPY_B,
Loading