Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | |
| 2 | /* |
| 3 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 4 | Copyright (c) Eicon Networks, 2002. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 6 | This source file is supplied for the use with |
| 7 | Eicon Networks range of DIVA Server Adapters. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 9 | Eicon File Revision : 2.1 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 11 | This program is free software; you can redistribute it and/or modify |
| 12 | it under the terms of the GNU General Public License as published by |
| 13 | the Free Software Foundation; either version 2, or (at your option) |
| 14 | any later version. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 16 | This program is distributed in the hope that it will be useful, |
| 17 | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY |
| 18 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 19 | See the GNU General Public License for more details. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 21 | You should have received a copy of the GNU General Public License |
| 22 | along with this program; if not, write to the Free Software |
| 23 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | * |
| 25 | */ |
| 26 | #ifndef __DIVA_IDI_DFIFO_INC__ |
| 27 | #define __DIVA_IDI_DFIFO_INC__ |
| 28 | #define DIVA_DFIFO_CACHE_SZ 64 /* Used to isolate pipe from |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 29 | rest of the world |
| 30 | should be divisible by 4 |
| 31 | */ |
| 32 | #define DIVA_DFIFO_RAW_SZ (2512 * 8) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | #define DIVA_DFIFO_DATA_SZ 68 |
| 34 | #define DIVA_DFIFO_HDR_SZ 4 |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 35 | #define DIVA_DFIFO_SEGMENT_SZ (DIVA_DFIFO_DATA_SZ + DIVA_DFIFO_HDR_SZ) |
| 36 | #define DIVA_DFIFO_SEGMENTS ((DIVA_DFIFO_RAW_SZ) / (DIVA_DFIFO_SEGMENT_SZ) + 1) |
| 37 | #define DIVA_DFIFO_MEM_SZ ( \ |
| 38 | (DIVA_DFIFO_SEGMENT_SZ) * (DIVA_DFIFO_SEGMENTS) + \ |
| 39 | (DIVA_DFIFO_CACHE_SZ) * 2 \ |
| 40 | ) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | #define DIVA_DFIFO_STEP DIVA_DFIFO_SEGMENT_SZ |
| 42 | /* ------------------------------------------------------------------------- |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 43 | Block header layout is: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | byte[0] -> flags |
| 45 | byte[1] -> length of data in block |
| 46 | byte[2] -> reserved |
| 47 | byte[4] -> reserved |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 48 | ------------------------------------------------------------------------- */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 49 | #define DIVA_DFIFO_WRAP 0x80 /* This is the last block in fifo */ |
| 50 | #define DIVA_DFIFO_READY 0x40 /* This block is ready for processing */ |
| 51 | #define DIVA_DFIFO_LAST 0x20 /* This block is last in message */ |
| 52 | #define DIVA_DFIFO_AUTO 0x10 /* Don't look for 'ready', don't ack */ |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 53 | int diva_dfifo_create(void *start, int length); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 54 | #endif |