Commit eda12417 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/fifo/gm107-: write instance address in channel runlist entry



RM does this for some reason.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 79bb4b61
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -92,5 +92,7 @@ void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *,
void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *);

extern const struct nvkm_enum gm107_fifo_fault_engine[];
extern const struct gk104_fifo_runlist_func gm107_fifo_runlist;

extern const struct nvkm_enum gp100_fifo_fault_engine[];
#endif
+18 −1
Original line number Diff line number Diff line
@@ -24,8 +24,25 @@
#include "gk104.h"
#include "changk104.h"

#include <core/gpuobj.h>

#include <nvif/class.h>

static void
gm107_fifo_runlist_chan(struct gk104_fifo_chan *chan,
			struct nvkm_memory *memory, u32 offset)
{
	nvkm_wo32(memory, offset + 0, chan->base.chid);
	nvkm_wo32(memory, offset + 4, chan->base.inst->addr >> 12);
}

const struct gk104_fifo_runlist_func
gm107_fifo_runlist = {
	.size = 8,
	.cgrp = gk110_fifo_runlist_cgrp,
	.chan = gm107_fifo_runlist_chan,
};

const struct nvkm_enum
gm107_fifo_fault_engine[] = {
	{ 0x01, "DISPLAY" },
@@ -57,7 +74,7 @@ gm107_fifo = {
	.fault.reason = gk104_fifo_fault_reason,
	.fault.hubclient = gk104_fifo_fault_hubclient,
	.fault.gpcclient = gk104_fifo_fault_gpcclient,
	.runlist = &gk110_fifo_runlist,
	.runlist = &gm107_fifo_runlist,
	.chan = {{0,0,KEPLER_CHANNEL_GPFIFO_B}, gk104_fifo_gpfifo_new },
};

+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ gm200_fifo = {
	.fault.reason = gk104_fifo_fault_reason,
	.fault.hubclient = gk104_fifo_fault_hubclient,
	.fault.gpcclient = gk104_fifo_fault_gpcclient,
	.runlist = &gk110_fifo_runlist,
	.runlist = &gm107_fifo_runlist,
	.chan = {{0,0,MAXWELL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
};

+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ gm20b_fifo = {
	.fault.reason = gk104_fifo_fault_reason,
	.fault.hubclient = gk104_fifo_fault_hubclient,
	.fault.gpcclient = gk104_fifo_fault_gpcclient,
	.runlist = &gk110_fifo_runlist,
	.runlist = &gm107_fifo_runlist,
	.chan = {{0,0,MAXWELL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
};

+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ gp100_fifo = {
	.fault.reason = gk104_fifo_fault_reason,
	.fault.hubclient = gk104_fifo_fault_hubclient,
	.fault.gpcclient = gk104_fifo_fault_gpcclient,
	.runlist = &gk110_fifo_runlist,
	.runlist = &gm107_fifo_runlist,
	.chan = {{0,0,PASCAL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
};

Loading