OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [common/] [utils/] [cl_ambpex.h] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
//---------------------------------------------------------------------------
2
 
3
#ifndef TF_CheckItem_CL_AMBPEXH
4
#define TF_CheckItem_CL_AMBPEXH
5
 
6
#include "utypes.h"
7
//#include "brd.h"
8
//#include "time.h"
9
#include "ctrlstrm.h"
10
 
11
//#include <string.h>
12
 
13
class board;
14
 
15
class  CL_AMBPEX
16
{
17
 
18
 
19
public:
20
 
21
    //!  Инициализация модуля
22
    virtual U32  init( void );
23
 
24
    //!  Завершение работы с модулем
25
    virtual void  cleanup( void );
26
 
27
 
28
    int StreamInit( U32 strm, U32 cnt_buf, U32 size_one_buf_of_bytes, U32 trd, U32 dir, U32 cycle, U32 system, U32 agree_mode );
29
 
30
    void StreamDestroy( U32 strm );
31
 
32
    U32* StreamGetBufByNum( U32 strm, U32 numBuf );
33
 
34
    void StreamStart( U32 strm );
35
 
36
    void StreamStop( U32 strm );
37
 
38
    int StreamGetBuf( U32 strm, U32** ptr );
39
 
40
    int StreamGetIndexDma( U32 strm );
41
 
42
    int StreamGetNextIndex( U32 strm, U32 index );
43
 
44
    void StreamGetBufDone( U32 strm );
45
 
46
    // Доступ к регистрам
47
 
48
    //! Запись в косвенно адресуемый регистр
49
    void RegPokeInd( S32 trdNo, S32 rgnum, U32 val );
50
 
51
    //! Чтение из косвенно адресуемого регистра
52
    U32 RegPeekInd( S32 trdNo, S32 rgnum );
53
 
54
    //! Запись в прямой регистр
55
    void RegPokeDir( S32 trdNo, S32 rgnum, U32 val );
56
 
57
    //! Чтение из прямого регистра
58
    U32 RegPeekDir( S32 trdNo, S32 rgnum );
59
 
60
    CL_AMBPEX(const char* dev_name = NULL);
61
    virtual ~CL_AMBPEX();
62
 
63
private:
64
 
65
    //! Указатель на модуль
66
    board  *m_pBoard;
67
 
68
    struct StreamParam
69
    {
70
        U32 status;
71
        U32 strm;
72
        U32 cnt_buf;
73
        U32 size_one_buf_of_bytes;
74
        U32 trd;
75
        U32 cycle;
76
        U32 system;
77
        U32 dir;
78
 
79
        U32 indexDma;
80
        U32 indexPc;
81
        U32 agree_mode;
82
 
83
        BRDstrm_Stub    *pStub;
84
 
85
        U08 *pBlk[256];         //!< Массив указателей на блоки памяти
86
 
87
        StreamParam()
88
        {
89
            //memset( this, 0, sizeof( StreamParam ) );
90
        };
91
    };
92
 
93
    StreamParam  m_streamParam[2];
94
 
95
 
96
};
97
 
98
void Sleep( int ms );
99
//---------------------------------------------------------------------------
100
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.