Home | History | Annotate | Download | only in common
      1 /*
      2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  tree. An additional intellectual property rights grant can be found
      7  *  in the file PATENTS.  All contributing project authors may
      8  *  be found in the AUTHORS file in the root of the source tree.
      9  */
     10 
     11 
     12 #ifndef _dma_desc_h
     13 #define _dma_desc_h
     14 
     15 #if defined(__cplusplus)
     16 extern "C" {
     17 #endif
     18 
     19 
     20 #define NDSIZE_LG   0x00000900  // Next Descriptor Size
     21 #define NDSIZE_SM   0x00000800  // Next Descriptor Size
     22 #define NDSIZE_7    0x00000700  // Next Descriptor Size
     23 #define NDSIZE_6    0x00000600  // Next Descriptor Size
     24 #define NDSIZE_5    0x00000500  // Next Descriptor Size
     25 #define NDSIZE_4    0x00000400  // Next Descriptor Size
     26 #define NDSIZE_3    0x00000300  // Next Descriptor Size
     27 #define NDSIZE_2    0x00000200  // Next Descriptor Size
     28 #define NDSIZE_1    0x00000100  // Next Descriptor Size
     29 
     30 #define FLOW_STOP       0x0000
     31 #define FLOW_AUTO       0x1000
     32 #define FLOW_DESC_AR    0x4000
     33 #define FLOW_DESC_SM    0x6000
     34 #define FLOW_DESC_LG    0x7000
     35 
     36     typedef struct
     37     {
     38         unsigned int ndp;
     39         //unsigned short ndpl;
     40         //unsigned short ndph;
     41         unsigned int sa;
     42         //unsigned short sal;
     43         //unsigned short sah;
     44 
     45         unsigned short dmacfg;
     46         unsigned short xcnt;
     47         unsigned short xmod;
     48         unsigned short ycnt;
     49         unsigned short ymod;
     50 
     51     } LARGE_DESC;
     52 
     53     typedef struct
     54     {
     55         unsigned short ndpl;
     56         unsigned short sal;
     57         unsigned short sah;
     58         unsigned short dmacfg;
     59         unsigned short xcnt;
     60         unsigned short xmod;
     61         unsigned short ycnt;
     62         unsigned short ymod;
     63     } SMALL_DESC;
     64 
     65     typedef struct
     66     {
     67         unsigned short sal;
     68         unsigned short sah;
     69         unsigned short dmacfg;
     70         unsigned short xcnt;
     71         unsigned short xmod;
     72         unsigned short ycnt;
     73         unsigned short ymod;
     74     } ARRAY_DESC_7;
     75 
     76     typedef struct
     77     {
     78         unsigned short sal;
     79         unsigned short sah;
     80         unsigned short dmacfg;
     81         unsigned short xcnt;
     82         unsigned short xmod;
     83         unsigned short ycnt;
     84     } ARRAY_DESC_6;
     85 
     86     typedef struct
     87     {
     88         unsigned short sal;
     89         unsigned short sah;
     90         unsigned short dmacfg;
     91         unsigned short xcnt;
     92         unsigned short xmod;
     93     } ARRAY_DESC_5;
     94 
     95     typedef struct
     96     {
     97         unsigned short sal;
     98         unsigned short sah;
     99         unsigned short dmacfg;
    100         unsigned short xcnt;
    101     } ARRAY_DESC_4;
    102 
    103     typedef struct
    104     {
    105         unsigned short sal;
    106         unsigned short sah;
    107         unsigned short dmacfg;
    108     } ARRAY_DESC_3;
    109 
    110     typedef struct
    111     {
    112         unsigned short sal;
    113         unsigned short sah;
    114     } ARRAY_DESC_2;
    115 
    116     typedef struct
    117     {
    118         unsigned short sal;
    119     } ARRAY_DESC_1;
    120 
    121 #if defined(__cplusplus)
    122 }
    123 #endif
    124 
    125 #endif //_dma_desc_h
    126