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