1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #ifndef __IBUF_CTRL_LOCAL_H_INCLUDED__ 17 #define __IBUF_CTRL_LOCAL_H_INCLUDED__ 18 19 #include "ibuf_ctrl_global.h" 20 #include "ibuf_ctrl_local.h" 21 22 typedef struct ibuf_ctrl_proc_state_s ibuf_ctrl_proc_state_t; 23 typedef struct ibuf_ctrl_state_s ibuf_ctrl_state_t; 24 25 struct ibuf_ctrl_proc_state_s { 26 hrt_data num_items; 27 hrt_data num_stores; 28 hrt_data dma_channel; 29 hrt_data dma_command; 30 hrt_data ibuf_st_addr; 31 hrt_data ibuf_stride; 32 hrt_data ibuf_end_addr; 33 hrt_data dest_st_addr; 34 hrt_data dest_stride; 35 hrt_data dest_end_addr; 36 hrt_data sync_frame; 37 hrt_data sync_command; 38 hrt_data store_command; 39 hrt_data shift_returned_items; 40 hrt_data elems_ibuf; 41 hrt_data elems_dest; 42 hrt_data cur_stores; 43 hrt_data cur_acks; 44 hrt_data cur_s2m_ibuf_addr; 45 hrt_data cur_dma_ibuf_addr; 46 hrt_data cur_dma_dest_addr; 47 hrt_data cur_isp_dest_addr; 48 hrt_data dma_cmds_send; 49 hrt_data main_cntrl_state; 50 hrt_data dma_sync_state; 51 hrt_data isp_sync_state; 52 }; 53 54 struct ibuf_ctrl_state_s { 55 hrt_data recalc_words; 56 hrt_data arbiters; 57 ibuf_ctrl_proc_state_t proc_state[N_STREAM2MMIO_SID_ID]; 58 }; 59 60 #endif /* __IBUF_CTRL_LOCAL_H_INCLUDED__ */ 61