1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd. */ 3 4 #ifndef _RKISP_EXTERNAL_H 5 #define _RKISP_EXTERNAL_H 6 7 8 #define RKISP_VICAP_CMD_MODE \ 9 _IOW('V', BASE_VIDIOC_PRIVATE + 0, struct rkisp_vicap_mode) 10 11 #define RKISP_VICAP_CMD_INIT_BUF \ 12 _IOW('V', BASE_VIDIOC_PRIVATE + 1, int) 13 14 #define RKISP_VICAP_BUF_CNT 1 15 #define RKISP_RX_BUF_POOL_MAX (RKISP_VICAP_BUF_CNT * 3) 16 17 struct rkisp_vicap_mode { 18 char *name; 19 bool is_rdbk; 20 }; 21 22 enum rx_buf_type { 23 BUF_SHORT, 24 BUF_MIDDLE, 25 BUF_LONG, 26 }; 27 28 struct rkisp_rx_buf_pool { 29 struct rkisp_rx_buf *dbufs; 30 void *mem_priv; 31 dma_addr_t dma; 32 void *vaddr; 33 }; 34 35 struct rkisp_rx_buf { 36 struct list_head list; 37 struct dma_buf *dbuf; 38 enum rx_buf_type type; 39 u64 timestamp; 40 u32 sequence; 41 bool is_init; 42 }; 43 44 #endif 45