Commit | Line | Data |
---|---|---|
5025407b BS |
1 | #ifndef __NVKM_XTENSA_H__ |
2 | #define __NVKM_XTENSA_H__ | |
44b1e3bd | 3 | #include <core/engine.h> |
5025407b | 4 | struct nvkm_gpuobj; |
44b1e3bd | 5 | |
5025407b BS |
6 | struct nvkm_xtensa { |
7 | struct nvkm_engine base; | |
44b1e3bd IM |
8 | |
9 | u32 addr; | |
5025407b | 10 | struct nvkm_gpuobj *gpu_fw; |
44b1e3bd IM |
11 | u32 fifo_val; |
12 | u32 unkd28; | |
13 | }; | |
14 | ||
5025407b BS |
15 | #define nvkm_xtensa_create(p,e,c,b,d,i,f,r) \ |
16 | nvkm_xtensa_create_((p), (e), (c), (b), (d), (i), (f), \ | |
44b1e3bd IM |
17 | sizeof(**r),(void **)r) |
18 | ||
5025407b BS |
19 | int _nvkm_xtensa_engctx_ctor(struct nvkm_object *, |
20 | struct nvkm_object *, | |
21 | struct nvkm_oclass *, void *, u32, | |
22 | struct nvkm_object **); | |
44b1e3bd | 23 | |
5025407b BS |
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, | |
44b1e3bd IM |
28 | const char *, const char *, |
29 | int, void **); | |
5025407b BS |
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); | |
44b1e3bd | 35 | #endif |