| /kernel/linux/linux-5.10/drivers/dma/ |
| D | imx-sdma.c | 3 // drivers/dma/imx-sdma.c 38 #include <linux/platform_data/dma-imx-sdma.h> 47 /* SDMA registers */ 104 * Error bit set in the CCB status field by the SDMA, 145 * 28 Lower WML Event(LWE) SDMA events reg to check for 149 * 29 Higher WML Event(HWE) SDMA events reg to check for 208 * @unused: padding. The SDMA engine expects an array of 128 byte 218 * struct sdma_state_registers - SDMA context for a channel 247 * struct sdma_context_data - sdma context specific to a channel 331 * struct sdma_channel - housekeeping for a SDMA channel [all …]
|
| D | sirf-dma.c | 238 struct sirfsoc_dma *sdma = dma_chan_to_sirfsoc_dma(&schan->chan); in sirfsoc_dma_execute() local 247 base = sdma->base; in sirfsoc_dma_execute() 253 if (sdma->type == SIRFSOC_DMA_VER_A7V2) in sirfsoc_dma_execute() 257 sdma->exec_desc(sdesc, cid, schan->mode, base); in sirfsoc_dma_execute() 266 struct sirfsoc_dma *sdma = data; in sirfsoc_dma_irq() local 274 switch (sdma->type) { in sirfsoc_dma_irq() 277 is = readl(sdma->base + SIRFSOC_DMA_CH_INT); in sirfsoc_dma_irq() 278 reg = sdma->base + SIRFSOC_DMA_CH_INT; in sirfsoc_dma_irq() 282 schan = &sdma->channels[ch]; in sirfsoc_dma_irq() 300 is = readl(sdma->base + SIRFSOC_DMA_INT_ATLAS7); in sirfsoc_dma_irq() [all …]
|
| /kernel/linux/linux-4.19/drivers/dma/ |
| D | imx-sdma.c | 3 // drivers/dma/imx-sdma.c 38 #include <linux/platform_data/dma-imx-sdma.h> 47 /* SDMA registers */ 104 * Error bit set in the CCB status field by the SDMA, 145 * 28 Lower WML Event(LWE) SDMA events reg to check for 149 * 29 Higher WML Event(HWE) SDMA events reg to check for 208 * @unused: padding. The SDMA engine expects an array of 128 byte 218 * struct sdma_state_registers - SDMA context for a channel 247 * struct sdma_context_data - sdma context specific to a channel 331 * struct sdma_channel - housekeeping for a SDMA channel [all …]
|
| D | sirf-dma.c | 239 struct sirfsoc_dma *sdma = dma_chan_to_sirfsoc_dma(&schan->chan); in sirfsoc_dma_execute() local 248 base = sdma->base; in sirfsoc_dma_execute() 254 if (sdma->type == SIRFSOC_DMA_VER_A7V2) in sirfsoc_dma_execute() 258 sdma->exec_desc(sdesc, cid, schan->mode, base); in sirfsoc_dma_execute() 267 struct sirfsoc_dma *sdma = data; in sirfsoc_dma_irq() local 275 switch (sdma->type) { in sirfsoc_dma_irq() 278 is = readl(sdma->base + SIRFSOC_DMA_CH_INT); in sirfsoc_dma_irq() 279 reg = sdma->base + SIRFSOC_DMA_CH_INT; in sirfsoc_dma_irq() 283 schan = &sdma->channels[ch]; in sirfsoc_dma_irq() 301 is = readl(sdma->base + SIRFSOC_DMA_INT_ATLAS7); in sirfsoc_dma_irq() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/dma/ |
| D | fsl-imx-sdma.txt | 1 * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 5 "fsl,imx25-sdma" 6 "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma" 7 "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma" 8 "fsl,imx51-sdma" 9 "fsl,imx53-sdma" 10 "fsl,imx6q-sdma" 11 "fsl,imx7d-sdma" 12 "fsl,imx8mq-sdma" 13 "fsl,imx8mm-sdma" [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/marvell/prestera/ |
| D | prestera_rxtx.c | 104 /* protect SDMA with concurrrent access from multiple CPUs */ 109 struct prestera_sdma sdma; member 112 static int prestera_sdma_buf_init(struct prestera_sdma *sdma, in prestera_sdma_buf_init() argument 118 desc = dma_pool_alloc(sdma->desc_pool, GFP_DMA | GFP_KERNEL, &dma); in prestera_sdma_buf_init() 130 static u32 prestera_sdma_map(struct prestera_sdma *sdma, dma_addr_t pa) in prestera_sdma_map() argument 132 return sdma->map_addr + pa; in prestera_sdma_map() 135 static void prestera_sdma_rx_desc_init(struct prestera_sdma *sdma, in prestera_sdma_rx_desc_init() argument 144 desc->buff = cpu_to_le32(prestera_sdma_map(sdma, buf)); in prestera_sdma_rx_desc_init() 152 static void prestera_sdma_rx_desc_set_next(struct prestera_sdma *sdma, in prestera_sdma_rx_desc_set_next() argument 156 desc->next = cpu_to_le32(prestera_sdma_map(sdma, next)); in prestera_sdma_rx_desc_set_next() [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/dma/ |
| D | fsl-imx-sdma.txt | 1 * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 5 "fsl,imx25-sdma" 6 "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma" 7 "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma" 8 "fsl,imx51-sdma" 9 "fsl,imx53-sdma" 10 "fsl,imx6q-sdma" 11 "fsl,imx7d-sdma" 15 - reg : Should contain SDMA registers location and length 16 - interrupts : Should contain SDMA interrupt [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_sdma.c | 29 /* SDMA CSA reside in the 3rd page of CSA */ 33 * GPU SDMA IP block helpers function. 41 for (i = 0; i < adev->sdma.num_instances; i++) in amdgpu_sdma_get_instance_from_ring() 42 if (ring == &adev->sdma.instance[i].ring || in amdgpu_sdma_get_instance_from_ring() 43 ring == &adev->sdma.instance[i].page) in amdgpu_sdma_get_instance_from_ring() 44 return &adev->sdma.instance[i]; in amdgpu_sdma_get_instance_from_ring() 54 for (i = 0; i < adev->sdma.num_instances; i++) { in amdgpu_sdma_get_index_from_ring() 55 if (ring == &adev->sdma.instance[i].ring || in amdgpu_sdma_get_index_from_ring() 56 ring == &adev->sdma.instance[i].page) { in amdgpu_sdma_get_index_from_ring() 73 /* don't enable OS preemption on SDMA under SRIOV */ in amdgpu_sdma_get_csa_mc_addr() [all …]
|
| D | cik_sdma.c | 76 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_free_microcode() 77 release_firmware(adev->sdma.instance[i].fw); in cik_sdma_free_microcode() 78 adev->sdma.instance[i].fw = NULL; in cik_sdma_free_microcode() 83 * sDMA - System DMA 91 * (ring buffer, IBs, etc.), but sDMA has it's own 93 * used by the CP. sDMA supports copying data, writing 135 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode() 140 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in cik_sdma_init_microcode() 143 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in cik_sdma_init_microcode() 148 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode() [all …]
|
| D | sdma_v4_0.c | 530 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v4_0_setup_ulv() 562 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v4_0_destroy_inst_ctx() 563 release_firmware(adev->sdma.instance[i].fw); in sdma_v4_0_destroy_inst_ctx() 564 adev->sdma.instance[i].fw = NULL; in sdma_v4_0_destroy_inst_ctx() 567 all SDMA isntances */ in sdma_v4_0_destroy_inst_ctx() 572 memset((void*)adev->sdma.instance, 0, in sdma_v4_0_destroy_inst_ctx() 634 err = request_firmware(&adev->sdma.instance[0].fw, fw_name, adev->dev); in sdma_v4_0_init_microcode() 638 err = sdma_v4_0_init_inst_ctx(&adev->sdma.instance[0]); in sdma_v4_0_init_microcode() 642 for (i = 1; i < adev->sdma.num_instances; i++) { in sdma_v4_0_init_microcode() 645 for every SDMA instance */ in sdma_v4_0_init_microcode() [all …]
|
| D | sdma_v2_4.c | 81 * sDMA - System DMA 89 * (ring buffer, IBs, etc.), but sDMA has it's own 91 * used by the CP. sDMA supports copying data, writing 116 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v2_4_free_microcode() 117 release_firmware(adev->sdma.instance[i].fw); in sdma_v2_4_free_microcode() 118 adev->sdma.instance[i].fw = NULL; in sdma_v2_4_free_microcode() 149 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v2_4_init_microcode() 154 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v2_4_init_microcode() 157 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in sdma_v2_4_init_microcode() 160 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in sdma_v2_4_init_microcode() [all …]
|
| D | sdma_v3_0.c | 182 * sDMA - System DMA 190 * (ring buffer, IBs, etc.), but sDMA has it's own 192 * used by the CP. sDMA supports copying data, writing 253 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v3_0_free_microcode() 254 release_firmware(adev->sdma.instance[i].fw); in sdma_v3_0_free_microcode() 255 adev->sdma.instance[i].fw = NULL; in sdma_v3_0_free_microcode() 307 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v3_0_init_microcode() 312 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v3_0_init_microcode() 315 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in sdma_v3_0_init_microcode() 318 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in sdma_v3_0_init_microcode() [all …]
|
| D | sdma_v5_2.c | 119 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v5_2_destroy_inst_ctx() 120 release_firmware(adev->sdma.instance[i].fw); in sdma_v5_2_destroy_inst_ctx() 121 adev->sdma.instance[i].fw = NULL; in sdma_v5_2_destroy_inst_ctx() 127 memset((void*)adev->sdma.instance, 0, in sdma_v5_2_destroy_inst_ctx() 169 err = request_firmware(&adev->sdma.instance[0].fw, fw_name, adev->dev); in sdma_v5_2_init_microcode() 173 err = sdma_v5_2_init_inst_ctx(&adev->sdma.instance[0]); in sdma_v5_2_init_microcode() 177 for (i = 1; i < adev->sdma.num_instances; i++) { in sdma_v5_2_init_microcode() 180 memcpy((void*)&adev->sdma.instance[i], in sdma_v5_2_init_microcode() 181 (void*)&adev->sdma.instance[0], in sdma_v5_2_init_microcode() 185 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v5_2_init_microcode() [all …]
|
| D | sdma_v5_0.c | 229 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v5_0_init_microcode() 234 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v5_0_init_microcode() 237 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in sdma_v5_0_init_microcode() 240 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in sdma_v5_0_init_microcode() 241 adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version); in sdma_v5_0_init_microcode() 242 adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version); in sdma_v5_0_init_microcode() 243 if (adev->sdma.instance[i].feature_version >= 20) in sdma_v5_0_init_microcode() 244 adev->sdma.instance[i].burst_nop = true; in sdma_v5_0_init_microcode() 251 info->fw = adev->sdma.instance[i].fw; in sdma_v5_0_init_microcode() 260 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v5_0_init_microcode() [all …]
|
| /kernel/linux/linux-4.19/arch/arm/boot/dts/ |
| D | omap2.dtsi | 64 dmas = <&sdma 9 &sdma 10>; 82 sdma: dma-controller@48056000 { label 83 compatible = "ti,omap2430-sdma", "ti,omap2420-sdma"; 102 dmas = <&sdma 27 &sdma 28>; 113 dmas = <&sdma 29 &sdma 30>; 122 dmas = <&sdma 35 &sdma 36 &sdma 37 &sdma 38 123 &sdma 39 &sdma 40 &sdma 41 &sdma 42>; 133 dmas = <&sdma 43 &sdma 44 &sdma 45 &sdma 46>; 149 dmas = <&sdma 13>; 158 dmas = <&sdma 49 &sdma 50>; [all …]
|
| D | omap3.dtsi | 164 dmas = <&sdma 65 &sdma 66>; 208 sdma: dma-controller@48056000 { label 209 compatible = "ti,omap3630-sdma", "ti,omap3430-sdma"; 292 dmas = <&sdma 49 &sdma 50>; 302 dmas = <&sdma 51 &sdma 52>; 312 dmas = <&sdma 53 &sdma 54>; 322 dmas = <&sdma 27 &sdma 28>; 333 dmas = <&sdma 29 &sdma 30>; 344 dmas = <&sdma 25 &sdma 26>; 373 dmas = <&sdma 35>, [all …]
|
| D | omap2430.dtsi | 176 dmas = <&sdma 31>, 177 <&sdma 32>; 192 dmas = <&sdma 33>, 193 <&sdma 34>; 208 dmas = <&sdma 17>, 209 <&sdma 18>; 224 dmas = <&sdma 19>, 225 <&sdma 20>; 240 dmas = <&sdma 21>, 241 <&sdma 22>; [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | omap2.dtsi | 65 dmas = <&sdma 9 &sdma 10>; 103 sdma: dma-controller@0 { label 104 compatible = "ti,omap2420-sdma", "ti,omap-sdma"; 123 dmas = <&sdma 27 &sdma 28>; 134 dmas = <&sdma 29 &sdma 30>; 143 dmas = <&sdma 35 &sdma 36 &sdma 37 &sdma 38 144 &sdma 39 &sdma 40 &sdma 41 &sdma 42>; 154 dmas = <&sdma 43 &sdma 44 &sdma 45 &sdma 46>; 170 dmas = <&sdma 13>; 179 dmas = <&sdma 49 &sdma 50>; [all …]
|
| D | omap3.dtsi | 184 dmas = <&sdma 9 &sdma 10>; 210 dmas = <&sdma 65 &sdma 66>; 292 sdma: dma-controller@0 { label 293 compatible = "ti,omap3430-sdma", "ti,omap-sdma"; 376 dmas = <&sdma 49 &sdma 50>; 386 dmas = <&sdma 51 &sdma 52>; 396 dmas = <&sdma 53 &sdma 54>; 406 dmas = <&sdma 27 &sdma 28>; 417 dmas = <&sdma 29 &sdma 30>; 428 dmas = <&sdma 25 &sdma 26>; [all …]
|
| D | omap2430.dtsi | 189 dmas = <&sdma 31>, 190 <&sdma 32>; 205 dmas = <&sdma 33>, 206 <&sdma 34>; 221 dmas = <&sdma 17>, 222 <&sdma 18>; 237 dmas = <&sdma 19>, 238 <&sdma 20>; 253 dmas = <&sdma 21>, 254 <&sdma 22>; [all …]
|
| /kernel/linux/linux-4.19/drivers/gpu/drm/amd/amdgpu/ |
| D | cik_sdma.c | 74 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_free_microcode() 75 release_firmware(adev->sdma.instance[i].fw); in cik_sdma_free_microcode() 76 adev->sdma.instance[i].fw = NULL; in cik_sdma_free_microcode() 81 * sDMA - System DMA 89 * (ring buffer, IBs, etc.), but sDMA has it's own 91 * used by the CP. sDMA supports copying data, writing 133 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode() 138 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in cik_sdma_init_microcode() 141 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in cik_sdma_init_microcode() 146 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode() [all …]
|
| D | sdma_v2_4.c | 78 * sDMA - System DMA 86 * (ring buffer, IBs, etc.), but sDMA has it's own 88 * used by the CP. sDMA supports copying data, writing 113 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v2_4_free_microcode() 114 release_firmware(adev->sdma.instance[i].fw); in sdma_v2_4_free_microcode() 115 adev->sdma.instance[i].fw = NULL; in sdma_v2_4_free_microcode() 146 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v2_4_init_microcode() 151 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v2_4_init_microcode() 154 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in sdma_v2_4_init_microcode() 157 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in sdma_v2_4_init_microcode() [all …]
|
| D | sdma_v3_0.c | 179 * sDMA - System DMA 187 * (ring buffer, IBs, etc.), but sDMA has it's own 189 * used by the CP. sDMA supports copying data, writing 250 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v3_0_free_microcode() 251 release_firmware(adev->sdma.instance[i].fw); in sdma_v3_0_free_microcode() 252 adev->sdma.instance[i].fw = NULL; in sdma_v3_0_free_microcode() 304 for (i = 0; i < adev->sdma.num_instances; i++) { in sdma_v3_0_init_microcode() 309 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in sdma_v3_0_init_microcode() 312 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in sdma_v3_0_init_microcode() 315 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in sdma_v3_0_init_microcode() [all …]
|
| /kernel/linux/linux-4.19/drivers/infiniband/hw/hfi1/ |
| D | vnic_sdma.c | 49 * This file contains HFI1 support for VNIC SDMA functionality 52 #include "sdma.h" 63 * @txreq: sdma transmit request 64 * @sdma: vnic sdma pointer 72 struct hfi1_vnic_sdma *sdma; member 84 struct hfi1_vnic_sdma *vnic_sdma = tx->sdma; in vnic_sdma_complete() 171 struct hfi1_vnic_sdma *vnic_sdma = &vinfo->sdma[q_idx]; in hfi1_vnic_send_dma() 188 tx->sdma = vnic_sdma; in hfi1_vnic_send_dma() 198 /* When -ECOMM, sdma callback will be called with ABORT status */ in hfi1_vnic_send_dma() 220 * hfi1_vnic_sdma_sleep - vnic sdma sleep function [all …]
|
| /kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/ |
| D | vnic_sdma.c | 49 * This file contains HFI1 support for VNIC SDMA functionality 52 #include "sdma.h" 63 * @txreq: sdma transmit request 64 * @sdma: vnic sdma pointer 72 struct hfi1_vnic_sdma *sdma; member 84 struct hfi1_vnic_sdma *vnic_sdma = tx->sdma; in vnic_sdma_complete() 171 struct hfi1_vnic_sdma *vnic_sdma = &vinfo->sdma[q_idx]; in hfi1_vnic_send_dma() 188 tx->sdma = vnic_sdma; in hfi1_vnic_send_dma() 198 /* When -ECOMM, sdma callback will be called with ABORT status */ in hfi1_vnic_send_dma() 220 * hfi1_vnic_sdma_sleep - vnic sdma sleep function [all …]
|