mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
e0d072782c
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> |
||
---|---|---|
.. | ||
da8xx_remoteproc.c | ||
imx_rproc.c | ||
ingenic_rproc.c | ||
Kconfig | ||
keystone_remoteproc.c | ||
Makefile | ||
mtk_common.h | ||
mtk_scp_ipi.c | ||
mtk_scp.c | ||
omap_remoteproc.c | ||
omap_remoteproc.h | ||
qcom_common.c | ||
qcom_common.h | ||
qcom_pil_info.c | ||
qcom_pil_info.h | ||
qcom_q6v5_adsp.c | ||
qcom_q6v5_mss.c | ||
qcom_q6v5_pas.c | ||
qcom_q6v5_wcss.c | ||
qcom_q6v5.c | ||
qcom_q6v5.h | ||
qcom_sysmon.c | ||
qcom_wcnss_iris.c | ||
qcom_wcnss.c | ||
qcom_wcnss.h | ||
remoteproc_cdev.c | ||
remoteproc_core.c | ||
remoteproc_coredump.c | ||
remoteproc_debugfs.c | ||
remoteproc_elf_helpers.h | ||
remoteproc_elf_loader.c | ||
remoteproc_internal.h | ||
remoteproc_sysfs.c | ||
remoteproc_virtio.c | ||
st_remoteproc.c | ||
st_slim_rproc.c | ||
stm32_rproc.c | ||
ti_k3_dsp_remoteproc.c | ||
ti_sci_proc.h | ||
wkup_m3_rproc.c |