| /* SPDX-License-Identifier: GPL-2.0 */ |
| struct btcx_riscmem { |
| unsigned int size; |
| __le32 *cpu; |
| __le32 *jmp; |
| dma_addr_t dma; |
| }; |
| |
| struct btcx_skiplist { |
| int start; |
| int end; |
| }; |
| |
| int btcx_riscmem_alloc(struct pci_dev *pci, |
| struct btcx_riscmem *risc, |
| unsigned int size); |
| void btcx_riscmem_free(struct pci_dev *pci, |
| struct btcx_riscmem *risc); |
| |
| int btcx_screen_clips(int swidth, int sheight, struct v4l2_rect *win, |
| struct v4l2_clip *clips, unsigned int n); |
| int btcx_align(struct v4l2_rect *win, struct v4l2_clip *clips, |
| unsigned int n, int mask); |
| void btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips); |
| void btcx_calc_skips(int line, int width, int *maxy, |
| struct btcx_skiplist *skips, unsigned int *nskips, |
| const struct v4l2_clip *clips, unsigned int nclips); |