/seL4-refos-master/projects/util_libs/libethdrivers/src/ |
H A D | helpers.c | 16 dma_alloc_pin(ps_dma_man_t *dma_man, size_t size, int cached, int alignment) argument 18 void *virt = ps_dma_alloc(dma_man, size, alignment, cached, PS_MEM_NORMAL); 22 uintptr_t phys = ps_dma_pin(dma_man, virt, size); 25 ps_dma_free(dma_man, virt, size); 30 ps_dma_cache_clean_invalidate(dma_man, virt, size); 36 dma_unpin_free(ps_dma_man_t *dma_man, void *virt, size_t size) argument 38 ps_dma_unpin(dma_man, virt, size); 39 ps_dma_free(dma_man, virt, size);
|
H A D | lwip.c | 41 dma_bufs[i] = dma_alloc_pin(&iface->dma_man, CONFIG_LIB_ETHDRIVER_PREALLOCATED_BUF_SIZE, 1, 46 ps_dma_cache_clean_invalidate(&iface->dma_man, dma_bufs[i].virt, CONFIG_LIB_ETHDRIVER_PREALLOCATED_BUF_SIZE); 58 dma_unpin_free(&iface->dma_man, dma_bufs[i].virt, CONFIG_LIB_ETHDRIVER_PREALLOCATED_BUF_SIZE); 87 ps_dma_cache_invalidate(&lwip_iface->dma_man, buf->virt, buf_size); 107 ps_dma_cache_invalidate(&lwip_iface->dma_man, ((dma_addr_t *)cookies[i])->virt, lens[i]); 213 ps_dma_cache_clean(&iface->dma_man, buf.virt, p->tot_len); 262 uintptr_t phys = ps_dma_pin(&lwip_iface->dma_man, p->payload, buf_size); 267 ps_dma_cache_invalidate(&lwip_iface->dma_man, p->payload, buf_size); 284 ps_dma_unpin(&lwip_iface->dma_man, (void *)loc, next - loc); 302 ps_dma_cache_invalidate(&lwip_iface->dma_man, [all...] |
H A D | pico_dev_eth.c | 59 dma_unpin_free(&pico_iface->dma_man, pico_iface->dma_bufs[i].virt, 97 dma_bufs[i] = dma_alloc_pin(&pico_iface->dma_man, 103 ps_dma_cache_clean_invalidate(&pico_iface->dma_man, dma_bufs[i].virt, 165 ps_dma_cache_invalidate(&pico_iface->dma_man, buf->virt, buf_size); 223 ps_dma_cache_clean(ð_device->dma_man, buf.virt, len); 262 ps_dma_cache_invalidate(ð_device->dma_man, buf->virt, len); 291 eth_dev->dma_man = io_ops.dma_manager;
|
/seL4-refos-master/projects/util_libs/libethdrivers/include/ethdrivers/ |
H A D | helpers.h | 24 dma_addr_t dma_alloc_pin(ps_dma_man_t *dma_man, size_t size, int cached, int alignment); 27 void dma_unpin_free(ps_dma_man_t *dma_man, void *virt, size_t size);
|
H A D | pico_dev_eth.h | 37 ps_dma_man_t dma_man; member in struct:pico_device_eth
|
H A D | lwip.h | 33 ps_dma_man_t dma_man; member in struct:lwip_iface
|
/seL4-refos-master/libs/libplatsupport/include/platsupport/ |
H A D | io.h | 254 const ps_dma_man_t *dma_man, 260 assert(dma_man); 261 assert(dma_man->dma_alloc_fn); 262 return dma_man->dma_alloc_fn(dma_man->cookie, size, align, cache, flags); 266 const ps_dma_man_t *dma_man, 270 assert(dma_man); 271 assert(dma_man->dma_free_fn); 272 dma_man->dma_free_fn(dma_man 253 ps_dma_alloc( const ps_dma_man_t *dma_man, size_t size, int align, int cache, ps_mem_flags_t flags) argument 265 ps_dma_free( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 275 ps_dma_pin( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 285 ps_dma_unpin( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 295 ps_dma_cache_op( const ps_dma_man_t *dma_man, void *addr, size_t size, dma_cache_op_t op) argument 306 ps_dma_cache_clean( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 314 ps_dma_cache_invalidate( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 322 ps_dma_cache_clean_invalidate( const ps_dma_man_t *dma_man, void *addr, size_t size) argument [all...] |
/seL4-refos-master/projects/util_libs/libplatsupport/include/platsupport/ |
H A D | io.h | 254 const ps_dma_man_t *dma_man, 260 assert(dma_man); 261 assert(dma_man->dma_alloc_fn); 262 return dma_man->dma_alloc_fn(dma_man->cookie, size, align, cache, flags); 266 const ps_dma_man_t *dma_man, 270 assert(dma_man); 271 assert(dma_man->dma_free_fn); 272 dma_man->dma_free_fn(dma_man 253 ps_dma_alloc( const ps_dma_man_t *dma_man, size_t size, int align, int cache, ps_mem_flags_t flags) argument 265 ps_dma_free( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 275 ps_dma_pin( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 285 ps_dma_unpin( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 295 ps_dma_cache_op( const ps_dma_man_t *dma_man, void *addr, size_t size, dma_cache_op_t op) argument 306 ps_dma_cache_clean( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 314 ps_dma_cache_invalidate( const ps_dma_man_t *dma_man, void *addr, size_t size) argument 322 ps_dma_cache_clean_invalidate( const ps_dma_man_t *dma_man, void *addr, size_t size) argument [all...] |
/seL4-refos-master/libs/libsel4utils/include/sel4utils/ |
H A D | page_dma.h | 30 * @param dma_man Pointer to dma manager struct that will be filled out 33 int sel4utils_new_page_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man);
|
H A D | iommu_dma.h | 36 * @param dma_man Pointer to dma manager struct that will be filled out 41 int sel4utils_make_iommu_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man, unsigned int num_iospaces, 51 * malloc is not backed by a vspace). The dma_man argument must be a pointer to a dma manager that 60 * sel4utils_make_iommu_dma_alloc to initialise dma_man must be able to resolve
|
/seL4-refos-master/projects/seL4_libs/libsel4utils/include/sel4utils/ |
H A D | page_dma.h | 30 * @param dma_man Pointer to dma manager struct that will be filled out 33 int sel4utils_new_page_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man);
|
H A D | iommu_dma.h | 36 * @param dma_man Pointer to dma manager struct that will be filled out 41 int sel4utils_make_iommu_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man, unsigned int num_iospaces, 51 * malloc is not backed by a vspace). The dma_man argument must be a pointer to a dma manager that 60 * sel4utils_make_iommu_dma_alloc to initialise dma_man must be able to resolve
|
/seL4-refos-master/libs/libsel4utils/src/ |
H A D | iommu_dma.c | 26 typedef struct dma_man { struct 196 int sel4utils_make_iommu_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man, unsigned int num_iospaces, argument 206 dma_man->cookie = dma; 207 dma_man->dma_alloc_fn = dma_alloc; 208 dma_man->dma_free_fn = dma_free; 209 dma_man->dma_pin_fn = dma_pin; 210 dma_man->dma_unpin_fn = dma_unpin; 211 dma_man->dma_cache_op_fn = dma_cache_op;
|
H A D | page_dma.c | 25 typedef struct dma_man { struct 192 int sel4utils_new_page_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man) argument 200 dma_man->cookie = dma; 201 dma_man->dma_alloc_fn = dma_alloc; 202 dma_man->dma_free_fn = dma_free; 203 dma_man->dma_pin_fn = dma_pin; 204 dma_man->dma_unpin_fn = dma_unpin; 205 dma_man->dma_cache_op_fn = dma_cache_op;
|
/seL4-refos-master/projects/seL4_libs/libsel4utils/src/ |
H A D | iommu_dma.c | 26 typedef struct dma_man { struct 196 int sel4utils_make_iommu_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man, unsigned int num_iospaces, argument 206 dma_man->cookie = dma; 207 dma_man->dma_alloc_fn = dma_alloc; 208 dma_man->dma_free_fn = dma_free; 209 dma_man->dma_pin_fn = dma_pin; 210 dma_man->dma_unpin_fn = dma_unpin; 211 dma_man->dma_cache_op_fn = dma_cache_op;
|
H A D | page_dma.c | 25 typedef struct dma_man { struct 192 int sel4utils_new_page_dma_alloc(vka_t *vka, vspace_t *vspace, ps_dma_man_t *dma_man) argument 200 dma_man->cookie = dma; 201 dma_man->dma_alloc_fn = dma_alloc; 202 dma_man->dma_free_fn = dma_free; 203 dma_man->dma_pin_fn = dma_pin; 204 dma_man->dma_unpin_fn = dma_unpin; 205 dma_man->dma_cache_op_fn = dma_cache_op;
|
/seL4-refos-master/projects/util_libs/libethdrivers/src/plat/tx2/ |
H A D | tx2.c | 26 static void free_desc_ring(struct tx2_eth_data *dev, ps_dma_man_t *dma_man) argument 29 dma_unpin_free(dma_man, (void *)dev->rx_ring, sizeof(struct eqos_desc) * dev->rx_size); 34 dma_unpin_free(dma_man, (void *)dev->tx_ring, sizeof(struct eqos_desc) * dev->tx_size); 54 static int initialize_desc_ring(struct tx2_eth_data *dev, ps_dma_man_t *dma_man, struct eth_driver *eth_driver) argument 56 dma_addr_t rx_ring = dma_alloc_pin(dma_man, ALIGN_UP(sizeof(struct eqos_desc) * dev->rx_size, ARCH_DMA_MINALIGN), 0, 65 dma_addr_t tx_ring = dma_alloc_pin(dma_man, ALIGN_UP(sizeof(struct eqos_desc) * dev->tx_size, ARCH_DMA_MINALIGN), 0, 69 free_desc_ring(dev, dma_man); 75 ps_dma_cache_clean_invalidate(dma_man, rx_ring.virt, sizeof(struct eqos_desc) * dev->rx_size); 76 ps_dma_cache_clean_invalidate(dma_man, tx_ring.virt, sizeof(struct eqos_desc) * dev->tx_size); 97 free_desc_ring(dev, dma_man); [all...] |
/seL4-refos-master/projects/util_libs/libethdrivers/src/plat/am335x/ |
H A D | beaglebone.c | 78 static void free_desc_ring(struct beaglebone_eth_data *dev, ps_dma_man_t *dma_man) argument 81 dma_unpin_free(dma_man, (void*)dev->rx_ring, sizeof(struct descriptor) * dev->rx_size); 85 dma_unpin_free(dma_man, (void*)dev->tx_ring, sizeof(struct descriptor) * dev->tx_size); 102 static int initialize_desc_ring(struct beaglebone_eth_data *dev, ps_dma_man_t *dma_man) argument 110 ps_dma_cache_clean_invalidate(dma_man, rx_ring.virt, sizeof(struct descriptor) * dev->rx_size); 111 ps_dma_cache_clean_invalidate(dma_man, tx_ring.virt, sizeof(struct descriptor) * dev->tx_size); 127 free_desc_ring(dev, dma_man);
|
/seL4-refos-master/projects/util_libs/libethdrivers/src/plat/pc99/ |
H A D | virtio_pci.c | 114 static void free_desc_ring(virtio_dev_t *dev, ps_dma_man_t *dma_man) { argument 116 dma_unpin_free(dma_man, (void*)dev->rx_ring.desc, vring_size(dev->rx_size, VIRTIO_PCI_VRING_ALIGN)); 120 dma_unpin_free(dma_man, (void*)dev->tx_ring.desc, vring_size(dev->tx_size, VIRTIO_PCI_VRING_ALIGN)); 137 static int initialize_desc_ring(virtio_dev_t *dev, ps_dma_man_t *dma_man) { argument 138 dma_addr_t rx_ring = dma_alloc_pin(dma_man, vring_size(dev->rx_size, VIRTIO_PCI_VRING_ALIGN), 1, VIRTIO_PCI_VRING_ALIGN); 146 dma_addr_t tx_ring = dma_alloc_pin(dma_man, vring_size(dev->tx_size, VIRTIO_PCI_VRING_ALIGN), 1, VIRTIO_PCI_VRING_ALIGN); 149 free_desc_ring(dev, dma_man); 160 free_desc_ring(dev, dma_man); 175 static int initialize(virtio_dev_t *dev, ps_dma_man_t *dma_man) { argument 197 err = initialize_desc_ring(dev, dma_man); [all...] |
H A D | intel.c | 724 static void free_desc_ring(e1000_dev_t *dev, ps_dma_man_t *dma_man) argument 727 dma_unpin_free(dma_man, (void *)dev->rx_ring, sizeof(struct legacy_rx_ldesc) * dev->rx_size); 731 dma_unpin_free(dma_man, (void *)dev->tx_ring, sizeof(struct legacy_tx_ldesc) * dev->tx_size); 748 static int initialize_desc_ring(e1000_dev_t *dev, ps_dma_man_t *dma_man) argument 750 dma_addr_t rx_ring = dma_alloc_pin(dma_man, sizeof(struct legacy_rx_ldesc) * dev->rx_size, 1, DMA_ALIGN); 756 dma_addr_t tx_ring = dma_alloc_pin(dma_man, sizeof(struct legacy_tx_ldesc) * dev->tx_size, 1, DMA_ALIGN); 759 free_desc_ring(dev, dma_man); 776 free_desc_ring(dev, dma_man);
|
/seL4-refos-master/projects/util_libs/libethdrivers/src/plat/imx6/ |
H A D | imx6.c | 144 static void free_desc_ring(struct imx6_eth_data *dev, ps_dma_man_t *dma_man) argument 147 dma_unpin_free(dma_man, (void *)dev->rx_ring, sizeof(struct descriptor) * dev->rx_size); 151 dma_unpin_free(dma_man, (void *)dev->tx_ring, sizeof(struct descriptor) * dev->tx_size); 168 static int initialize_desc_ring(struct imx6_eth_data *dev, ps_dma_man_t *dma_man) argument 170 dma_addr_t rx_ring = dma_alloc_pin(dma_man, sizeof(struct descriptor) * dev->rx_size, 0, DMA_ALIGN); 177 dma_addr_t tx_ring = dma_alloc_pin(dma_man, sizeof(struct descriptor) * dev->tx_size, 0, DMA_ALIGN); 180 free_desc_ring(dev, dma_man); 183 ps_dma_cache_clean_invalidate(dma_man, rx_ring.virt, sizeof(struct descriptor) * dev->rx_size); 184 ps_dma_cache_clean_invalidate(dma_man, tx_ring.virt, sizeof(struct descriptor) * dev->tx_size); 199 free_desc_ring(dev, dma_man); [all...] |
/seL4-refos-master/projects/util_libs/libethdrivers/src/plat/zynq7000/ |
H A D | zynq7000.c | 50 static void free_desc_ring(struct zynq7000_eth_data *dev, ps_dma_man_t *dma_man) argument 54 dma_unpin_free(dma_man, (void *)dev->rx_ring, sizeof(struct emac_bd) * dev->rx_size); 59 dma_unpin_free(dma_man, (void *)dev->tx_ring, sizeof(struct emac_bd) * dev->tx_size); 79 static int initialize_desc_ring(struct zynq7000_eth_data *dev, ps_dma_man_t *dma_man) argument 81 dma_addr_t rx_ring = dma_alloc_pin(dma_man, sizeof(struct emac_bd) * dev->rx_size, 0, ARCH_DMA_MINALIGN); 89 dma_addr_t tx_ring = dma_alloc_pin(dma_man, sizeof(struct emac_bd) * dev->tx_size, 0, ARCH_DMA_MINALIGN); 92 free_desc_ring(dev, dma_man); 96 ps_dma_cache_clean_invalidate(dma_man, rx_ring.virt, sizeof(struct emac_bd) * dev->rx_size); 97 ps_dma_cache_clean_invalidate(dma_man, tx_ring.virt, sizeof(struct emac_bd) * dev->tx_size); 118 free_desc_ring(dev, dma_man); [all...] |