Home
last modified time | relevance | path

Searched full:iram (Results 1 – 25 of 105) sorted by relevance

12345

/Linux-v5.15/arch/arm/mach-lpc32xx/
Dpm.c47 * section of IRAM is used instead for this.
50 * Backup a small area of IRAM used for the suspend code
51 * Copy suspend code to IRAM
52 * Transfer control to code in IRAM
62 * Code execution returns from IRAM
63 * IRAM code are used for suspend is restored
87 /* Allocate some space for temporary IRAM storage */ in lpc32xx_pm_enter()
94 * Copy code to suspend system into IRAM. The suspend code in lpc32xx_pm_enter()
95 * needs to run from IRAM as DRAM may no longer be available in lpc32xx_pm_enter()
103 /* Transfer to suspend code in IRAM */ in lpc32xx_pm_enter()
[all …]
/Linux-v5.15/sound/soc/sprd/
Dsprd-pcm-compress.c28 /* Stage 0 IRAM buffer size definition */
58 * For 2-stage DMA transfer, we can allocate 2 buffers: IRAM buffer (always
59 * power-on) and DDR buffer. The source channel will transfer data from IRAM
60 * buffer to the DSP fifo to decoding/encoding, once IRAM buffer is empty by
62 * DDR buffer to IRAM buffer.
64 * Since the DSP fifo is only 512B, IRAM buffer is allocated by 32K, and DDR
65 * buffer is larger to 2M. That means only the IRAM 32k data is transferred
66 * done, we can wake up the AP system to transfer data from DDR to IRAM, and
77 /* Stage 0 IRAM buffer */
82 /* DSP play information IRAM buffer */
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/remoteproc/
Dti,pru-rproc.yaml59 - const: iram
132 reg-names = "iram", "control", "debug";
141 reg-names = "iram", "control", "debug";
171 reg-names = "iram", "control", "debug";
180 reg-names = "iram", "control", "debug";
189 reg-names = "iram", "control", "debug";
198 reg-names = "iram", "control", "debug";
207 reg-names = "iram", "control", "debug";
216 reg-names = "iram", "control", "debug";
/Linux-v5.15/Documentation/devicetree/bindings/media/
Dnvidia,tegra-vde.txt21 - iram : Must contain phandle to the mmio-sram device node that represents
22 IRAM region used by VDE.
55 iram = <&vde_pool>; /* IRAM region */
Dcoda.yaml65 iram:
107 iram = <&ocram>;
/Linux-v5.15/Documentation/devicetree/bindings/net/
Dlpc-eth.txt11 - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
27 use-iram;
/Linux-v5.15/drivers/gpu/ipu-v3/
Dipu-pre.c95 struct gen_pool *iram; member
290 pre->iram = of_gen_pool_get(dev->of_node, "fsl,iram", 0); in ipu_pre_probe()
291 if (!pre->iram) in ipu_pre_probe()
295 * Allocate IRAM buffer with maximum size. This could be made dynamic, in ipu_pre_probe()
296 * but as there is no other user of this IRAM region and we can fit all in ipu_pre_probe()
299 pre->buffer_virt = gen_pool_dma_alloc(pre->iram, IPU_PRE_MAX_WIDTH * in ipu_pre_probe()
329 gen_pool_free(pre->iram, (unsigned long)pre->buffer_virt, in ipu_pre_remove()
/Linux-v5.15/arch/arm/mach-tegra/
Dsleep-tegra20.S139 * tegra20_tear_down_core in IRAM
170 /* START OF ROUTINES COPIED TO IRAM */
178 * reset vector for LP1 restore; copied into IRAM during suspend.
191 * IRAM when this code is executed; immediately switch to CLKM and
264 * copied into and executed from IRAM
321 * executes from IRAM with SDRAM in selfrefresh when target state is LP0 or LP1
346 * must be executed from IRAM
430 /* dummy symbol for end of IRAM */
Dpm.c260 * SDRAM. These codes not be copied to IRAM in this fuction. We need to
261 * copy these code to IRAM before LP0/LP1 suspend and restore the content
262 * of IRAM after resume.
321 /* copy the reset vector & SDRAM shutdown code into IRAM */ in tegra_suspend_enter_lp1()
332 /* restore IRAM */ in tegra_suspend_exit_lp1()
Dsleep-tegra30.S280 * tegra30_tear_down_core in IRAM
344 /* START OF ROUTINES COPIED TO IRAM */
352 * reset vector for LP1 restore; copied into IRAM during suspend.
365 * IRAM when this code is executed; immediately switch to CLKM and
645 * copied into and executed from IRAM
743 * executes from IRAM with SDRAM in selfrefresh when target state is LP0 or LP1
781 * must be executed from IRAM
902 /* dummy symbol for end of IRAM */
/Linux-v5.15/arch/arm/boot/dts/
Dimx6qp.dtsi28 fsl,iram = <&ocram2>;
37 fsl,iram = <&ocram2>;
46 fsl,iram = <&ocram3>;
55 fsl,iram = <&ocram3>;
Dam57-pruss.dtsi93 reg-names = "iram", "control", "debug";
102 reg-names = "iram", "control", "debug";
202 reg-names = "iram", "control", "debug";
211 reg-names = "iram", "control", "debug";
/Linux-v5.15/sound/soc/intel/atom/sst/
Dsst.c464 fw_save->iram = kvzalloc(ctx->iram_end - ctx->iram_base, GFP_KERNEL); in intel_sst_suspend()
465 if (!fw_save->iram) { in intel_sst_suspend()
467 goto iram; in intel_sst_suspend()
486 memcpy32_fromio(fw_save->iram, ctx->iram, ctx->iram_end - ctx->iram_base); in intel_sst_suspend()
499 kvfree(fw_save->iram); in intel_sst_suspend()
500 iram: in intel_sst_suspend()
522 memcpy32_toio(ctx->iram, fw_save->iram, ctx->iram_end - ctx->iram_base); in intel_sst_resume()
529 kvfree(fw_save->iram); in intel_sst_resume()
Dsst_pci.c81 /* IRAM */ in sst_platform_get_resources()
84 ctx->iram = pcim_iomap(pci, 3, pci_resource_len(pci, 3)); in sst_platform_get_resources()
85 if (!ctx->iram) { in sst_platform_get_resources()
89 dev_dbg(ctx->dev, "IRAM Ptr %p\n", ctx->iram); in sst_platform_get_resources()
Dsst_acpi.c167 dev_info(ctx->dev, "IRAM base: %#x", ctx->iram_base); in sst_platform_get_resources()
168 ctx->iram = devm_ioremap(ctx->dev, ctx->iram_base, in sst_platform_get_resources()
170 if (!ctx->iram) { in sst_platform_get_resources()
171 dev_err(ctx->dev, "unable to map IRAM\n"); in sst_platform_get_resources()
Dsst.h317 void *iram; /* allocated via kvmalloc() */ member
331 * @iram : SST IRAM pointer
365 void __iomem *iram; member
/Linux-v5.15/drivers/gpu/drm/amd/display/dc/dce/
Ddce_dmcu.c91 /* Enable write access to IRAM */ in dce_dmcu_load_iram()
103 /* Disable write access to IRAM to allow dynamic sleep state */ in dce_dmcu_load_iram()
117 /* Enable write access to IRAM */ in dce_get_dmcu_psr_state()
128 /* Disable write access to IRAM after finished using IRAM in dce_get_dmcu_psr_state()
342 /* Enable write access to IRAM */ in dcn10_get_dmcu_version()
357 /* Disable write access to IRAM to allow dynamic sleep state */ in dcn10_get_dmcu_version()
492 /* Enable write access to IRAM */ in dcn10_dmcu_load_iram()
504 /* Disable write access to IRAM to allow dynamic sleep state */ in dcn10_dmcu_load_iram()
512 /* Set command to signal IRAM is loaded and to initialize IRAM */ in dcn10_dmcu_load_iram()
535 /* Enable write access to IRAM */ in dcn10_get_dmcu_psr_state()
[all …]
/Linux-v5.15/arch/arm64/boot/dts/ti/
Dk3-am65-main.dtsi1001 reg-names = "iram", "control", "debug";
1010 reg-names = "iram", "control", "debug";
1019 reg-names = "iram", "control", "debug";
1028 reg-names = "iram", "control", "debug";
1037 reg-names = "iram", "control", "debug";
1046 reg-names = "iram", "control", "debug";
1142 reg-names = "iram", "control", "debug";
1151 reg-names = "iram", "control", "debug";
1160 reg-names = "iram", "control", "debug";
1169 reg-names = "iram", "control", "debug";
[all …]
/Linux-v5.15/drivers/remoteproc/
Dpru_rproc.c49 /* PRU/RTU/Tx_PRU Core IRAM address masks */
478 * linker's default linker script places IRAM at an arbitrary high in pru_i_da_to_va()
480 * strip the artificial offset in the IRAM addresses coming from the in pru_i_da_to_va()
483 * The TI proprietary linker would never set those higher IRAM address in pru_i_da_to_va()
485 * word-address range. This in turn corresponds to 18-bit IRAM in pru_i_da_to_va()
539 * The ICSSG PRU/RTU/Tx_PRU cores have a memory copying issue with IRAM
541 * properly in the IRAM memories only for integer (4-byte) copies. Any unaligned
544 * IRAM memory port interface does not allow any 8-byte copies (as commonly used
737 * Compute PRU id based on the IRAM addresses. The PRU IRAMs are
777 const char *mem_names[PRU_IOMEM_MAX] = { "iram", "control", "debug" }; in pru_rproc_probe()
/Linux-v5.15/drivers/staging/media/tegra-vde/
Dvde.c220 u32 *iram_tables = vde->iram; in tegra_vde_setup_iram_entry()
336 memset(vde->iram + 128, 0, macroblocks_nb / 2); in tegra_vde_setup_hw_context()
346 * The IRAM mapping is write-combine, ensure that CPU buffers have in tegra_vde_setup_hw_context()
1029 vde->iram_pool = of_gen_pool_get(dev->of_node, "iram", 0); in tegra_vde_probe()
1031 dev_err(dev, "Could not get IRAM pool\n"); in tegra_vde_probe()
1035 vde->iram = gen_pool_dma_alloc(vde->iram_pool, in tegra_vde_probe()
1038 if (!vde->iram) { in tegra_vde_probe()
1039 dev_err(dev, "Could not reserve IRAM\n"); in tegra_vde_probe()
1092 gen_pool_free(vde->iram_pool, (unsigned long)vde->iram, in tegra_vde_probe()
1124 gen_pool_free(vde->iram_pool, (unsigned long)vde->iram, in tegra_vde_remove()
/Linux-v5.15/sound/soc/sof/intel/
Dpci-tng.c45 {"iram", DSP_BAR, IRAM_OFFSET, IRAM_SIZE,
200 .resindex_lpe_base = 3, /* IRAM, but subtract IRAM offset */
/Linux-v5.15/sound/soc/intel/catpt/
Ddsp.c375 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, in catpt_dsp_power_down()
410 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, 0); in catpt_dsp_power_up()
459 dump_size += resource_size(&cdev->iram); in catpt_coredump()
495 hdr->size = resource_size(&cdev->iram); in catpt_coredump()
498 memcpy_fromio(pos, cdev->lpe_ba + cdev->iram.start, hdr->size); in catpt_coredump()
/Linux-v5.15/Documentation/devicetree/bindings/soc/ti/
Dti,pruss.yaml413 reg-names = "iram", "control", "debug";
422 reg-names = "iram", "control", "debug";
504 reg-names = "iram", "control", "debug";
513 reg-names = "iram", "control", "debug";
/Linux-v5.15/Documentation/devicetree/bindings/display/imx/
Dfsl-imx-drm.txt74 - fsl,iram: phandle pointing to the mmio-sram device node, that should be
85 fsl,iram = <&ocram2>;
/Linux-v5.15/drivers/media/platform/coda/
Dcoda-common.c3186 /* Get IRAM pool from device tree */ in coda_probe()
3187 pool = of_gen_pool_get(np, "iram", 0); in coda_probe()
3189 dev_err(&pdev->dev, "iram pool not available\n"); in coda_probe()
3227 dev->iram.size = dev->devtype->iram_size; in coda_probe()
3228 dev->iram.vaddr = gen_pool_dma_alloc(dev->iram_pool, dev->iram.size, in coda_probe()
3229 &dev->iram.paddr); in coda_probe()
3230 if (!dev->iram.vaddr) { in coda_probe()
3231 dev_warn(&pdev->dev, "unable to alloc iram\n"); in coda_probe()
3233 memset(dev->iram.vaddr, 0, dev->iram.size); in coda_probe()
3234 dev->iram.blob.data = dev->iram.vaddr; in coda_probe()
[all …]

12345