root/trunk/libffado/config.h.in

Revision 936, 5.7 kB (checked in by ppalmers, 13 years ago)

add option to skip IEC61883 bandwidth allocation (bogus anyway)

Line 
1 /* config.h.in. */
2 #ifndef CONFIG_H
3 #define CONFIG_H
4
5 /* Name of package */
6 #define PACKAGE $PACKAGE
7
8 /* Define to the address where bug reports for this package should be sent. */
9 #define PACKAGE_BUGREPORT "<ffado-devel@lists.sf.net>"
10
11 /* Define to the full name of this package. */
12 #define PACKAGE_NAME "$PACKAGE"
13
14 /* Define to the full name and version of this package. */
15 #define PACKAGE_STRING "$PACKAGE $VERSION-$REVISION"
16
17 /* Define to the one symbol short name of this package. */
18 #define PACKAGE_TARNAME "$PACKAGE"
19
20 /* Define to the version of this package. */
21 #define PACKAGE_VERSION "$VERSION-$REVISION"
22
23 /* Define to the version of the cace. */
24 #define CACHE_VERSION "$VERSION-$REVISION"
25
26 /* Define to the api version */
27 #define FFADO_API_VERSION $FFADO_API_VERSION
28
29 #define CACHEDIR "~/.ffado"
30
31 #define BINDIR "$BINDIR"
32 #define LIBDIR "$LIBDIR"
33 #define SHAREDIR "$SHAREDIR"
34
35 #define DEBUG_IMPLEMENT_BACKLOG     0
36
37 // make this zero to disable the most extreme
38 // debug logging in the critical sections
39 #define DEBUG_EXTREME_ENABLE        0
40
41 #define IEEE1394SERVICE_USE_CYCLETIMER_DLL  1
42 #define IEEE1394SERVICE_CYCLETIMER_DLL_UPDATE_INTERVAL_USEC 200000
43 #define IEEE1394SERVICE_MAX_FIREWIRE_PORTS  4
44
45 #define IEEE1394SERVICE_CYCLETIMER_HELPER_RUN_REALTIME    1
46 #define IEEE1394SERVICE_CYCLETIMER_HELPER_PRIO_INCREASE  -10
47
48 // The current version of libiec61883 doesn't seem to calculate
49 // the bandwidth correctly. Defining this to non-zero skips
50 // bandwidth allocation when doing CMP connections.
51 #define IEEE1394SERVICE_SKIP_IEC61883_BANDWIDTH_ALLOCATION 1
52
53 #define THREAD_MAX_RTPRIO                   98
54 #define THREAD_MIN_RTPRIO                   1
55
56 #define MINIMUM_INTERRUPTS_PER_PERIOD       4U
57
58 // These are the result of a lot of trial and error
59 // due to weirdness in the kernel layer
60 #define MAX_XMIT_PACKET_SIZE                (2048-16)
61 #define MAX_XMIT_NB_BUFFERS                 40
62
63 #define ISOHANDLER_FLUSH_BEFORE_ITERATE     0
64
65 #define ISOHANDLER_DEATH_DETECT_TIMEOUT_USECS    1000000LL
66
67 #define ISOHANDLERMANAGER_MAX_ISO_HANDLERS_PER_PORT         16
68 #define ISOHANDLERMANAGER_MAX_STREAMS_PER_ISOTHREAD         16
69 // the transmit thread should run at elevated priority since it
70 // should push packets into the kernel ASAP
71 #define ISOHANDLERMANAGER_TRANSMIT_PRIO_INCREASE            1
72 // the receive thread should have lower priority than the transmit one, since
73 // it should be interrupted once it has flagged the semaphore that indicates
74 // one period of frames.
75 #define ISOHANDLERMANAGER_RECEIVE_PRIO_INCREASE             -6
76
77 // allows to add some processing margin. This shifts the time
78 // at which the buffer is transfer()'ed, making things somewhat
79 // more robust. It should be noted though that shifting the transfer
80 // time to a later time instant also causes the xmit buffer fill to be
81 // lower on average.
82 #define STREAMPROCESSORMANAGER_SIGNAL_DELAY_TICKS           (3072*6)
83
84 // startup control
85 #define STREAMPROCESSORMANAGER_CYCLES_FOR_DRYRUN            40000
86 #define STREAMPROCESSORMANAGER_CYCLES_FOR_STARTUP           200
87 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_XMIT     20
88 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_RECV     0
89 #define STREAMPROCESSORMANAGER_SYNCSTART_TRIES              10
90 #define STREAMPROCESSORMANAGER_SYNC_WAIT_TIME_MSEC          200
91 #define STREAMPROCESSORMANAGER_ALIGN_AVERAGE_TIME_MSEC      200
92 #define STREAMPROCESSORMANAGER_NB_ALIGN_TRIES               40
93
94 #define STREAMPROCESSORMANAGER_DYNAMIC_SYNC_DELAY           0
95
96 // FIXME: note that it will probably be better to use a DLL bandwidth that is
97 //        dependant on the sample rate
98 #define TIMESTAMPEDBUFFER_DLL_BANDWIDTH                     (0.01)
99
100 // -- AMDTP options -- //
101
102 // in ticks
103 // as per AMDTP2.1:
104 // 354.17us + 125us @ 24.576ticks/usec = 11776.08192 ticks
105 #define AMDTP_TRANSMIT_TRANSFER_DELAY   (11776U)
106
107 // the absolute minimum number of cycles we want to transmit
108 // a packet ahead of the presentation time. The nominal time
109 // the packet is transmitted ahead of the presentation time is
110 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but in case we
111 // are too late for that, this constant defines how late we can
112 // be.
113 #define AMDTP_MIN_CYCLES_BEFORE_PRESENTATION                1
114
115 // the absolute maximum number of cycles we want to transmit
116 // a packet ahead of the ideal transmit time. The nominal time
117 // the packet is transmitted ahead of the presentation time is
118 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but we can send
119 // packets early if we want to. (not completely according to spec)
120 // (for spec compliance you need to specify a value of 1 or 2)
121 #define AMDTP_MAX_CYCLES_TO_TRANSMIT_EARLY                  2
122
123 // ensure that the AMDTP SP clips all float values to [-1.0..1.0]
124 #define AMDTP_CLIP_FLOATS                                   1
125
126 // -- MOTU options -- //
127
128 // the transfer delay is substracted from the ideal presentation
129 // time to obtain a corrected presentation time. This values is
130 // then used to stamp the packet and determine the transmission
131 // time instant.
132 #define MOTU_TRANSMIT_TRANSFER_DELAY    (11776U)
133
134 // the absolute minimum number of cycles we want to transmit
135 // a packet ahead of the presentation time. The nominal time
136 // the packet is transmitted ahead of the presentation time is
137 // given by MOTU_TRANSMIT_TRANSFER_DELAY (in ticks), but in case we
138 // are too late for that, this constant defines how late we can
139 // be.
140 #define MOTU_MIN_CYCLES_BEFORE_PRESENTATION                1
141
142 // the absolute maximum number of cycles we want to transmit
143 // a packet ahead of the ideal transmit time. The nominal time
144 // the packet is transmitted ahead of the presentation time is
145 // given by MOTU_TRANSMIT_TRANSFER_DELAY (in ticks), but we can send
146 // packets early if we want to.
147 #define MOTU_MAX_CYCLES_TO_TRANSMIT_EARLY                  6
148
149 #endif // CONFIG_H
Note: See TracBrowser for help on using the browser.