Searched refs:ring (Results 1 - 25 of 26) sorted by relevance

12

/barrelfish-master/lib/dma/
H A Ddma_ring.c23 * represents the IOAT DMA ring with its internal state
27 uint16_t size; ///< size of the descriptor ring
34 struct dma_channel *chan; ///< channel associated with this ring
53 * \param ring the DMA ring
57 inline struct dma_descriptor *dma_ring_get_next_desc(struct dma_ring *ring) argument
59 struct dma_descriptor *desc = dma_ring_get_desc(ring, ring->write_next++);
61 DMADESC_DEBUG("ring getting next head desc:%p @ [%016lx], new head:%u\n", desc,
62 dma_desc_get_paddr(desc), (ring
76 dma_ring_get_tail_desc(struct dma_ring *ring) argument
93 dma_ring_submit_pending(struct dma_ring *ring) argument
119 dma_ring_get_chain_addr(struct dma_ring *ring) argument
131 dma_ring_get_base_addr(struct dma_ring *ring) argument
173 struct dma_ring *ring; local
211 dma_ring_free(struct dma_ring *ring) argument
242 dma_ring_get_active(struct dma_ring *ring) argument
254 dma_ring_get_pendig(struct dma_ring *ring) argument
272 dma_ring_get_size(struct dma_ring *ring) argument
284 dma_ring_get_write_next(struct dma_ring *ring) argument
296 dma_ring_get_tail(struct dma_ring *ring) argument
308 dma_ring_get_issued(struct dma_ring *ring) argument
320 dma_ring_get_head(struct dma_ring *ring) argument
336 dma_ring_get_desc(struct dma_ring *ring, uint16_t idx) argument
[all...]
/barrelfish-master/lib/dma/include/
H A Ddma_ring_internal.h15 /// maximum ring size in bits
29 * \param ring the DMA ring
33 struct dma_descriptor *dma_ring_get_next_desc(struct dma_ring *ring);
39 * \param ring the DMA ring
43 struct dma_descriptor *dma_ring_get_tail_desc(struct dma_ring *ring);
48 * \param ring DMA ring to submit the pending descriptors
52 uint16_t dma_ring_submit_pending(struct dma_ring *ring);
[all...]
/barrelfish-master/include/dma/
H A Ddma_ring.h27 * \brief allocates a descriptor ring of a given element count and descriptor
30 * \param ndesc_bits number of descriptors for this ring in bits
33 * \param use_modulo return the head pointer modulo ring size
34 * \param chan DMA channel of this ring
35 * \param ret_ring where the ring pointer is returned
48 * \brief frees a previously allocated descriptor ring
50 * \param ring IAT DMA descriptor ring to be freed
55 errval_t dma_ring_free(struct dma_ring *ring);
64 * \brief returns the size of the ring
152 dma_ring_get_space(struct dma_ring *ring) argument
[all...]
/barrelfish-master/lib/devif/backends/net/mlx4/drivers/net/mlx4/
H A Den_tx.c82 struct mlx4_en_tx_ring *ring; local
87 /*ring = kzalloc_node(sizeof(struct mlx4_en_tx_ring), GFP_KERNEL, node);
88 if (!ring) {*/
89 ring = calloc(1, sizeof(struct mlx4_en_tx_ring));
90 if (!ring) {
91 MLX4_ERR("Failed allocating TX ring\n");
109 &ring->dma_tag)))
112 ring->size = size;
113 ring->size_mask = size - 1;
114 ring
241 mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring, int cq, int user_prio) argument
319 mlx4_en_stamp_wqe(struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring, u32 index, u8 owner) argument
335 mlx4_en_free_tx_desc(struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring, u32 index) argument
382 mlx4_en_tx_ring_is_full(struct mlx4_en_tx_ring *ring) argument
395 struct mlx4_en_tx_ring *ring = priv->tx_ring[cq->ring]; local
490 struct mlx4_en_tx_ring *ring = priv->tx_ring[cq->ring]; local
610 struct mlx4_en_tx_ring *ring = priv->tx_ring[tx_ind]; local
908 struct mlx4_en_tx_ring *ring; local
[all...]
H A Den_rx.c61 struct mlx4_en_rx_ring *ring, int index) {
62 struct mlx4_en_rx_desc *rx_desc = (struct mlx4_en_rx_desc *) (ring->buf
63 + (ring->stride * index));
71 /** If the number of used fragments does not fill up the ring
75 possible_frags = (ring->stride - sizeof(struct mlx4_en_rx_desc)) / DS_SIZE;
84 // static int mlx4_en_alloc_buf(struct mlx4_en_rx_ring *ring, __be64 *pdma,
95 // /*if (unlikely(ring->spare.mbuf == NULL)) {
96 // mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, ring->rx_mb_size);
100 // mb->m_pkthdr.len = mb->m_len = ring->rx_mb_size;
106 // err = -bus_dmamap_load_mbuf_sg(ring
60 mlx4_en_init_rx_desc(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, int index) argument
193 mlx4_en_update_rx_prod_db(struct mlx4_en_rx_ring *ring) argument
285 struct mlx4_en_rx_ring *ring; local
375 struct mlx4_en_rx_ring *ring = priv->rx_ring[rx_ind]; local
395 struct mlx4_en_rx_ring *ring; local
541 mlx4_en_rx_mb(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring, struct mlx4_en_rx_desc *rx_desc, struct mlx4_en_rx_mbuf *mb_list, int length) argument
571 struct mlx4_en_rx_ring *ring = priv->rx_ring[0]; local
641 struct mlx4_en_rx_ring *ring = priv->rx_ring[cq->ring]; local
833 mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn, struct mlx4_en_rx_ring *ring, enum mlx4_qp_state *state, struct mlx4_qp *qp) argument
[all...]
H A Den_cq.c48 int entries, int ring, enum cq_type mode, int node) {
81 cq->ring = ring;
122 sprintf(name, "%s-%d", "mlxen", cq->ring);
123 Set IRQ for specific name (per ring)
125 cq->vector = (cq->ring + 1 + priv->port)
132 cq->vector = (cq->ring + 1 + priv->port)
139 * ring we assigned for the RX*/
147 cq->size = priv->rx_ring[cq->ring]->actual_size;
47 mlx4_en_create_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq **pcq, int entries, int ring, enum cq_type mode, int node) argument
H A Dmlx4_en.h121 /*Maximum ring sizes*/
128 /*Maximum ring sizes*/
132 /*Minimum ring sizes*/
265 /*index of port CQ associated with this ring*/
298 /*actual number of entries depends on rx ring stride*/
325 u16 cqn; /* index of port CQ associated with this ring*/
376 int ring; member in struct:mlx4_en_cq
681 struct mlx4_en_rx_ring *rx_ring = priv->rx_ring[cq->ring];
765 int entries, int ring, enum cq_type mode, int node);
789 struct mlx4_en_tx_ring *ring, in
[all...]
/barrelfish-master/lib/dma/xeon_phi/
H A Dxeon_phi_dma_channel.c31 struct dma_ring *ring; ///< Descriptor ring member in struct:xeon_phi_dma_channel
182 * \brief sets the previously allocated descriptor ring to be used
188 struct dma_ring *ring)
191 uint16_t size = dma_ring_get_size(ring);
192 lpaddr_t ring_base = dma_ring_get_base_addr(ring);
200 XPHICHAN_DEBUG("setting ring base to [0x%016lx] with size 0x%x\n",
231 XPHICHAN_DEBUG("setting ring base to [%08x][%08x]\n", chan->common.id,
250 struct dma_ring *ring = chan->ring; local
187 channel_set_ring(struct xeon_phi_dma_channel *chan, struct dma_ring *ring) argument
[all...]
H A Dxeon_phi_dma_request.c148 struct dma_ring *ring = xeon_phi_dma_channel_get_ring(xchan); local
150 if (num_desc > dma_ring_get_space(ring)) {
151 XPHIREQ_DEBUG("Too less space in ring: %u / %u\n", num_desc,
152 dma_ring_get_space(ring));
171 desc = dma_ring_get_next_desc(ring);
202 //desc = dma_ring_get_next_desc(ring);
238 struct dma_ring *ring = xeon_phi_dma_channel_get_ring(xchan); local
239 assert(ring);
241 struct dma_descriptor *desc = dma_ring_get_next_desc(ring);
/barrelfish-master/include/virtio/
H A Dvirtio_ring.h66 * The driver uses the available ring to offer buffers to the device.
76 uint16_t ring[0]; ///< refers to a head of descriptor chain member in struct:vring_avail
84 * is an element of the used ring
95 * The used ring is where the device returns buffers once it is done with them:
104 struct vring_used_elem ring[0]; ///< refers to a head of a descriptor chain member in struct:vring_used
124 struct vring_avail *avail; ///< ring of available descriptor heads
125 struct vring_used *used; ///< ring of used descriptor heads
139 // calculate the size of the available ring:
140 // flags + idx + num * ring + used_event
146 // calculate the size of the used ring
[all...]
H A Dvirtio_host.h23 errval_t (*add)(struct virtio_device *vdev, struct capref ring,
/barrelfish-master/lib/dma/ioat/
H A Dioat_dma_request.c151 struct dma_ring *ring = ioat_dma_channel_get_ring(ioat_chan); local
153 if (num_desc > dma_ring_get_space(ring)) {
154 IOATREQ_DEBUG("Too less space in ring: %u / %u\n", num_desc,
155 dma_ring_get_space(ring));
177 desc = dma_ring_get_next_desc(ring);
257 struct dma_ring *ring = ioat_dma_channel_get_ring(ioat_chan); local
259 if (num_desc > dma_ring_get_space(ring)) {
260 IOATREQ_DEBUG("Too less space in ring: %u / %u\n", num_desc,
261 dma_ring_get_space(ring));
283 desc = dma_ring_get_next_desc(ring);
351 struct dma_ring *ring = ioat_dma_channel_get_ring(chan); local
[all...]
H A Dioat_dma_channel.c30 struct dma_ring *ring; ///< Descriptor ring member in struct:ioat_dma_channel
41 lpaddr_t chain_addr = dma_ring_get_chain_addr(chan->ring);
107 dma_ring_get_write_next(chan->ring), dma_ring_get_tail(chan->ring),
108 dma_ring_get_issued(chan->ring));
110 uint16_t active_count = dma_ring_get_active(chan->ring);
120 desc = dma_ring_get_tail_desc(chan->ring);
212 IOAT_DMA_DESC_SIZE, 0x0, dma_chan, &chan->ring);
233 dcurr = dma_ring_get_desc(chan->ring,
[all...]
/barrelfish-master/usr/drivers/enet/
H A Denet_devq.c106 // bit is always set to 1 only when ring is empty then it is set to 0
112 // bit is always set to 1 only when ring is empty then it is set to 0
124 enet_bufdesc_t desc = q->ring[q->head];
155 __builtin___clear_cache(q->ring[q->head], q->ring[q->head+1]);
174 enet_bufdesc_t desc = q->ring[q->head];
175 __builtin___clear_cache(q->ring[q->head], q->ring[q->head+1]);
176 desc = q->ring[q->head];
230 enet_bufdesc_t desc = q->ring[
[all...]
H A Denet.h80 enet_bufdesc_array_t *ring; member in struct:enet_queue
/barrelfish-master/usr/drivers/virtio/block/
H A Dmain_host.c43 static errval_t handle_add(struct virtio_device *vdev, struct capref ring, argument
/barrelfish-master/lib/virtio/
H A Dvirtqueue_host.c572 * // A ring of available descriptor heads with free-running index.
581 * // A ring of used descriptor heads with free-running index.
594 * \param num the number of elements in the ring
662 * \brief updates the used ring of the virtqueue by placing the descriptor
663 * into the used ring.
674 vq->vring.used->ring[used_head].length = length;
675 vq->vring.used->ring[used_head].id = idx;
747 uint16_t desc_idx = vq->vring.avail->ring[avail_idx];
774 VIRTIO_DEBUG_VQ("Dequeuing element on the available [%u] ring: [%u, %u]\n",
H A Dvirtqueue.c674 * // A ring of available descriptor heads with free-running index.
683 * // A ring of used descriptor heads with free-running index.
696 * \param num the number of elements in the ring
805 * \brief updates the available ring of the virtqueue by placing the descriptor
806 * into the availabe ring.
815 vq->vring.avail->ring[avail_idx] = idx;
1041 elem = &vq->vring.used->ring[used_idx];
1043 VIRTIO_DEBUG_VQ("Dequeuing element [%u] on the used ring: [%u, %u]\n",
/barrelfish-master/lib/devif/backends/net/mlx4/drivers/infiniband/hw/mlx4/
H A Dmlx4_ib.h418 struct mlx4_ib_buf *ring; member in struct:mlx4_ib_demux_pv_qp
/barrelfish-master/usr/eclipseclp/Contrib/
H A Dxml_utilities.pl243 "Aring"-[197], % latin capital letter A with ring above
244 "aring"-[229], % latin small letter a with ring above
/barrelfish-master/doc/023-coreboot/
H A Dcoreboot.tex113 a ring structure of KCBs it owns. A CPU driver supports switching to another KCB
/barrelfish-master/doc/009-notifications/
H A DNotify.tex188 cycles depending on which ring the destination core is executing in.
/barrelfish-master/doc/014-bulk-transfer/
H A Dbulk-transfer.tex234 % system with multiple ring-buffer to get lot of flexibility.
498 data-structure is shared ring-buffer with few virtual-registers
499 which are used to manage the access the ring-buffer.
/barrelfish-master/doc/006-routing/
H A DRouting.tex267 For the routing modes ''ring'' and ''fat tree'' we need information from the system knowledge base: We need to know the number of cores in the system for the ''ring'' routing mode. For the ''fat tree'' mode, we additionally need to know the number of cores per CPU socket (note that we assume here that sockets are continuously numbered).
/barrelfish-master/doc/013-capability-mgmt/
H A Dtype_system.tex925 \item \verb|KernelCmd_Remove_kcb|: remove KCB from scheduling ring.

Completed in 276 milliseconds

12