1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_XTENSA_H__
3 #define __NVKM_XTENSA_H__
4 #define nvkm_xtensa(p) container_of((p), struct nvkm_xtensa, engine)
5 #include <core/engine.h>
6 
7 struct nvkm_xtensa {
8 	const struct nvkm_xtensa_func *func;
9 	u32 addr;
10 	struct nvkm_engine engine;
11 
12 	struct nvkm_memory *gpu_fw;
13 };
14 
15 int nvkm_xtensa_new_(const struct nvkm_xtensa_func *, struct nvkm_device *,
16 		     enum nvkm_subdev_type, int, bool enable, u32 addr, struct nvkm_engine **);
17 
18 struct nvkm_xtensa_func {
19 	u32 fifo_val;
20 	u32 unkd28;
21 	struct nvkm_sclass sclass[];
22 };
23 #endif
24