2019-06-19 20:13:43 -04:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
2017-02-23 18:41:41 +09:00
|
|
|
#ifndef __NVKM_SEC2_H__
|
|
|
|
#define __NVKM_SEC2_H__
|
2020-01-15 06:34:21 +10:00
|
|
|
#define nvkm_sec2(p) container_of((p), struct nvkm_sec2, engine)
|
2017-02-23 18:41:41 +09:00
|
|
|
#include <core/engine.h>
|
2020-01-15 06:34:21 +10:00
|
|
|
#include <core/falcon.h>
|
2017-02-23 18:41:41 +09:00
|
|
|
|
|
|
|
struct nvkm_sec2 {
|
2020-01-15 06:34:21 +10:00
|
|
|
const struct nvkm_sec2_func *func;
|
2017-02-23 18:41:41 +09:00
|
|
|
struct nvkm_engine engine;
|
2020-01-15 06:34:21 +10:00
|
|
|
struct nvkm_falcon falcon;
|
2019-02-12 22:28:13 +10:00
|
|
|
|
2020-01-15 06:34:22 +10:00
|
|
|
struct nvkm_falcon_qmgr *qmgr;
|
2020-01-15 06:34:22 +10:00
|
|
|
struct nvkm_falcon_cmdq *cmdq;
|
2020-01-15 06:34:22 +10:00
|
|
|
struct nvkm_falcon_msgq *msgq;
|
2020-01-15 06:34:22 +10:00
|
|
|
|
2017-02-23 18:41:41 +09:00
|
|
|
struct work_struct work;
|
2020-01-15 06:34:22 +10:00
|
|
|
bool initmsg_received;
|
2017-02-23 18:41:41 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
int gp102_sec2_new(struct nvkm_device *, int, struct nvkm_sec2 **);
|
2020-01-15 06:34:21 +10:00
|
|
|
int gp108_sec2_new(struct nvkm_device *, int, struct nvkm_sec2 **);
|
2019-02-12 22:28:13 +10:00
|
|
|
int tu102_sec2_new(struct nvkm_device *, int, struct nvkm_sec2 **);
|
2017-02-23 18:41:41 +09:00
|
|
|
#endif
|