Lines Matching refs:pipes

31  * memory and a serial device (long pipes, no. 0-15) or between two serial
32 * devices (short pipes, no. 16-31), or simply send a fixed data to a serial
33 * device (short pipes).
36 * each serial device (NT,TE,CHI). A timeslot is associated to 1 or 2 pipes
313 struct dbri_pipe pipes[DBRI_NO_PIPES]; /* DBRI's 32 data pipes */
364 #define D_PAUSE 0x1 /* Flush long pipes */
421 #define D_TS_ANCHOR (7<<10) /* Starting short pipes */
575 * Short data pipes transmit LSB first. The CS4215 receives MSB first. Grrr.
768 /* Initialize pipes */
770 dbri->pipes[n].desc = dbri->pipes[n].first_desc = -1;
804 main data path takes the form of data pipes, which can be short (command
806 provide a rudimentary means of setting up and managing the DBRI's pipes,
807 but the calling functions have to make sure they respect the pipes' linked
814 return ((pipe >= 0) && (dbri->pipes[pipe].desc != -1));
834 sdp = dbri->pipes[pipe].sdp;
847 desc = dbri->pipes[pipe].first_desc;
853 } while (desc != -1 && desc != dbri->pipes[pipe].first_desc);
855 dbri->pipes[pipe].desc = -1;
856 dbri->pipes[pipe].first_desc = -1;
883 dbri->pipes[pipe].sdp = sdp;
884 dbri->pipes[pipe].desc = -1;
885 dbri->pipes[pipe].first_desc = -1;
908 if (dbri->pipes[pipe].sdp == 0
909 || dbri->pipes[prevpipe].sdp == 0
910 || dbri->pipes[nextpipe].sdp == 0) {
916 dbri->pipes[prevpipe].nextpipe = pipe;
917 dbri->pipes[pipe].nextpipe = nextpipe;
918 dbri->pipes[pipe].length = length;
922 if (dbri->pipes[pipe].sdp & D_SDP_TO_SER) {
990 * The DBRI only interrupts us when the data changes (receive pipes),
991 * or only changes the data when this function is called (transmit pipes).
992 * Only short pipes (numbers 16-31) can be used in fixed data mode.
1012 if (D_SDP_MODE(dbri->pipes[pipe].sdp) == 0) {
1018 if (D_SDP_MODE(dbri->pipes[pipe].sdp) != D_SDP_FIXED) {
1023 if (!(dbri->pipes[pipe].sdp & D_SDP_TO_SER)) {
1029 /* DBRI short pipes always transmit LSB first */
1031 if (dbri->pipes[pipe].sdp & D_SDP_MSB)
1032 data = reverse_bytes(data, dbri->pipes[pipe].length);
1055 if (D_SDP_MODE(dbri->pipes[pipe].sdp) != D_SDP_FIXED) {
1061 if (dbri->pipes[pipe].sdp & D_SDP_TO_SER) {
1067 dbri->pipes[pipe].recv_fixed_ptr = ptr;
1101 if (dbri->pipes[info->pipe].sdp == 0) {
1111 if (!(dbri->pipes[info->pipe].sdp & D_SDP_TO_SER)) {
1117 if (dbri->pipes[info->pipe].sdp & D_SDP_TO_SER) {
1137 desc = dbri->pipes[info->pipe].first_desc;
1144 desc != dbri->pipes[info->pipe].first_desc);
1146 dbri->pipes[info->pipe].desc = -1;
1147 dbri->pipes[info->pipe].first_desc = -1;
1207 dbri->pipes[info->pipe].first_desc = first_desc;
1208 dbri->pipes[info->pipe].desc = first_desc;
1259 dbri->pipes[16].sdp = 1;
1260 dbri->pipes[16].nextpipe = 16;
1723 first_td = dbri->pipes[info->pipe].first_desc;
1731 dbri->pipes[info->pipe].sdp
1738 dbri->pipes[info->pipe].desc = first_td;
1745 first_td = dbri->pipes[info->pipe].first_desc;
1753 dbri->pipes[info->pipe].sdp
1760 dbri->pipes[info->pipe].desc = first_td;
1784 int td = dbri->pipes[pipe].desc;
1803 dbri->pipes[pipe].desc = td;
1815 int rd = dbri->pipes[pipe].desc;
1823 dbri->pipes[pipe].desc = dbri->next_desc[rd];
1881 int td = dbri->pipes[pipe].desc;
1886 dbri->pipes[pipe].sdp
1895 if (dbri->pipes[channel].sdp & D_SDP_MSB)
1896 val = reverse_bytes(val, dbri->pipes[channel].length);
1898 if (dbri->pipes[channel].recv_fixed_ptr)
1899 *(dbri->pipes[channel].recv_fixed_ptr) = val;
2490 struct dbri_pipe *pptr = &dbri->pipes[pipe];