nv31.h 779 B

123456789101112131415161718192021222324252627282930
  1. #ifndef __NV31_MPEG_H__
  2. #define __NV31_MPEG_H__
  3. #define nv31_mpeg(p) container_of((p), struct nv31_mpeg, engine)
  4. #include "priv.h"
  5. #include <engine/mpeg.h>
  6. struct nv31_mpeg {
  7. const struct nv31_mpeg_func *func;
  8. struct nvkm_engine engine;
  9. struct nv31_mpeg_chan *chan;
  10. };
  11. int nv31_mpeg_new_(const struct nv31_mpeg_func *, struct nvkm_device *,
  12. int index, struct nvkm_engine **);
  13. struct nv31_mpeg_func {
  14. bool (*mthd_dma)(struct nvkm_device *, u32 mthd, u32 data);
  15. };
  16. #define nv31_mpeg_chan(p) container_of((p), struct nv31_mpeg_chan, object)
  17. struct nv31_mpeg_chan {
  18. struct nvkm_object object;
  19. struct nv31_mpeg *mpeg;
  20. struct nvkm_fifo_chan *fifo;
  21. };
  22. int nv31_mpeg_chan_new(struct nvkm_fifo_chan *, const struct nvkm_oclass *,
  23. struct nvkm_object **);
  24. #endif