xref: /linux/drivers/media/pci/bt8xx/btcx-risc.h (revision b24413180f5600bcb3bb70fbed5cf186b60864bd)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
290ca8befSHans Verkuil struct btcx_riscmem {
390ca8befSHans Verkuil 	unsigned int   size;
490ca8befSHans Verkuil 	__le32         *cpu;
590ca8befSHans Verkuil 	__le32         *jmp;
690ca8befSHans Verkuil 	dma_addr_t     dma;
790ca8befSHans Verkuil };
890ca8befSHans Verkuil 
990ca8befSHans Verkuil struct btcx_skiplist {
1090ca8befSHans Verkuil 	int start;
1190ca8befSHans Verkuil 	int end;
1290ca8befSHans Verkuil };
1390ca8befSHans Verkuil 
1490ca8befSHans Verkuil int  btcx_riscmem_alloc(struct pci_dev *pci,
1590ca8befSHans Verkuil 			struct btcx_riscmem *risc,
1690ca8befSHans Verkuil 			unsigned int size);
1790ca8befSHans Verkuil void btcx_riscmem_free(struct pci_dev *pci,
1890ca8befSHans Verkuil 		       struct btcx_riscmem *risc);
1990ca8befSHans Verkuil 
2090ca8befSHans Verkuil int btcx_screen_clips(int swidth, int sheight, struct v4l2_rect *win,
2190ca8befSHans Verkuil 		      struct v4l2_clip *clips, unsigned int n);
2290ca8befSHans Verkuil int btcx_align(struct v4l2_rect *win, struct v4l2_clip *clips,
2390ca8befSHans Verkuil 	       unsigned int n, int mask);
2490ca8befSHans Verkuil void btcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips);
2590ca8befSHans Verkuil void btcx_calc_skips(int line, int width, int *maxy,
2690ca8befSHans Verkuil 		     struct btcx_skiplist *skips, unsigned int *nskips,
2790ca8befSHans Verkuil 		     const struct v4l2_clip *clips, unsigned int nclips);
28