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 15

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

powered by: WebSVN 2.1.0

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