I am trying to perform a DMA operation on my Dell Inspiron 5500 laptop. I would like to transfer, say a Linux page worth (4K on my machine), of data from one physical memory location to another. My questions are as follows
How do I determine if I have DMA support for this? I have tried decompiling and parsing /sys/firmware/acpi/tables/DSDT but I am unsure which node maps or would map to a DMA. I am significantly more familiar with device tree blobs in embedded system and this ACPI format is foreign to me
If I am able to locate this node, how do I get the
struct device *dev;
in a platform driver to hand off to
struct dma_chan *dma_request_chan(struct device *dev, const char *name);
per this guidehttps://www.kernel.org/doc/html/latest/driver-api/dmaengine/client.html
Update:
Here are links to information files about the system
lspci -nk -vv
https://drive.google.com/file/d/14jNSMAVSuuQIRIBIfGMzAg1pircfX3D-/view?usp=sharing
sudo acpidump
https://drive.google.com/file/d/1bKWJvFrjv6IQec9VEdw0v_0JLGhpnpZY/view?usp=sharing
grep -H 15 /sys/bus/acpi/devices/*/status
https://drive.google.com/file/d/1jRh-iQEcK97v4Hi_jKETYLseloL0Avz3/view?usp=sharing
If this is insufficient, I can add dmesg, but it is long since my machine has been running for a long time and I have doing stuff.