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

drm/nouveau/nvdec/gp102-: utilise engine PRI address from TOP



Turing has its NVDEC instances in an alternate location.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 2944b19b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@

struct nvkm_nvdec {
	struct nvkm_engine engine;
	u32 addr;

	struct nvkm_falcon *falcon;
};

+9 −1
Original line number Diff line number Diff line
@@ -21,13 +21,21 @@
 */
#include "priv.h"

#include <subdev/top.h>
#include <engine/falcon.h>

static int
nvkm_nvdec_oneinit(struct nvkm_engine *engine)
{
	struct nvkm_nvdec *nvdec = nvkm_nvdec(engine);
	return nvkm_falcon_v1_new(&nvdec->engine.subdev, "NVDEC", 0x84000,
	struct nvkm_subdev *subdev = &nvdec->engine.subdev;

	nvdec->addr = nvkm_top_addr(subdev->device, subdev->index);
	if (!nvdec->addr)
		return -EINVAL;

	/*XXX: fix naming of this when adding support for multiple-NVDEC */
	return nvkm_falcon_v1_new(subdev, "NVDEC", nvdec->addr,
				  &nvdec->falcon);
}