1 #ifndef __PSCNV_ENGINE_H__
2 #define __PSCNV_ENGINE_H__
8 struct drm_device
*dev
;
10 void (*takedown
) (struct pscnv_engine
*eng
);
11 int (*tlb_flush
) (struct pscnv_engine
*eng
, struct pscnv_vspace
*vs
);
12 int (*chan_alloc
) (struct pscnv_engine
*eng
, struct pscnv_chan
*ch
);
13 void (*chan_free
) (struct pscnv_engine
*eng
, struct pscnv_chan
*ch
);
14 int (*chan_obj_new
) (struct pscnv_engine
*eng
, struct pscnv_chan
*ch
, uint32_t handle
, uint32_t oclass
, uint32_t flags
);
15 void (*chan_kill
) (struct pscnv_engine
*eng
, struct pscnv_chan
*ch
);
18 int nv50_graph_init(struct drm_device
*dev
);
19 int nvc0_graph_init(struct drm_device
*dev
);
20 int nv84_crypt_init(struct drm_device
*dev
);
21 int nv98_crypt_init(struct drm_device
*dev
);
22 int nvc0_copy_init(struct drm_device
*dev
, int engine
);
24 #define PSCNV_ENGINE_GRAPH 1
25 #define PSCNV_ENGINE_COPY 3
26 #define PSCNV_ENGINE_COPY0 3 /* PSCNV_ENGINE_COPY + 0 */
27 #define PSCNV_ENGINE_COPY1 4 /* PSCNV_ENGINE_COPY + 1 */
28 #define PSCNV_ENGINE_CRYPT 5
30 #define PSCNV_ENGINES_NUM 16