linux-stable/drivers/bus
Manivannan Sadhasivam ee08acb58f bus: mhi: ep: Add support for async DMA write operation
In order to optimize the data transfer, let's use the async DMA operation
for writing (queuing) data to the host.

In the async path, the completion event for the transfer ring will only be
sent to the host when the controller driver notifies the MHI stack of the
actual transfer completion using the callback (mhi_ep_skb_completion)
supplied in "struct mhi_ep_buf_info".

Also to accommodate the async operation, the transfer ring read offset
(ring->rd_offset) is cached in the "struct mhi_ep_chan" and updated locally
to let the stack queue further ring items to the controller driver. But the
actual read offset of the transfer ring will only be updated in the
completion callback.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2023-12-15 14:20:03 +05:30
..
fsl-mc bus: fsl-mc: Replace deprecated strncpy() with strscpy_pad() 2023-09-29 14:48:31 -07:00
mhi bus: mhi: ep: Add support for async DMA write operation 2023-12-15 14:20:03 +05:30
arm-cci.c
arm-integrator-lm.c bus: arm-integrator-lm: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
brcmstb_gisb.c bus: brcmstb_gisb: Use devm_platform_get_and_ioremap_resource() 2023-03-14 14:07:16 -07:00
bt1-apb.c bus: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:53 -07:00
bt1-axi.c bus: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:53 -07:00
da8xx-mstpri.c
hisi_lpc.c bus: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
imx-weim.c bus: imx-weim: use devm_platform_ioremap_resource 2023-07-19 10:14:11 +08:00
intel-ixp4xx-eb.c bus: ixp4xx: fix IXP4XX_EXP_T1_MASK 2023-07-05 22:22:55 +02:00
Kconfig bus: brcmstb_gisb: Depend on SoC specifics over generic arm 2023-10-09 11:51:08 -07:00
Makefile bus: add driver for initializing the SSC bus on (some) qcom SoCs 2022-04-19 13:03:57 -05:00
mips_cdmm.c driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
moxtet.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mvebu-mbus.c bus: mvebu-mbus: Remove open coded "ranges" parsing 2023-04-18 11:18:24 -05:00
omap-ocp2scp.c
omap_l3_noc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_noc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_smx.c ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
omap_l3_smx.h
qcom-ebi2.c bus: qcom: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
qcom-ssc-block-bus.c bus: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
simple-pm-bus.c bus: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
sun50i-de2.c bus: sun50i-de2: Adjust printing error message 2021-10-13 14:48:48 +02:00
sunxi-rsb.c ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
tegra-aconnect.c
tegra-gmi.c bus: tegra-gmi: Convert to devm_platform_ioremap_resource() 2023-07-21 17:27:33 +02:00
ti-pwmss.c bus: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
ti-sysc.c bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up 2023-09-13 10:24:53 +03:00
ts-nbus.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_56.RULE (part 2) 2022-06-10 14:51:35 +02:00
uniphier-system-bus.c bus: uniphier-system-bus: Remove open coded "ranges" parsing 2023-03-30 13:37:21 -05:00
vexpress-config.c bus: vexpress-config: Annotate struct vexpress_syscfg_func with __counted_by 2023-09-25 19:38:27 +01:00