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