Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3545b425 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/core: add nvdec plumbing



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 294af04b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ enum nvkm_devidx {
	NVKM_ENGINE_NVENC1,
	NVKM_ENGINE_NVENC_LAST = NVKM_ENGINE_NVENC1,

	NVKM_ENGINE_NVDEC,
	NVKM_ENGINE_PM,
	NVKM_ENGINE_SEC,
	NVKM_ENGINE_SW,
@@ -147,6 +148,7 @@ struct nvkm_device {
	struct nvkm_engine *msppp;
	struct nvkm_engine *msvld;
	struct nvkm_engine *nvenc[2];
	struct nvkm_engine *nvdec;
	struct nvkm_pm *pm;
	struct nvkm_engine *sec;
	struct nvkm_sw *sw;
@@ -215,6 +217,7 @@ struct nvkm_device_chip {
	int (*msppp   )(struct nvkm_device *, int idx, struct nvkm_engine **);
	int (*msvld   )(struct nvkm_device *, int idx, struct nvkm_engine **);
	int (*nvenc[2])(struct nvkm_device *, int idx, struct nvkm_engine **);
	int (*nvdec   )(struct nvkm_device *, int idx, struct nvkm_engine **);
	int (*pm      )(struct nvkm_device *, int idx, struct nvkm_pm **);
	int (*sec     )(struct nvkm_device *, int idx, struct nvkm_engine **);
	int (*sw      )(struct nvkm_device *, int idx, struct nvkm_sw **);
+4 −0
Original line number Diff line number Diff line
#ifndef __NVKM_NVDEC_H__
#define __NVKM_NVDEC_H__
#include <core/engine.h>
#endif
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ nvkm_subdev_name[NVKM_SUBDEV_NR] = {
	[NVKM_ENGINE_MSVLD   ] = "msvld",
	[NVKM_ENGINE_NVENC0  ] = "nvenc0",
	[NVKM_ENGINE_NVENC1  ] = "nvenc1",
	[NVKM_ENGINE_NVDEC   ] = "nvdec",
	[NVKM_ENGINE_PM      ] = "pm",
	[NVKM_ENGINE_SEC     ] = "sec",
	[NVKM_ENGINE_SW      ] = "sw",
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ include $(src)/nvkm/engine/mspdec/Kbuild
include $(src)/nvkm/engine/msppp/Kbuild
include $(src)/nvkm/engine/msvld/Kbuild
include $(src)/nvkm/engine/nvenc/Kbuild
include $(src)/nvkm/engine/nvdec/Kbuild
include $(src)/nvkm/engine/pm/Kbuild
include $(src)/nvkm/engine/sec/Kbuild
include $(src)/nvkm/engine/sw/Kbuild
+2 −0
Original line number Diff line number Diff line
@@ -2185,6 +2185,7 @@ nvkm_device_engine(struct nvkm_device *device, int index)
	_(MSVLD  , device->msvld   ,  device->msvld);
	_(NVENC0 , device->nvenc[0],  device->nvenc[0]);
	_(NVENC1 , device->nvenc[1],  device->nvenc[1]);
	_(NVDEC  , device->nvdec   ,  device->nvdec);
	_(PM     , device->pm      , &device->pm->engine);
	_(SEC    , device->sec     ,  device->sec);
	_(SW     , device->sw      , &device->sw->engine);
@@ -2620,6 +2621,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
		_(NVKM_ENGINE_MSVLD   ,    msvld);
		_(NVKM_ENGINE_NVENC0  , nvenc[0]);
		_(NVKM_ENGINE_NVENC1  , nvenc[1]);
		_(NVKM_ENGINE_NVDEC   ,    nvdec);
		_(NVKM_ENGINE_PM      ,       pm);
		_(NVKM_ENGINE_SEC     ,      sec);
		_(NVKM_ENGINE_SW      ,       sw);
Loading