xref: /linux/drivers/media/pci/hws/hws_video.h (revision 3d5e48944e824bddc20d7b874e784f7b279636fe)
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