elphel393-mem.h 1.44 KB
Newer Older
Andrey Filippov's avatar
Andrey Filippov committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*!***************************************************************************
 *! FILE NAME  : elphel393-mem.h
 *! DESCRIPTION:
 *! Copyright (C) 2015 Elphel, Inc.
 *! -----------------------------------------------------------------------------**
 *!
 *!  This program is free software: you can redistribute it and/or modify
 *!  it under the terms of the GNU General Public License as published by
 *!  the Free Software Foundation, either version 3 of the License, or
 *!  (at your option) any later version.
 *!
 *!  This program is distributed in the hope that it will be useful,
 *!  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *!  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *!  GNU General Public License for more details.
 *!
 *!  You should have received a copy of the GNU General Public License
 *!  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *!****************************************************************************/
struct elphel_buf_t
{
22 23
	// Coherent DMA buffer
	void      *vaddr;
Andrey Filippov's avatar
Andrey Filippov committed
24
	dma_addr_t paddr;
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
	ssize_t    size;

	// Host to device stream DMA buffer
	void      *h2d_vaddr;
	dma_addr_t h2d_paddr;
	ssize_t    h2d_size;

	// Device to host stream DMA buffer
	void      *d2h_vaddr;
	dma_addr_t d2h_paddr;
	ssize_t    d2h_size;

	// Bidirectional stream DMA buffer
	void      *bidir_vaddr;
	dma_addr_t bidir_paddr;
	ssize_t    bidir_size;
Andrey Filippov's avatar
Andrey Filippov committed
41 42 43
};
extern struct elphel_buf_t *pElphel_buf;