forked from Minki/linux
drm/nouveau/fifo/gm107-: write instance address in channel runlist entry
RM does this for some reason. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
79bb4b617f
commit
eda12417d3
@ -92,5 +92,7 @@ void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *,
|
|||||||
void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *);
|
void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *);
|
||||||
|
|
||||||
extern const struct nvkm_enum gm107_fifo_fault_engine[];
|
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[];
|
extern const struct nvkm_enum gp100_fifo_fault_engine[];
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,8 +24,25 @@
|
|||||||
#include "gk104.h"
|
#include "gk104.h"
|
||||||
#include "changk104.h"
|
#include "changk104.h"
|
||||||
|
|
||||||
|
#include <core/gpuobj.h>
|
||||||
|
|
||||||
#include <nvif/class.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
|
const struct nvkm_enum
|
||||||
gm107_fifo_fault_engine[] = {
|
gm107_fifo_fault_engine[] = {
|
||||||
{ 0x01, "DISPLAY" },
|
{ 0x01, "DISPLAY" },
|
||||||
@ -57,7 +74,7 @@ gm107_fifo = {
|
|||||||
.fault.reason = gk104_fifo_fault_reason,
|
.fault.reason = gk104_fifo_fault_reason,
|
||||||
.fault.hubclient = gk104_fifo_fault_hubclient,
|
.fault.hubclient = gk104_fifo_fault_hubclient,
|
||||||
.fault.gpcclient = gk104_fifo_fault_gpcclient,
|
.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 },
|
.chan = {{0,0,KEPLER_CHANNEL_GPFIFO_B}, gk104_fifo_gpfifo_new },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ gm200_fifo = {
|
|||||||
.fault.reason = gk104_fifo_fault_reason,
|
.fault.reason = gk104_fifo_fault_reason,
|
||||||
.fault.hubclient = gk104_fifo_fault_hubclient,
|
.fault.hubclient = gk104_fifo_fault_hubclient,
|
||||||
.fault.gpcclient = gk104_fifo_fault_gpcclient,
|
.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 },
|
.chan = {{0,0,MAXWELL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ gm20b_fifo = {
|
|||||||
.fault.reason = gk104_fifo_fault_reason,
|
.fault.reason = gk104_fifo_fault_reason,
|
||||||
.fault.hubclient = gk104_fifo_fault_hubclient,
|
.fault.hubclient = gk104_fifo_fault_hubclient,
|
||||||
.fault.gpcclient = gk104_fifo_fault_gpcclient,
|
.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 },
|
.chan = {{0,0,MAXWELL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ gp100_fifo = {
|
|||||||
.fault.reason = gk104_fifo_fault_reason,
|
.fault.reason = gk104_fifo_fault_reason,
|
||||||
.fault.hubclient = gk104_fifo_fault_hubclient,
|
.fault.hubclient = gk104_fifo_fault_hubclient,
|
||||||
.fault.gpcclient = gk104_fifo_fault_gpcclient,
|
.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 },
|
.chan = {{0,0,PASCAL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ gp10b_fifo = {
|
|||||||
.fault.reason = gk104_fifo_fault_reason,
|
.fault.reason = gk104_fifo_fault_reason,
|
||||||
.fault.hubclient = gk104_fifo_fault_hubclient,
|
.fault.hubclient = gk104_fifo_fault_hubclient,
|
||||||
.fault.gpcclient = gk104_fifo_fault_gpcclient,
|
.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 },
|
.chan = {{0,0,PASCAL_CHANNEL_GPFIFO_A}, gk104_fifo_gpfifo_new },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user