Home
last modified time | relevance | path

Searched +full:dma +full:- +full:safe +full:- +full:map (Results 1 – 25 of 100) sorted by relevance

1234

/freebsd/sys/contrib/device-tree/Bindings/dma/
H A Dti-dma-crossbar.txt1 Texas Instruments DMA Crossbar (DMA request router)
4 - compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
5 "ti,am335x-edma-crossbar" for AM335x and AM437x
6 - reg: Memory map for accessing module
7 - #dma-cells: Should be set to match with the DMA controller's dma-cells
8 for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar.
9 - dma-requests: Number of DMA requests the crossbar can receive
10 - dma-masters: phandle pointing to the DMA controller
12 The DMA controller node need to have the following poroperties:
13 - dma-requests: Number of DMA requests the controller can handle
[all …]
H A Ddma-router.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/dma/dma-router.yaml#
5 $schema: http://devicetree.org/meta-schema
[all...]
/freebsd/sys/sys/
H A Dbus_dma.h3 /*-
4 * SPDX-License-Identifier: (BSD-2-Clause AND BSD-4-Clause)
35 /*-
75 * bus 'physical' addresses, and assisting with DMA operations.
82 * Flags used in various bus DMA methods.
84 #define BUS_DMA_WAITOK 0x00 /* safe to sleep (pseudo-flag) */
85 #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */
87 #define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */
95 * The following two flags are non-standard or specific to only certain
102 * The following flag is a DMA tag hint that the page offset of the
[all …]
/freebsd/share/man/man9/
H A Dbus_dma.980 .Nd Bus and Machine Independent DMA Mapping Interface
119 .Fn bus_dmamap_destroy "bus_dma_tag_t dmat" "bus_dmamap_t map"
121 .Fn bus_dmamap_load "bus_dma_tag_t dmat" "bus_dmamap_t map" "void *buf" \
125 .Fn bus_dmamap_load_bio "bus_dma_tag_t dmat" "bus_dmamap_t map" \
129 .Fn bus_dmamap_load_ccb "bus_dma_tag_t dmat" "bus_dmamap_t map" \
133 .Fn bus_dmamap_load_crp "bus_dma_tag_t dmat" "bus_dmamap_t map" \
137 .Fn bus_dmamap_load_crp_buffer "bus_dma_tag_t dmat" "bus_dmamap_t map" \
141 .Fn bus_dmamap_load_mbuf "bus_dma_tag_t dmat" "bus_dmamap_t map" \
145 .Fn bus_dmamap_load_mbuf_sg "bus_dma_tag_t dmat" "bus_dmamap_t map" \
148 .Fn bus_dmamap_load_uio "bus_dma_tag_t dmat" "bus_dmamap_t map" \
[all …]
H A Dintro.92 .\" SPDX-License-Identifier: BSD-2-Clause
29 OS-level concepts and practices.
35 source code itself, is forever a work-in-progress.
47 describe types, global variables, macros, or high-level concepts.
58 There are implementations for many well-known data structures available in the
60 .Bl -tag -width "Xr bitstring 3"
64 An SMP-safe general-purpose counter implementation.
66 Hash map implementation.
70 Singly-linked and doubly-linked lists, and queues.
72 An SMP-safe implementation of reference counts.
[all …]
/freebsd/sys/dev/gve/
H A Dgve_utils.c1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 2023-2024 Google LLC
37 return (be32toh(bus_read_4(priv->reg_bar, offset))); in gve_reg_bar_read_4()
43 bus_write_4(priv->reg_bar, offset, htobe32(val)); in gve_reg_bar_write_4()
49 bus_write_4(priv->db_bar, offset, htobe32(val)); in gve_db_bar_write_4()
55 bus_write_4(priv->db_bar, offset, val); in gve_db_bar_dqo_write_4()
87 struct gve_dma_handle *dma) in gve_dma_alloc_coherent() argument
90 device_t dev = priv->dev; in gve_dma_alloc_coherent()
104 &dma->tag); in gve_dma_alloc_coherent()
[all …]
H A Dgve_rx.c1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 2023-2024 Google LLC
38 struct gve_rx_ring *rx = &priv->rx[i]; in gve_rx_free_ring_gqi()
40 if (rx->page_info != NULL) { in gve_rx_free_ring_gqi()
41 free(rx->page_info, M_GVE); in gve_rx_free_ring_gqi()
42 rx->page_info = NULL; in gve_rx_free_ring_gqi()
45 if (rx->data_ring != NULL) { in gve_rx_free_ring_gqi()
46 gve_dma_free_coherent(&rx->data_ring_mem); in gve_rx_free_ring_gqi()
47 rx->data_ring = NULL; in gve_rx_free_ring_gqi()
[all …]
/freebsd/sys/dev/safe/
H A Dsafe.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
32 * SafeNet SafeXcel-1141 hardware crypto accelerator
71 #include <dev/safe/safereg.h>
72 #include <dev/safe/safevar.h>
111 "safe",
116 DRIVER_MODULE(safe, pci, safe_driver, 0, 0);
117 MODULE_DEPEND(safe, crypto, 1, 1, 1);
119 MODULE_DEPEND(safe, rndtest, 1, 1, 1);
133 bus_dmamap_sync((_dma)->dma_tag, (_dma)->dma_map, (_flags))
[all …]
/freebsd/sys/dev/tsec/
H A Dif_tsec.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (C) 2007-2008 Semihalf, Rafal Jaworowski
5 * Copyright (C) 2006-2007 Semihalf, Piotr Kruszynski
30 * Freescale integrated Three-Speed Ethernet Controller (TSEC) driver.
80 static int tsec_new_rxbuf(bus_dma_tag_t tag, bus_dmamap_t map,
131 /* Stop DMA engine if enabled by firmware */ in tsec_attach()
141 sc->rx_ic_time = 768; in tsec_attach()
142 sc->rx_ic_count = 16; in tsec_attach()
143 sc->tx_ic_time = 768; in tsec_attach()
[all …]
/freebsd/sys/arm/arm/
H A Dbusdma_machdep.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2012-2015 Ian Lepore
32 * From i386/busdma_machdep.c 191438 2009-04-23 20:24:19Z jhb
159 bus_dmamap_t map, void *buf, bus_size_t buflen, int flags);
160 static void _bus_dmamap_count_phys(bus_dma_tag_t dmat, bus_dmamap_t map,
290 cacheline_bounce(bus_dmamap_t map,bus_addr_t addr,bus_size_t size) cacheline_bounce() argument
313 might_bounce(bus_dma_tag_t dmat,bus_dmamap_t map,bus_addr_t addr,bus_size_t size) might_bounce() argument
337 must_bounce(bus_dma_tag_t dmat,bus_dmamap_t map,bus_addr_t paddr,bus_size_t size) must_bounce() argument
560 bus_dmamap_t map; allocate_map() local
589 bus_dmamap_t map; bus_dmamap_create() local
624 bus_dmamap_destroy(bus_dma_tag_t dmat,bus_dmamap_t map) bus_dmamap_destroy() argument
654 bus_dmamap_t map; bus_dmamem_alloc() local
749 bus_dmamem_free(bus_dma_tag_t dmat,void * vaddr,bus_dmamap_t map) bus_dmamem_free() argument
778 _bus_dmamap_count_phys(bus_dma_tag_t dmat,bus_dmamap_t map,vm_paddr_t buf,bus_size_t buflen,int flags) _bus_dmamap_count_phys() argument
809 _bus_dmamap_count_pages(bus_dma_tag_t dmat,pmap_t pmap,bus_dmamap_t map,void * buf,bus_size_t buflen,int flags) _bus_dmamap_count_pages() argument
849 _bus_dmamap_addseg(bus_dma_tag_t dmat,bus_dmamap_t map,bus_addr_t curaddr,bus_size_t sgsize,bus_dma_segment_t * segs,int * segp) _bus_dmamap_addseg() argument
891 _bus_dmamap_load_phys(bus_dma_tag_t dmat,bus_dmamap_t map,vm_paddr_t buf,bus_size_t buflen,int flags,bus_dma_segment_t * segs,int * segp) _bus_dmamap_load_phys() argument
967 _bus_dmamap_load_ma(bus_dma_tag_t dmat,bus_dmamap_t map,struct vm_page ** ma,bus_size_t tlen,int ma_offs,int flags,bus_dma_segment_t * segs,int * segp) _bus_dmamap_load_ma() argument
981 _bus_dmamap_load_buffer(bus_dma_tag_t dmat,bus_dmamap_t map,void * buf,bus_size_t buflen,pmap_t pmap,int flags,bus_dma_segment_t * segs,int * segp) _bus_dmamap_load_buffer() argument
1097 _bus_dmamap_waitok(bus_dma_tag_t dmat,bus_dmamap_t map,struct memdesc * mem,bus_dmamap_callback_t * callback,void * callback_arg) _bus_dmamap_waitok() argument
1108 _bus_dmamap_complete(bus_dma_tag_t dmat,bus_dmamap_t map,bus_dma_segment_t * segs,int nsegs,int error) _bus_dmamap_complete() argument
1121 bus_dmamap_unload(bus_dma_tag_t dmat,bus_dmamap_t map) bus_dmamap_unload() argument
1220 bus_dmamap_sync(bus_dma_tag_t dmat,bus_dmamap_t map,bus_dmasync_op_t op) bus_dmamap_sync() argument
[all...]
H A Dmachdep_intr.c1 /*-
2 * Copyright (c) 2015-2016 Svatopluk Kraus
3 * Copyright (c) 2015-2016 Michal Meloun
42 * This is intended to be called from the post-filter and post-thread routines
56 * writes to a device status-acknowledge register to clear the interrupt before
61 * target bus may be busy with other traffic (such as DMA for various devices),
71 * are enabled on the core the device re-interrupts immediately: now you've got
77 * done to every driver in the system, not just arm-specific drivers.
79 * Another potential fix is to map all device memory as Strongly-Ordered rather
85 * this function to establish a barrier between writes to the interrupt-source
[all …]
/freebsd/sys/dev/usb/
H A Dusb_busdma.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
78 /*------------------------------------------------------------------------*
79 * usbd_get_page - lookup DMA-able memory for the given offset
83 *------------------------------------------------------------------------*/
91 if (pc->page_start) { in usbd_get_page()
92 /* Case 1 - something has been loaded into DMA */ in usbd_get_page()
94 if (pc->buffer) { in usbd_get_page()
95 /* Case 1a - Kernel Virtual Address */ in usbd_get_page()
97 res->buffer = USB_ADD_BYTES(pc->buffer, offset); in usbd_get_page()
[all …]
/freebsd/sys/contrib/device-tree/src/arm64/nvidia/
H A Dtegra194.dtsi1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra194-clock.h>
3 #include <dt-bindings/gpio/tegra194-gpio.h>
4 #include <dt-bindings/interrupt-controller/arm-gi
[all...]
H A Dtegra186.dtsi1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra186-clock.h>
3 #include <dt-bindings/gpio/tegra186-gpio.h>
4 #include <dt-bindings/interrupt-controller/arm-gi
[all...]
/freebsd/sys/dev/vnic/
H A Dnicvf_queues.c119 #define GET_RBUF_INFO(x) ((struct rbuf_info *)((x) - NICVF_RCV_BUF_ALIGN_BYTES))
129 bit_mask = (1UL << bits) - 1; in nicvf_poll_reg()
138 timeout--; in nicvf_poll_reg()
140 device_printf(nic->dev, "Poll on reg 0x%lx failed\n", reg); in nicvf_poll_reg()
152 *paddr = segs->ds_addr; in nicvf_dmamap_q_cb()
162 /* Create DMA tag first */ in nicvf_alloc_q_desc_mem()
164 bus_get_dma_tag(nic->dev), /* parent tag */ in nicvf_alloc_q_desc_mem()
175 &dmem->dmat); /* dmat */ in nicvf_alloc_q_desc_mem()
178 device_printf(nic->dev, in nicvf_alloc_q_desc_mem()
183 /* Allocate segment of continuous DMA safe memory */ in nicvf_alloc_q_desc_mem()
[all …]
/freebsd/stand/usb/
H A Dusb_busdma_loader.c1 /*-
33 /*------------------------------------------------------------------------*
34 * usbd_get_page - lookup DMA-able memory for the given offset
38 *------------------------------------------------------------------------*/
46 if (pc->page_start) { in usbd_get_page()
48 /* Case 1 - something has been loaded into DMA */ in usbd_get_page()
50 if (pc->buffer) { in usbd_get_page()
52 /* Case 1a - Kernel Virtual Address */ in usbd_get_page()
54 res->buffer = USB_ADD_BYTES(pc->buffer, offset); in usbd_get_page()
56 offset += pc->page_offset_buf; in usbd_get_page()
[all …]
/freebsd/sys/arm64/arm64/
H A Dbusdma_bounce.c1 /*-
3 * Copyright (c) 2015-2016 The FreeBSD Foundation
116 static bool _bus_dmamap_pagesneeded(bus_dma_tag_t dmat, bus_dmamap_t map,
118 static void _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map,
120 static void _bus_dmamap_count_phys(bus_dma_tag_t dmat, bus_dmamap_t map,
125 #define dmat_alignment(dmat) ((dmat)->common.alignment)
126 #define dmat_bounce_flags(dmat) ((dmat)->bounce_flags)
127 #define dmat_boundary(dmat) ((dmat)->common.boundary)
128 #define dmat_domain(dmat) ((dmat)->common.domain)
129 #define dmat_flags(dmat) ((dmat)->common.flags)
[all …]
/freebsd/sys/dev/ffec/
H A Dif_ffec.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
32 * Driver for Freescale Fast Ethernet Controller, found on imx-series SoCs among
42 * compatible = "fsl,imxNN-fec";
45 * phy-mode = "rgmii";
46 * phy-disable-preambl
146 bus_dmamap_t map; global() member
1393 bus_dmamap_t map; ffec_detach() local
[all...]
/freebsd/sys/dev/wpi/
H A Dif_wpi.c1 /*-
27 * main binary firmware image into SRAM on the card via DMA.
29 * communicate by way of circular dma rings via the SRAM to the firmware.
34 * The rx data ring consists of 32 dma buffers. Two registers are used to
54 * from host memory via dma to the card then told to execute. From this point
317 for (ident = wpi_ident_table; ident->name != NULL; ident++) { in wpi_probe()
318 if (pci_get_vendor(dev) == ident->vendor && in wpi_probe()
319 pci_get_device(dev) == ident->device) { in wpi_probe()
320 device_set_desc(dev, ident->name); in wpi_probe()
339 sc->sc_dev = dev; in wpi_attach()
[all …]
/freebsd/stand/kshim/
H A Dbsd_kernel.h1 /*-
41 #define howmany(x, y) (((x)+((y)-1))/(y))
80 #define CTASSERT(x) _Static_assert(x, "compile-time assertion failed")
137 #define BUS_PROBE_DEFAULT (-20)
256 bus_addr_t ds_addr; /* DMA address */
521 /* LIB-C */
605 INTR_MPSAFE = 512, /* this interrupt is SMP safe */
631 #define SYS_RES_DRQ 2 /* isa dma lines */
668 /* Should be defined in user application since it is machine-dependent */
671 /* BUS dma */
[all …]
/freebsd/sys/dev/ena/
H A Dena.h1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2015-2024 Amazon.com, Inc. or its affiliates.
37 #include "ena-com/ena_com.h"
38 #include "ena-com/ena_eth_com.h"
55 /* Calculate DMA mask - width for ena cannot exceed 48, so it is safe */
56 #define ENA_DMA_BIT_MASK(x) ((1ULL << (x)) - 1ULL)
72 #define ENA_BASE_CPU_UNSPECIFIED -1
102 /* RX cleanup budget. -1 stands for infinity. */
119 #define ENA_TX_RING_IDX_NEXT(idx, ring_size) (((idx) + 1) & ((ring_size) - 1))
[all …]
/freebsd/sys/dev/sge/
H A Dif_sge.c1 /*-
2 * SPDX-License-Identifier: BSD-4-Clause
4 * Copyright (c) 2008-2010 Nikolay Denev <ndenev@gmail.com>
5 * Copyright (c) 2007-2008 Alexander Pohoyda <alexander.pohoyda@gmx.net>
20 * 4. Neither the name of the author nor the names of any co-contributors
180 #define CSR_WRITE_4(sc, reg, val) bus_write_4(sc->sge_res, reg, val)
181 #define CSR_WRITE_2(sc, reg, val) bus_write_2(sc->sge_res, reg, val)
182 #define CSR_WRITE_1(cs, reg, val) bus_write_1(sc->sge_res, reg, val)
184 #define CSR_READ_4(sc, reg) bus_read_4(sc->sge_res, reg)
185 #define CSR_READ_2(sc, reg) bus_read_2(sc->sge_res, reg)
[all …]
/freebsd/sys/arm/broadcom/bcm2835/
H A Dbcm2835_dma.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
60 /* Register Map (4.2.1.2) */
112 /* DMA Control Block - 256bit aligned (p.40) */
129 /* DMA channel private info */
154 {"broadcom,bcm2835-dma", 1},
155 {"brcm,bcm2835-dma", 1},
183 cs = bus_read_4(sc->sc_mem, BCM_DMA_CS(ch)); in bcm_dma_reset()
187 bus_write_4(sc->sc_mem, BCM_DMA_CS(ch), 0); in bcm_dma_reset()
191 cs = bus_read_4(sc->sc_mem, BCM_DMA_CS(ch)); in bcm_dma_reset()
[all …]
/freebsd/sys/dev/safexcel/
H A Dsafexcel.c1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
64 { "inside-secure,safexcel-eip97ies", (uintptr_t)97 },
65 { "inside-secure,safexcel-eip97", (uintptr_t)97 },
100 i = ring->cdr.read; in safexcel_next_request()
103 return (&ring->requests[i]); in safexcel_next_request()
111 if (ring->write == ring->read) in safexcel_cmd_descr_next()
113 cdesc = &ring->desc[ring->read]; in safexcel_cmd_descr_next()
114 ring->read = (ring->read + 1) % SAFEXCEL_RING_SIZE; in safexcel_cmd_descr_next()
123 if (ring->write == ring->read) in safexcel_res_descr_next()
[all …]
/freebsd/sys/dev/iwn/
H A Dif_iwn.c1 /*-
2 * Copyright (c) 2007-2009 Damien Bergamini <damien.bergamini@free.fr>
6 * Copyright (c) 2013 Cedric GROSS <c.gross@kreiz-it.fr>
84 { 0x8086, IWN_DID_6x05_1, "Intel Centrino Advanced-N 6205" },
85 { 0x8086, IWN_DID_1000_1, "Intel Centrino Wireless-N 1000" },
86 { 0x8086, IWN_DID_1000_2, "Intel Centrino Wireless-N 1000" },
87 { 0x8086, IWN_DID_6x05_2, "Intel Centrino Advanced-N 6205" },
88 { 0x8086, IWN_DID_6050_1, "Intel Centrino Advanced-N + WiMAX 6250" },
89 { 0x8086, IWN_DID_6050_2, "Intel Centrino Advanced-N + WiMAX 6250" },
90 { 0x8086, IWN_DID_x030_1, "Intel Centrino Wireless-N 1030" },
[all …]

1234