linux/drivers/remoteproc
Jim Quinlan e0d072782c dma-mapping: introduce DMA range map, supplanting dma_pfn_offset
The new field 'dma_range_map' in struct device is used to facilitate the
use of single or multiple offsets between mapping regions of cpu addrs and
dma addrs.  It subsumes the role of "dev->dma_pfn_offset" which was only
capable of holding a single uniform offset and had no region bounds
checking.

The function of_dma_get_range() has been modified so that it takes a single
argument -- the device node -- and returns a map, NULL, or an error code.
The map is an array that holds the information regarding the DMA regions.
Each range entry contains the address offset, the cpu_start address, the
dma_start address, and the size of the region.

of_dma_configure() is the typical manner to set range offsets but there are
a number of ad hoc assignments to "dev->dma_pfn_offset" in the kernel
driver code.  These cases now invoke the function
dma_direct_set_offset(dev, cpu_addr, dma_addr, size).

Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
[hch: various interface cleanups]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
2020-09-17 18:43:56 +02:00
..
da8xx_remoteproc.c remoteproc: Remove dev_err() usage after platform_get_irq() 2019-08-26 21:59:58 -07:00
imx_rproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
ingenic_rproc.c remoteproc: ingenic: Move clock handling to prepare/unprepare callbacks 2020-07-01 16:05:18 -07:00
Kconfig remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
keystone_remoteproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00
Makefile remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
mtk_common.h remoteproc: mtk_scp: use dma_addr_t for DMA API 2020-04-16 15:53:15 -07:00
mtk_scp_ipi.c rpmsg: add rpmsg support for mt8183 SCP. 2020-01-20 10:29:56 -08:00
mtk_scp.c remoteproc updates for v5.8 2020-06-08 13:01:08 -07:00
omap_remoteproc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
omap_remoteproc.h remoteproc/omap: Switch to SPDX license identifiers 2020-03-25 22:29:51 -07:00
qcom_common.c remoteproc: qcom: Add missing slab.h 2020-07-13 11:54:27 -07:00
qcom_common.h remoteproc: qcom: Add per subsystem SSR notification 2020-07-08 21:45:03 -07:00
qcom_pil_info.c remoteproc: qcom: pil-info: Fix shift overflow 2020-07-16 21:30:35 -07:00
qcom_pil_info.h remoteproc: qcom: Introduce helper to store pil info in IMEM 2020-07-01 22:10:18 -07:00
qcom_q6v5_adsp.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_q6v5_mss.c remoteproc updates for v5.9 2020-08-11 11:17:45 -07:00
qcom_q6v5_pas.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_q6v5_wcss.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_q6v5.c remoteproc: qcom: q6v5: Update running state before requesting stop 2020-07-27 23:21:31 -07:00
qcom_q6v5.h remoteproc: qcom: q6v5: Add common panic handler 2020-03-25 22:29:45 -07:00
qcom_sysmon.c remoteproc: qcom_sysmon: Solve function header bitrot issues 2020-07-15 12:18:20 -07:00
qcom_wcnss_iris.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
qcom_wcnss.c remoteproc: qcom: Update PIL relocation info on load 2020-07-01 22:10:19 -07:00
qcom_wcnss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
remoteproc_cdev.c remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_core.c dma-mapping: introduce DMA range map, supplanting dma_pfn_offset 2020-09-17 18:43:56 +02:00
remoteproc_coredump.c remoteproc: Add inline coredump functionality 2020-07-21 14:03:57 -07:00
remoteproc_debugfs.c remoteproc: Add coredump debugfs entry 2020-07-21 14:04:12 -07:00
remoteproc_elf_helpers.h remoteproc: Add elf helpers to access elf64 and elf32 fields 2020-03-25 22:29:39 -07:00
remoteproc_elf_loader.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
remoteproc_internal.h remoteproc: Add remoteproc character device interface 2020-08-04 20:16:37 -07:00
remoteproc_sysfs.c remoteproc: Properly handle firmware name when attaching 2020-07-16 23:06:15 -07:00
remoteproc_virtio.c remoteproc: Fall back to using parent memory pool if no dedicated available 2020-05-12 16:08:00 -07:00
st_remoteproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
st_slim_rproc.c remoteproc: remove rproc_elf32_sanity_check 2020-04-22 21:57:26 -07:00
stm32_rproc.c remoteproc: stm32: Update M4 state in stm32_rproc_stop() 2020-07-17 17:35:03 -07:00
ti_k3_dsp_remoteproc.c remoteproc: k3-dsp: Add support for C71x DSPs 2020-07-28 17:08:32 -07:00
ti_sci_proc.h remoteproc: k3: Add TI-SCI processor control helper functions 2020-07-28 17:06:43 -07:00
wkup_m3_rproc.c remoteproc: Use size_t type for len in da_to_va 2020-03-25 22:29:38 -07:00