Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / engine / xtensa.h
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 base;
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