RazvanN Posted February 5 Posted February 5 Hi! I have an rk3588 board that has a dma330 controller. I have this driver that essentially polls a dmac channel and it memory maps the data that is received into user space. Now, this driver was developed with the idea to receive data from a peripheral, however, before that I just want to test it by doing some memory to memory transactions. To that end I developed another kernel module that acts as a transmitter (code attached: aerietest.c). However, I am not able to link the transmitting end of the channel with the receiveing end. I added the following code in the device tree: aerie@0 { #dma-cells = <0x01>; compatible = "lyte-ai,l2"; dmas = <&dmac0 1>; dma-names = "rx"; } And both the rx and tx kernel modules link to it. However, whenever I modprobe of the modules I cannot probe the other, so I imagine that an entry in the device try can be used only by a single kernel module at a time. I also tried adding 2 entries in the device tree that reference the same channel, but that doesn't work also - the dma_request_chan function fails when called from the second module that is modprobed. So my question is: is it possible to inject some data mock that to test my receiving driver by using another kernel module? If yes, how can I do that? Regards. aerietest.c 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.