1 #ifndef __NVKM_XTENSA_H__ 2 #define __NVKM_XTENSA_H__ 3 #include <core/engine.h> 4 struct nvkm_gpuobj; 5 6 struct nvkm_xtensa { 7 struct nvkm_engine engine; 8 9 u32 addr; 10 struct nvkm_gpuobj *gpu_fw; 11 u32 fifo_val; 12 u32 unkd28; 13 }; 14 15 #define nvkm_xtensa_create(p,e,c,b,d,i,f,r) \ 16 nvkm_xtensa_create_((p), (e), (c), (b), (d), (i), (f), \ 17 sizeof(**r),(void **)r) 18 19 int _nvkm_xtensa_engctx_ctor(struct nvkm_object *, 20 struct nvkm_object *, 21 struct nvkm_oclass *, void *, u32, 22 struct nvkm_object **); 23 24 void _nvkm_xtensa_intr(struct nvkm_subdev *); 25 int nvkm_xtensa_create_(struct nvkm_object *, 26 struct nvkm_object *, 27 struct nvkm_oclass *, u32, bool, 28 const char *, const char *, 29 int, void **); 30 #define _nvkm_xtensa_dtor _nvkm_engine_dtor 31 int _nvkm_xtensa_init(struct nvkm_object *); 32 int _nvkm_xtensa_fini(struct nvkm_object *, bool); 33 u32 _nvkm_xtensa_rd32(struct nvkm_object *, u64); 34 void _nvkm_xtensa_wr32(struct nvkm_object *, u64, u32); 35 #endif 36