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