]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/host/dma_public.h
staging/atomisp: Add support for the Intel IPU v2
[mirror_ubuntu-hirsute-kernel.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / hive_isp_css_include / host / dma_public.h
1 /*
2 * Support for Intel Camera Imaging ISP subsystem.
3 * Copyright (c) 2015, Intel Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 */
14
15 #ifndef __DMA_PUBLIC_H_INCLUDED__
16 #define __DMA_PUBLIC_H_INCLUDED__
17
18 #include "system_types.h"
19
20 typedef struct dma_state_s dma_state_t;
21
22 /*! Read the control registers of DMA[ID]
23
24 \param ID[in] DMA identifier
25 \param state[out] input formatter state structure
26
27 \return none, state = DMA[ID].state
28 */
29 extern void dma_get_state(
30 const dma_ID_t ID,
31 dma_state_t *state);
32
33 /*! Write to a control register of DMA[ID]
34
35 \param ID[in] DMA identifier
36 \param reg[in] register index
37 \param value[in] The data to be written
38
39 \return none, DMA[ID].ctrl[reg] = value
40 */
41 STORAGE_CLASS_DMA_H void dma_reg_store(
42 const dma_ID_t ID,
43 const unsigned int reg,
44 const hrt_data value);
45
46 /*! Read from a control register of DMA[ID]
47
48 \param ID[in] DMA identifier
49 \param reg[in] register index
50 \param value[in] The data to be written
51
52 \return DMA[ID].ctrl[reg]
53 */
54 STORAGE_CLASS_DMA_H hrt_data dma_reg_load(
55 const dma_ID_t ID,
56 const unsigned int reg);
57
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__ */