/alps/pcitool

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to dma/ipe_private.h

  • Committer: Suren A. Chilingaryan
  • Date: 2015-06-12 15:24:18 UTC
  • Revision ID: csa@suren.me-20150612152418-b121bqoszonwsqbo
Support streaming mode in IPEDMA

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
#define IPEDMA_MAX_TLP_SIZE             256             /**< Defines maximum TLP in bytes supported by device */
9
9
//#define IPEDMA_TLP_SIZE               128             /**< If set, enforces the specified TLP size */
10
10
 
 
11
#define IPEDMA_STREAMING_MODE                           /**< Enables streaming DMA operation mode instead of ring-buffer, the page is written once and forgotten and need to be pushed in queue again */
 
12
#define IPEDMA_STREAMING_CHECKS                         /**< Enables status checks in streaming mode (it will cause performance penalty) */
11
13
#define IPEDMA_PAGE_SIZE                4096
12
14
#define IPEDMA_DMA_PAGES                1024            /**< number of DMA pages in the ring buffer to allocate */
13
15
#define IPEDMA_DMA_PROGRESS_THRESHOLD   1               /**< how many pages the DMA engine should fill before reporting progress */
31
33
#define IPEDMA_REG_TLP_COUNT            0x10
32
34
#define IPEDMA_REG_PAGE_ADDR            0x50
33
35
#define IPEDMA_REG_UPDATE_ADDR          0x54
34
 
#define IPEDMA_REG_LAST_READ            0x58
 
36
#define IPEDMA_REG_LAST_READ            0x58            /**< In streaming mode, we can use it freely to track current status */
35
37
#define IPEDMA_REG_PAGE_COUNT           0x5C
36
38
#define IPEDMA_REG_UPDATE_THRESHOLD     0x60
 
39
#define IPEDMA_REG_STREAMING_STATUS     0x68
 
40
 
37
41
 
38
42
#define WR(addr, value) { *(uint32_t*)(ctx->base_addr + addr) = value; }
39
43
#define RD(addr, value) { value = *(uint32_t*)(ctx->base_addr + addr); }