summaryrefslogtreecommitdiffstats
path: root/_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-18 14:06:49 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-18 21:47:35 +0200
commit22826f0f164d48ceef18343d9e9c2a6eb3de4230 (patch)
tree14c950e6656b8d6eb08a9b56e758f95c5dde0821 /_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
parente82b00a13a62499fdbca9505daaa69b35bf2f77d (diff)
WIP: rm appfw
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I6a90dae780a8eca7d684b5842c3af3ee55ebc509
Diffstat (limited to '_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch')
-rw-r--r--_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch b/_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
new file mode 100644
index 000000000..08cd6f99d
--- /dev/null
+++ b/_to_remove/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
@@ -0,0 +1,47 @@
+From 756f2f1f90524c2620ed7951e436d13bdb929a6b Mon Sep 17 00:00:00 2001
+From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
+Date: Mon, 12 Feb 2018 12:25:37 +0100
+Subject: [PATCH] staging: most: dim2: use device for coherent memory allocation
+
+On several modern architectures the allocation of coherent memory needs
+a device that has the dma_ops properly set. This patch enables use of
+the DIM2 platform device for the allocation process.
+
+Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
+---
+ hdm-dim2/dim2_hdm.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
+index 05e1896..1847091 100644
+--- a/hdm-dim2/dim2_hdm.c
++++ b/hdm-dim2/dim2_hdm.c
+@@ -688,12 +688,16 @@ static int poison_channel(struct most_interface *most_iface, int ch_idx)
+
+ static void *dma_alloc(struct mbo *mbo, u32 size)
+ {
+- return dma_alloc_coherent(NULL, size, &mbo->bus_address, GFP_KERNEL);
++ struct device *dev = mbo->ifp->dev;
++
++ return dma_alloc_coherent(dev, size, &mbo->bus_address, GFP_KERNEL);
+ }
+
+ static void dma_free(struct mbo *mbo, u32 size)
+ {
+- dma_free_coherent(NULL, size, mbo->virt_address, mbo->bus_address);
++ struct device *dev = mbo->ifp->dev;
++
++ dma_free_coherent(dev, size, mbo->virt_address, mbo->bus_address);
+ }
+
+ static const struct of_device_id dim2_of_match[];
+@@ -875,6 +879,7 @@ static int dim2_probe(struct platform_device *pdev)
+ dev->most_iface.poison_channel = poison_channel;
+ dev->most_iface.request_netinfo = request_netinfo;
+ dev->most_iface.extra_attrs = DBR_ATTRS;
++ dev->most_iface.dev = &pdev->dev;
+
+ kobj = most_register_interface(&dev->most_iface);
+ if (IS_ERR(kobj)) {
+--
+libgit2 0.26.0