Commit 294af04b authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/core: add nvenc plumbing

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent c0c914ec
...@@ -46,6 +46,11 @@ enum nvkm_devidx { ...@@ -46,6 +46,11 @@ enum nvkm_devidx {
NVKM_ENGINE_MSPDEC, NVKM_ENGINE_MSPDEC,
NVKM_ENGINE_MSPPP, NVKM_ENGINE_MSPPP,
NVKM_ENGINE_MSVLD, NVKM_ENGINE_MSVLD,
NVKM_ENGINE_NVENC0,
NVKM_ENGINE_NVENC1,
NVKM_ENGINE_NVENC_LAST = NVKM_ENGINE_NVENC1,
NVKM_ENGINE_PM, NVKM_ENGINE_PM,
NVKM_ENGINE_SEC, NVKM_ENGINE_SEC,
NVKM_ENGINE_SW, NVKM_ENGINE_SW,
...@@ -141,6 +146,7 @@ struct nvkm_device { ...@@ -141,6 +146,7 @@ struct nvkm_device {
struct nvkm_engine *mspdec; struct nvkm_engine *mspdec;
struct nvkm_engine *msppp; struct nvkm_engine *msppp;
struct nvkm_engine *msvld; struct nvkm_engine *msvld;
struct nvkm_engine *nvenc[2];
struct nvkm_pm *pm; struct nvkm_pm *pm;
struct nvkm_engine *sec; struct nvkm_engine *sec;
struct nvkm_sw *sw; struct nvkm_sw *sw;
...@@ -208,6 +214,7 @@ struct nvkm_device_chip { ...@@ -208,6 +214,7 @@ struct nvkm_device_chip {
int (*mspdec )(struct nvkm_device *, int idx, struct nvkm_engine **); int (*mspdec )(struct nvkm_device *, int idx, struct nvkm_engine **);
int (*msppp )(struct nvkm_device *, int idx, struct nvkm_engine **); int (*msppp )(struct nvkm_device *, int idx, struct nvkm_engine **);
int (*msvld )(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 (*pm )(struct nvkm_device *, int idx, struct nvkm_pm **); int (*pm )(struct nvkm_device *, int idx, struct nvkm_pm **);
int (*sec )(struct nvkm_device *, int idx, struct nvkm_engine **); int (*sec )(struct nvkm_device *, int idx, struct nvkm_engine **);
int (*sw )(struct nvkm_device *, int idx, struct nvkm_sw **); int (*sw )(struct nvkm_device *, int idx, struct nvkm_sw **);
......
#ifndef __NVKM_NVENC_H__
#define __NVKM_NVENC_H__
#include <core/engine.h>
#endif
...@@ -67,6 +67,8 @@ nvkm_subdev_name[NVKM_SUBDEV_NR] = { ...@@ -67,6 +67,8 @@ nvkm_subdev_name[NVKM_SUBDEV_NR] = {
[NVKM_ENGINE_MSPDEC ] = "mspdec", [NVKM_ENGINE_MSPDEC ] = "mspdec",
[NVKM_ENGINE_MSPPP ] = "msppp", [NVKM_ENGINE_MSPPP ] = "msppp",
[NVKM_ENGINE_MSVLD ] = "msvld", [NVKM_ENGINE_MSVLD ] = "msvld",
[NVKM_ENGINE_NVENC0 ] = "nvenc0",
[NVKM_ENGINE_NVENC1 ] = "nvenc1",
[NVKM_ENGINE_PM ] = "pm", [NVKM_ENGINE_PM ] = "pm",
[NVKM_ENGINE_SEC ] = "sec", [NVKM_ENGINE_SEC ] = "sec",
[NVKM_ENGINE_SW ] = "sw", [NVKM_ENGINE_SW ] = "sw",
......
...@@ -14,6 +14,7 @@ include $(src)/nvkm/engine/msenc/Kbuild ...@@ -14,6 +14,7 @@ include $(src)/nvkm/engine/msenc/Kbuild
include $(src)/nvkm/engine/mspdec/Kbuild include $(src)/nvkm/engine/mspdec/Kbuild
include $(src)/nvkm/engine/msppp/Kbuild include $(src)/nvkm/engine/msppp/Kbuild
include $(src)/nvkm/engine/msvld/Kbuild include $(src)/nvkm/engine/msvld/Kbuild
include $(src)/nvkm/engine/nvenc/Kbuild
include $(src)/nvkm/engine/pm/Kbuild include $(src)/nvkm/engine/pm/Kbuild
include $(src)/nvkm/engine/sec/Kbuild include $(src)/nvkm/engine/sec/Kbuild
include $(src)/nvkm/engine/sw/Kbuild include $(src)/nvkm/engine/sw/Kbuild
......
...@@ -2183,6 +2183,8 @@ nvkm_device_engine(struct nvkm_device *device, int index) ...@@ -2183,6 +2183,8 @@ nvkm_device_engine(struct nvkm_device *device, int index)
_(MSPDEC , device->mspdec , device->mspdec); _(MSPDEC , device->mspdec , device->mspdec);
_(MSPPP , device->msppp , device->msppp); _(MSPPP , device->msppp , device->msppp);
_(MSVLD , device->msvld , device->msvld); _(MSVLD , device->msvld , device->msvld);
_(NVENC0 , device->nvenc[0], device->nvenc[0]);
_(NVENC1 , device->nvenc[1], device->nvenc[1]);
_(PM , device->pm , &device->pm->engine); _(PM , device->pm , &device->pm->engine);
_(SEC , device->sec , device->sec); _(SEC , device->sec , device->sec);
_(SW , device->sw , &device->sw->engine); _(SW , device->sw , &device->sw->engine);
...@@ -2616,6 +2618,8 @@ nvkm_device_ctor(const struct nvkm_device_func *func, ...@@ -2616,6 +2618,8 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
_(NVKM_ENGINE_MSPDEC , mspdec); _(NVKM_ENGINE_MSPDEC , mspdec);
_(NVKM_ENGINE_MSPPP , msppp); _(NVKM_ENGINE_MSPPP , msppp);
_(NVKM_ENGINE_MSVLD , msvld); _(NVKM_ENGINE_MSVLD , msvld);
_(NVKM_ENGINE_NVENC0 , nvenc[0]);
_(NVKM_ENGINE_NVENC1 , nvenc[1]);
_(NVKM_ENGINE_PM , pm); _(NVKM_ENGINE_PM , pm);
_(NVKM_ENGINE_SEC , sec); _(NVKM_ENGINE_SEC , sec);
_(NVKM_ENGINE_SW , sw); _(NVKM_ENGINE_SW , sw);
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <engine/mspdec.h> #include <engine/mspdec.h>
#include <engine/msppp.h> #include <engine/msppp.h>
#include <engine/msvld.h> #include <engine/msvld.h>
#include <engine/nvenc.h>
#include <engine/pm.h> #include <engine/pm.h>
#include <engine/sec.h> #include <engine/sec.h>
#include <engine/sw.h> #include <engine/sw.h>
......
#nvkm-y += nvkm/engine/nvenc/base.o
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment