Lines Matching full: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
312 struct dbri_pipe pipes[DBRI_NO_PIPES]; /* DBRI's 32 data pipes */ member
363 #define D_PAUSE 0x1 /* Flush long pipes */
420 #define D_TS_ANCHOR (7<<10) /* Starting short pipes */
574 * Short data pipes transmit LSB first. The CS4215 receives MSB first. Grrr.
767 /* Initialize pipes */ in dbri_initialize()
769 dbri->pipes[n].desc = dbri->pipes[n].first_desc = -1; in dbri_initialize()
803 main data path takes the form of data pipes, which can be short (command
805 provide a rudimentary means of setting up and managing the DBRI's pipes,
806 but the calling functions have to make sure they respect the pipes' linked
813 return ((pipe >= 0) && (dbri->pipes[pipe].desc != -1)); in pipe_active()
833 sdp = dbri->pipes[pipe].sdp; in reset_pipe()
846 desc = dbri->pipes[pipe].first_desc; in reset_pipe()
852 } while (desc != -1 && desc != dbri->pipes[pipe].first_desc); in reset_pipe()
854 dbri->pipes[pipe].desc = -1; in reset_pipe()
855 dbri->pipes[pipe].first_desc = -1; in reset_pipe()
882 dbri->pipes[pipe].sdp = sdp; in setup_pipe()
883 dbri->pipes[pipe].desc = -1; in setup_pipe()
884 dbri->pipes[pipe].first_desc = -1; in setup_pipe()
907 if (dbri->pipes[pipe].sdp == 0 in link_time_slot()
908 || dbri->pipes[prevpipe].sdp == 0 in link_time_slot()
909 || dbri->pipes[nextpipe].sdp == 0) { in link_time_slot()
915 dbri->pipes[prevpipe].nextpipe = pipe; in link_time_slot()
916 dbri->pipes[pipe].nextpipe = nextpipe; in link_time_slot()
917 dbri->pipes[pipe].length = length; in link_time_slot()
921 if (dbri->pipes[pipe].sdp & D_SDP_TO_SER) { in link_time_slot()
989 * The DBRI only interrupts us when the data changes (receive pipes),
990 * or only changes the data when this function is called (transmit pipes).
991 * Only short pipes (numbers 16-31) can be used in fixed data mode.
1011 if (D_SDP_MODE(dbri->pipes[pipe].sdp) == 0) { in xmit_fixed()
1017 if (D_SDP_MODE(dbri->pipes[pipe].sdp) != D_SDP_FIXED) { in xmit_fixed()
1022 if (!(dbri->pipes[pipe].sdp & D_SDP_TO_SER)) { in xmit_fixed()
1028 /* DBRI short pipes always transmit LSB first */ in xmit_fixed()
1030 if (dbri->pipes[pipe].sdp & D_SDP_MSB) in xmit_fixed()
1031 data = reverse_bytes(data, dbri->pipes[pipe].length); in xmit_fixed()
1054 if (D_SDP_MODE(dbri->pipes[pipe].sdp) != D_SDP_FIXED) { in recv_fixed()
1060 if (dbri->pipes[pipe].sdp & D_SDP_TO_SER) { in recv_fixed()
1066 dbri->pipes[pipe].recv_fixed_ptr = ptr; in recv_fixed()
1100 if (dbri->pipes[info->pipe].sdp == 0) { in setup_descs()
1110 if (!(dbri->pipes[info->pipe].sdp & D_SDP_TO_SER)) { in setup_descs()
1116 if (dbri->pipes[info->pipe].sdp & D_SDP_TO_SER) { in setup_descs()
1136 desc = dbri->pipes[info->pipe].first_desc; in setup_descs()
1143 desc != dbri->pipes[info->pipe].first_desc); in setup_descs()
1145 dbri->pipes[info->pipe].desc = -1; in setup_descs()
1146 dbri->pipes[info->pipe].first_desc = -1; in setup_descs()
1206 dbri->pipes[info->pipe].first_desc = first_desc; in setup_descs()
1207 dbri->pipes[info->pipe].desc = first_desc; in setup_descs()
1258 dbri->pipes[16].sdp = 1; in reset_chi()
1259 dbri->pipes[16].nextpipe = 16; in reset_chi()
1722 first_td = dbri->pipes[info->pipe].first_desc; in xmit_descs()
1730 dbri->pipes[info->pipe].sdp in xmit_descs()
1737 dbri->pipes[info->pipe].desc = first_td; in xmit_descs()
1744 first_td = dbri->pipes[info->pipe].first_desc; in xmit_descs()
1752 dbri->pipes[info->pipe].sdp in xmit_descs()
1759 dbri->pipes[info->pipe].desc = first_td; in xmit_descs()
1783 int td = dbri->pipes[pipe].desc; in transmission_complete_intr()
1802 dbri->pipes[pipe].desc = td; in transmission_complete_intr()
1814 int rd = dbri->pipes[pipe].desc; in reception_complete_intr()
1822 dbri->pipes[pipe].desc = dbri->next_desc[rd]; in reception_complete_intr()
1880 int td = dbri->pipes[pipe].desc; in dbri_process_one_interrupt()
1885 dbri->pipes[pipe].sdp in dbri_process_one_interrupt()
1894 if (dbri->pipes[channel].sdp & D_SDP_MSB) in dbri_process_one_interrupt()
1895 val = reverse_bytes(val, dbri->pipes[channel].length); in dbri_process_one_interrupt()
1897 if (dbri->pipes[channel].recv_fixed_ptr) in dbri_process_one_interrupt()
1898 *(dbri->pipes[channel].recv_fixed_ptr) = val; in dbri_process_one_interrupt()
2490 struct dbri_pipe *pptr = &dbri->pipes[pipe]; in dbri_debug_read()