linux/drivers/gpu/drm/nouveau/include/nvkm/engine
Alexandre Courbot 31214108ad drm/nouveau/core: add falcon library functions
Falcon processors are used in various places of GPU chips. Although there
exist different versions of the falcon, and some variants exist, the
base set of actions performed on them is the same, which results in lots
of duplicated code.

This patch consolidates the current nvkm_falcon structure and extends it
with the following features:

* Ability for an engine to obtain and later release a given falcon,
* Abstractions for basic operations (IMEM/DMEM access, start, etc)
* Abstractions for secure operations if a falcon is secure

Abstractions make it easy to e.g. start a falcon, without having to care
about its details. For instance, falcons in secure mode need to be
started by writing to a different register.

Right now the abstractions variants only cover secure vs. non-secure
falcon, but more will come as e.g. SEC2 support is added.

This is still a WIP as other functions previously done by
engine/falcon.c need to be reimplemented. However this first step allows
to keep things simple and to discuss basic design.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2017-02-17 15:14:30 +10:00
..
bsp.h drm/nouveau/xtensa: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
ce.h drm/nouveau/ce/gp102: rename from gp104 2016-11-17 09:50:39 +10:00
cipher.h drm/nouveau/cipher: convert to new-style nvkm_engine 2015-08-28 12:40:46 +10:00
disp.h drm/nouveau/disp/gp102: rename from gp104 2016-11-17 09:50:39 +10:00
dma.h drm/nouveau/dma: convert to new-style nvkm_engine 2015-08-28 12:40:46 +10:00
falcon.h drm/nouveau/core: add falcon library functions 2017-02-17 15:14:30 +10:00
fifo.h drm/nouveau/fifo/gp100: initial support 2016-07-14 11:53:25 +10:00
gr.h drm/nouveau/gr/gp100: initial support 2016-07-14 11:53:25 +10:00
mpeg.h drm/nouveau/mpeg: convert to new-style nvkm_engine 2015-08-28 12:40:47 +10:00
msenc.h drm/nouveau/core: add msenc plumbing 2016-03-14 10:13:43 +10:00
mspdec.h drm/nouveau/falcon: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
msppp.h drm/nouveau/falcon: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
msvld.h drm/nouveau/falcon: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
nvdec.h drm/nouveau/core: add nvdec plumbing 2016-03-14 10:13:44 +10:00
nvenc.h drm/nouveau/core: add nvenc plumbing 2016-03-14 10:13:44 +10:00
pm.h drm/nouveau/pm: convert to new-style nvkm_engine 2015-08-28 12:40:47 +10:00
sec.h drm/nouveau/falcon: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
sw.h drm/nouveau/sw: convert to new-style nvkm_engine 2015-08-28 12:40:47 +10:00
vic.h drm/nouveau/core: add vic plumbing 2016-03-14 10:13:45 +10:00
vp.h drm/nouveau/xtensa: convert to new-style nvkm_engine 2015-08-28 12:40:45 +10:00
xtensa.h drm/nouveau/core: remove pmc_enable argument from subdev ctor 2016-05-20 14:43:04 +10:00