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 __DMA_PUBLIC_H_INCLUDED__ 17 #define __DMA_PUBLIC_H_INCLUDED__ 18 19 #include "system_local.h" 20 21 typedef struct dma_state_s dma_state_t; 22 23 /*! Read the control registers of DMA[ID] 24 25 \param ID[in] DMA identifier 26 \param state[out] input formatter state structure 27 28 \return none, state = DMA[ID].state 29 */ 30 void dma_get_state( 31 const dma_ID_t ID, 32 dma_state_t *state); 33 34 /*! Write to a control register of DMA[ID] 35 36 \param ID[in] DMA identifier 37 \param reg[in] register index 38 \param value[in] The data to be written 39 40 \return none, DMA[ID].ctrl[reg] = value 41 */ 42 STORAGE_CLASS_DMA_H void dma_reg_store( 43 const dma_ID_t ID, 44 const unsigned int reg, 45 const hrt_data value); 46 47 /*! Read from a control register of DMA[ID] 48 49 \param ID[in] DMA identifier 50 \param reg[in] register index 51 \param value[in] The data to be written 52 53 \return DMA[ID].ctrl[reg] 54 */ 55 STORAGE_CLASS_DMA_H hrt_data dma_reg_load( 56 const dma_ID_t ID, 57 const unsigned int reg); 58 59 /*! Set maximum burst size of DMA[ID] 60 61 \param ID[in] DMA identifier 62 \param conn[in] Connection to set max burst size for 63 \param max_burst_size[in] Maximum burst size in words 64 65 \return none 66 */ 67 void 68 dma_set_max_burst_size( 69 dma_ID_t ID, 70 dma_connection conn, 71 uint32_t max_burst_size); 72 73 #endif /* __DMA_PUBLIC_H_INCLUDED__ */ 74