Lines Matching refs:buffer

26  * this, the TTY flip buffer is bypassed (too small to hold largest
136 u32 phys_addr; /* 32-bit flat physical address of data buffer */
137 volatile u16 count; /* buffer size/data count */
141 u32 link; /* 32-bit flat link to next buffer entry */
142 char *virt_addr; /* virtual address of data buffer */
143 u32 phys_entry; /* physical address of this buffer entry */
166 /* transmit holding buffer definitions*/
170 unsigned char * buffer;
219 char *buffer_list; /* virtual address of Rx & Tx buffer lists */
224 DMABUFFERENTRY *rx_buffer_list; /* list of receive buffer entries */
230 DMABUFFERENTRY *tx_buffer_list; /* list of transmit buffer entries */
231 int start_tx_dma_buffer; /* tx dma buffer to start tx dma operation */
232 int current_tx_buffer; /* next tx dma buffer to be loaded */
236 int num_tx_holding_buffers; /* number of tx holding buffer allocated */
237 int get_tx_holding_index; /* next tx holding buffer for adapter to load */
238 int put_tx_holding_index; /* next tx holding buffer to store user request */
312 * The size of the serial xmit buffer is 1 page, or 4096 bytes
756 * DMA buffer manupulation functions.
768 * DMA and Shared Memory buffer allocation and formatting
903 /* number of characters left in xmit buffer before we ask for more */
1227 /* the DMA buffer */
1578 * buffer list have been filled (no more free buffers
1582 * DMA buffer is terminated in response to completion
1584 * of the frame is stored in the buffer entry in the
1585 * list of receive buffer entries.
1622 * transmit DMA buffer has been emptied.
1658 * at least one free tx holding buffer
1757 /* allocate a page of memory for a transmit buffer */
1760 printk(KERN_ERR"%s(%d):%s can't allocate transmit buffer\n",
1992 * Add a character to the transmit buffer.
1995 * ch character to add to transmit buffer
2034 * transmit buffer are sent.
2066 /* transmit DMA buffer. */
2084 * buf pointer to buffer containing send data
2156 /* transmit DMA buffer. */
2208 * Return the count of free bytes in transmit buffer
2243 * Return the count of bytes in transmit buffer
2277 * Discard all data in the send buffer
2402 * user_icount pointer to buffer to hold returned stats
2433 * user_params pointer to buffer to hold returned params
2449 printk( "%s(%d):mgsl_get_params(%s) user buffer copy failed\n",
2465 * new_params user buffer containing new serial params
2481 printk( "%s(%d):mgsl_set_params(%s) user buffer copy failed\n",
2503 * idle_mode pointer to buffer to hold returned idle mode
2518 printk( "%s(%d):mgsl_get_txidle(%s) user buffer copy failed\n",
3013 * termios pointer to buffer to hold returned old termios
3545 /* not an even multiple of the DMA buffer size then we need to */
3546 /* round the buffer count per frame up one. */
3556 * The first page is used for padding at this time so the buffer list
3559 * The 2nd page is used for the buffer list. A 4K buffer list can hold
3583 printk("%s(%d):Can't allocate DMA buffer memory\n",__FILE__,__LINE__);
3597 * Allocate a common DMA buffer for use as the
3598 * receive and transmit buffer lists.
3600 * A buffer list is a set of buffer entries where each entry contains
3601 * a pointer to an actual buffer and a pointer to the next buffer entry
3602 * (plus some other info about the buffer).
3604 * The buffer entries for a list are built to form a circular list so
3608 * This function allocates memory for just the buffer entries.
3626 /* We got the memory for the buffer entry lists. */
3631 /* transmit buffer lists. (Receive 1st). These pointers will */
3638 * Build the links for the buffer entry lists such that
3643 * buffer entry to use.
3647 /* calculate and store physical address of this buffer entry */
3661 /* calculate and store physical address of this buffer entry */
3680 * receive and transmit buffer lists.
3683 * The data transfer buffers associated with the buffer list
3684 * MUST be freed before freeing the buffer list itself because
3685 * the buffer list contains the information necessary to free
3699 * Allocate the frame DMA buffers used by the specified buffer list.
3700 * Each DMA buffer will be one memory page in size. This is necessary
3707 * BufferList pointer to list of buffer entries
3708 * Buffercount count of buffer entries in buffer list
3716 /* Allocate page sized buffers for the receive buffer list */
3732 * each buffer entry of a buffer list.
3737 * BufferList pointer to list of buffer entries
3738 * Buffercount count of buffer entries in buffer list
3775 * Allocate a buffer large enough to hold max_frame_size. This buffer
3789 /* unused flag buffer to satisfy receive_buf calling interface */
3822 * Allocate intermdiate transmit buffer(s) large enough to hold max_frame_size.
3823 * This buffer is used to load transmit frames into the adapter's dma transfer
3843 info->tx_holding_buffers[i].buffer =
3845 if (info->tx_holding_buffers[i].buffer == NULL) {
3847 kfree(info->tx_holding_buffers[i].buffer);
3848 info->tx_holding_buffers[i].buffer = NULL;
3873 kfree(info->tx_holding_buffers[i].buffer);
3874 info->tx_holding_buffers[i].buffer = NULL;
3895 * into adapter's tx dma buffer,
3915 mgsl_load_tx_dma_buffer(info,ptx->buffer,ptx->buffer_size);
3939 * Buffer pointer to buffer containing frame to load
3954 memcpy( ptx->buffer, Buffer, BufferSize);
5156 /* CurrentRxBuffer points to the 1st buffer of the next */
5162 /* that a receive frame started (at least one buffer with */
5163 /* count set to zero) but there is no terminiting buffer */
5169 /* This buffer is currently in use. */
5181 /* This is the last buffer of a received frame. */
5190 /* advance to next buffer entry in linked list */
5215 /* at the 1st buffer of unfinished frame. */
5243 /* program 16C32 with physical address of 1st DMA buffer entry */
5330 /* Enable the DMA controller end of buffer interrupt. */
5332 /* program 16C32 with physical address of 1st DMA buffer entry */
5414 /* Transmit DMA buffer is loaded, so program USC */
5420 * of the tx dma buffer entry, otherwise, the serial controller
5526 /* there is more data in transmit buffer */
5529 /* write a 16-bit word from transmit buffer to 16C32 */
6150 * about each data transfer buffer is contained in a memory structure
6151 * called a 'buffer entry'. A list of buffer entries is maintained
6155 * contiguous memory buffers to allow for the total required buffer
6158 * The 16C32 accesses the list of buffer entries using Bus Master
6159 * DMA. Control information is read from the buffer entries by the
6161 * the buffer entries by the 16C32 to indicate the status of completed
6164 * The CPU writes control information to the buffer entries to control
6165 * the 16C32 and reads status information from the buffer entries to
6169 * to the buffer entries, the buffer entry memory is allocated with
6170 * HalAllocateCommonBuffer(). This restricts the size of the buffer
6183 * buffer is available for use and set the current buffer to the
6184 * first buffer. This effectively makes all buffers free and
6225 * and set the current buffer to the first buffer. This effectively
6254 * StartIndex index of 1st receive buffer of frame
6255 * EndIndex index of last receive buffer of frame
6265 /* Starting with 1st buffer entry of the frame clear the status */
6274 /* This is the last buffer of the frame! */
6278 /* reset current buffer for reuse */
6283 /* advance to next buffer entry in linked list */
6289 /* set current buffer to next buffer after last buffer of frame */
6314 * current_rx_buffer points to the 1st buffer of the next available
6315 * receive frame. To find the last buffer of the frame look for
6316 * a non-zero status field in the buffer entries. (The status
6324 * If the count field of the buffer entry is non-zero then
6325 * this buffer has not been used. (The 16C32 clears the count
6326 * field when it starts using the buffer.) If an unused buffer
6333 /* advance to next buffer entry in linked list */
6412 /* copy dma buffer(s) to contiguous intermediate buffer */
6465 * a receive overflow (buffer or FIFO). If the
6495 * last Rx DMA buffer and return that last portion of the frame.
6511 * current_rx_buffer points to the 1st buffer of the next available
6513 * completing a receive frame. If the status field of this buffer
6514 * is zero, either the USC is still filling this buffer or this
6517 * If the count field of this buffer is zero, the USC is either
6518 * using this buffer or has used this buffer. Look at the count
6519 * field of the next buffer. If that next buffer's count is
6520 * non-zero, the USC is still actively using the current buffer.
6521 * Otherwise, if the next buffer's count field is zero, the
6522 * current buffer is complete and the USC is using the next
6523 * buffer.
6534 * Either the status field of this dma buffer is non-zero
6535 * (indicating the last buffer of a receive frame) or the next
6536 * buffer is marked as in use -- implying this buffer is complete
6537 * and an intermediate buffer for this received frame.
6562 * If the status field is zero, this is an intermediate buffer.
6568 * It is possible that the RCC field will be zero on a DMA buffer
6586 * buffer and let the app figure out what data is
6603 * actual number of bytes of the frame in this buffer.
6618 /* copy dma buffer(s) to contiguous intermediate buffer */
6637 * a receive overflow (buffer or FIFO). If the
6655 * Load the transmit DMA buffer with the specified data.
6660 * Buffer pointer to buffer containing frame to load
6683 * buffer, remember it's starting location for setting
6690 /* buffer entry in the transmit DMA buffer list. */
6696 /* Copy frame data from 1st source buffer to the DMA buffers. */
6700 /* Get a pointer to next DMA buffer entry. */
6707 /* the source buffer to this DMA buffer. */
6713 /* Actually copy data from source buffer to DMA buffer. */
6714 /* Also set the data count for this individual DMA buffer. */
6726 /* remember next available tx dma buffer */
6841 * transmitted via DMA from a transmit buffer to a receive buffer
6842 * using single buffer DMA mode.
6876 * field of the buffer entry after fetching buffer address. This
6904 /* setup 1st transmit buffer entry: */
6911 /* build a transmit frame in 1st transmit DMA buffer */
6917 /* setup 1st receive buffer entry: */
6918 /* clear status, set max receive buffer size */
6923 /* zero out the 1st receive buffer */
6927 /* Set count field of next buffer entries to prevent */
6943 /* program 16C32 receiver with physical address of 1st DMA buffer entry */
6978 /* This means the buffer entry read has completed. */
7094 /* Wait for 16C32 to write receive status to buffer entry. */
7254 * SourcePtr pointer to source buffer for data
7472 * @skb: socket buffer containing HDLC frame
7495 /* done with socket buffer, so free it */
7740 * @buf: pointer to buffer contianing frame data