/barrelfish-master/lib/dma/ |
H A D | dma_ring.c | 23 * 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 D | dma_ring_internal.h | 15 /// 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 D | dma_ring.h | 27 * \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 D | en_tx.c | 82 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 D | en_rx.c | 61 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 D | en_cq.c | 48 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 D | mlx4_en.h | 121 /*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 D | xeon_phi_dma_channel.c | 31 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 D | xeon_phi_dma_request.c | 148 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 D | virtio_ring.h | 66 * 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 D | virtio_host.h | 23 errval_t (*add)(struct virtio_device *vdev, struct capref ring,
|
/barrelfish-master/lib/dma/ioat/ |
H A D | ioat_dma_request.c | 151 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 D | ioat_dma_channel.c | 30 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 D | enet_devq.c | 106 // 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 D | enet.h | 80 enet_bufdesc_array_t *ring; member in struct:enet_queue
|
/barrelfish-master/usr/drivers/virtio/block/ |
H A D | main_host.c | 43 static errval_t handle_add(struct virtio_device *vdev, struct capref ring, argument
|
/barrelfish-master/lib/virtio/ |
H A D | virtqueue_host.c | 572 * // 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 D | virtqueue.c | 674 * // 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 D | mlx4_ib.h | 418 struct mlx4_ib_buf *ring; member in struct:mlx4_ib_demux_pv_qp
|
/barrelfish-master/usr/eclipseclp/Contrib/ |
H A D | xml_utilities.pl | 243 "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 D | coreboot.tex | 113 a ring structure of KCBs it owns. A CPU driver supports switching to another KCB
|
/barrelfish-master/doc/009-notifications/ |
H A D | Notify.tex | 188 cycles depending on which ring the destination core is executing in.
|
/barrelfish-master/doc/014-bulk-transfer/ |
H A D | bulk-transfer.tex | 234 % 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 D | Routing.tex | 267 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 D | type_system.tex | 925 \item \verb|KernelCmd_Remove_kcb|: remove KCB from scheduling ring.
|