]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
912de74c IM |
2 | #ifndef __NV31_MPEG_H__ |
3 | #define __NV31_MPEG_H__ | |
7624fc01 | 4 | #define nv31_mpeg(p) container_of((p), struct nv31_mpeg, engine) |
218f978d | 5 | #include "priv.h" |
912de74c | 6 | #include <engine/mpeg.h> |
e6585cab | 7 | |
b19de4f3 | 8 | struct nv31_mpeg { |
7624fc01 BS |
9 | const struct nv31_mpeg_func *func; |
10 | struct nvkm_engine engine; | |
e6585cab | 11 | struct nv31_mpeg_chan *chan; |
7624fc01 BS |
12 | }; |
13 | ||
14 | int nv31_mpeg_new_(const struct nv31_mpeg_func *, struct nvkm_device *, | |
15 | int index, struct nvkm_engine **); | |
16 | ||
17 | struct nv31_mpeg_func { | |
590801c1 | 18 | bool (*mthd_dma)(struct nvkm_device *, u32 mthd, u32 data); |
912de74c | 19 | }; |
218f978d BS |
20 | |
21 | #define nv31_mpeg_chan(p) container_of((p), struct nv31_mpeg_chan, object) | |
22 | ||
23 | struct nv31_mpeg_chan { | |
24 | struct nvkm_object object; | |
25 | struct nv31_mpeg *mpeg; | |
26 | struct nvkm_fifo_chan *fifo; | |
27 | }; | |
28 | ||
29 | int nv31_mpeg_chan_new(struct nvkm_fifo_chan *, const struct nvkm_oclass *, | |
30 | struct nvkm_object **); | |
912de74c | 31 | #endif |