1*ba07fd2fSBen Hoff /* SPDX-License-Identifier: GPL-2.0-only */ 2*ba07fd2fSBen Hoff #ifndef HWS_VIDEO_H 3*ba07fd2fSBen Hoff #define HWS_VIDEO_H 4*ba07fd2fSBen Hoff 5*ba07fd2fSBen Hoff struct hws_video; 6*ba07fd2fSBen Hoff 7*ba07fd2fSBen Hoff int hws_video_register(struct hws_pcie_dev *dev); 8*ba07fd2fSBen Hoff void hws_video_unregister(struct hws_pcie_dev *dev); 9*ba07fd2fSBen Hoff void hws_enable_video_capture(struct hws_pcie_dev *hws, 10*ba07fd2fSBen Hoff unsigned int chan, 11*ba07fd2fSBen Hoff bool on); 12*ba07fd2fSBen Hoff void hws_prime_next_locked(struct hws_video *vid); 13*ba07fd2fSBen Hoff 14*ba07fd2fSBen Hoff int hws_video_init_channel(struct hws_pcie_dev *pdev, int ch); 15*ba07fd2fSBen Hoff void hws_video_cleanup_channel(struct hws_pcie_dev *pdev, int ch); 16*ba07fd2fSBen Hoff void check_video_format(struct hws_pcie_dev *pdx); 17*ba07fd2fSBen Hoff int hws_check_card_status(struct hws_pcie_dev *hws); 18*ba07fd2fSBen Hoff void hws_init_video_sys(struct hws_pcie_dev *hws, bool enable); 19*ba07fd2fSBen Hoff 20*ba07fd2fSBen Hoff void hws_program_dma_for_addr(struct hws_pcie_dev *hws, 21*ba07fd2fSBen Hoff unsigned int ch, 22*ba07fd2fSBen Hoff dma_addr_t dma); 23*ba07fd2fSBen Hoff void hws_set_dma_doorbell(struct hws_pcie_dev *hws, unsigned int ch, 24*ba07fd2fSBen Hoff dma_addr_t dma, const char *tag); 25*ba07fd2fSBen Hoff 26*ba07fd2fSBen Hoff int hws_video_quiesce(struct hws_pcie_dev *hws, const char *reason); 27*ba07fd2fSBen Hoff void hws_video_pm_resume(struct hws_pcie_dev *hws); 28*ba07fd2fSBen Hoff 29*ba07fd2fSBen Hoff #endif 30