1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  */
4 struct btcx_riscmem {
5 	unsigned int   size;
6 	__le32         *cpu;
7 	__le32         *jmp;
8 	dma_addr_t     dma;
9 };
10 
11 struct btcx_skiplist {
12 	int start;
13 	int end;
14 };
15 
16 int  btcx_riscmem_alloc(struct pci_dev *pci,
17 			struct btcx_riscmem *risc,
18 			unsigned int size);
19 void btcx_riscmem_free(struct pci_dev *pci,
20 		       struct btcx_riscmem *risc);
21 
22 int btcx_screen_clips(int swidth, int sheight, struct v4l2_rect *win,
23 		      struct v4l2_clip *clips, unsigned int n);
24 int btcx_align(struct v4l2_rect *win, struct v4l2_clip *clips,
25 	       unsigned int n, int mask);
26 void btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips);
27 void btcx_calc_skips(int line, int width, int *maxy,
28 		     struct btcx_skiplist *skips, unsigned int *nskips,
29 		     const struct v4l2_clip *clips, unsigned int nclips);
30