mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 00:29:36 -04:00
drm/nouveau/ce: make use of nvkm_subdev.inst
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
This commit is contained in:
@@ -29,9 +29,7 @@
|
||||
static void
|
||||
gf100_ce_init(struct nvkm_falcon *ce)
|
||||
{
|
||||
struct nvkm_device *device = ce->engine.subdev.device;
|
||||
const int index = ce->engine.subdev.index - NVKM_ENGINE_CE0;
|
||||
nvkm_wr32(device, ce->addr + 0x084, index);
|
||||
nvkm_wr32(ce->engine.subdev.device, ce->addr + 0x084, ce->engine.subdev.inst);
|
||||
}
|
||||
|
||||
static const struct nvkm_falcon_func
|
||||
|
||||
@@ -58,9 +58,9 @@ gk104_ce_intr_launcherr(struct nvkm_engine *ce, const u32 base)
|
||||
void
|
||||
gk104_ce_intr(struct nvkm_engine *ce)
|
||||
{
|
||||
const u32 base = (ce->subdev.index - NVKM_ENGINE_CE0) * 0x1000;
|
||||
struct nvkm_subdev *subdev = &ce->subdev;
|
||||
struct nvkm_device *device = subdev->device;
|
||||
const u32 base = subdev->inst * 0x1000;
|
||||
u32 mask = nvkm_rd32(device, 0x104904 + base);
|
||||
u32 intr = nvkm_rd32(device, 0x104908 + base) & mask;
|
||||
if (intr & 0x00000001) {
|
||||
|
||||
@@ -59,9 +59,9 @@ gp100_ce_intr_launcherr(struct nvkm_engine *ce, const u32 base)
|
||||
void
|
||||
gp100_ce_intr(struct nvkm_engine *ce)
|
||||
{
|
||||
const u32 base = (ce->subdev.index - NVKM_ENGINE_CE0) * 0x80;
|
||||
struct nvkm_subdev *subdev = &ce->subdev;
|
||||
struct nvkm_device *device = subdev->device;
|
||||
const u32 base = subdev->inst * 0x80;
|
||||
u32 mask = nvkm_rd32(device, 0x10440c + base);
|
||||
u32 intr = nvkm_rd32(device, 0x104410 + base) & mask;
|
||||
if (intr & 0x00000001) { //XXX: guess
|
||||
|
||||
@@ -44,7 +44,7 @@ gt215_ce_intr(struct nvkm_falcon *ce, struct nvkm_fifo_chan *chan)
|
||||
{
|
||||
struct nvkm_subdev *subdev = &ce->engine.subdev;
|
||||
struct nvkm_device *device = subdev->device;
|
||||
const u32 base = (subdev->index - NVKM_ENGINE_CE0) * 0x1000;
|
||||
const u32 base = subdev->inst * 0x1000;
|
||||
u32 ssta = nvkm_rd32(device, 0x104040 + base) & 0x0000ffff;
|
||||
u32 addr = nvkm_rd32(device, 0x104040 + base) >> 16;
|
||||
u32 mthd = (addr & 0x07ff) << 2;
|
||||
|
||||
Reference in New Issue
Block a user