Hi Suman Here is original thread so you have background info and time to respond if Andrew has more to add.
https://groups.google.com/forum/m/?utm_medium=email&utm_source=footer#!msg/beagleboard/6Ch7Do4Hm7k/CAcSRi1pBQAJ Regards Mark Sent from Yahoo Mail on Android On Mon, Jun 22, 2020 at 10:16 AM, 'Suman Anna' via BeagleBoard<[email protected]> wrote: If it is for support from a TI SDK, please post a query to E2E. Can someone clarify meanwhile exactly what the issue is? The kfifo is used only on the receive path because of the asynchronous callbacks. The Tx-path is synchronous, the copy is attempted directly on the vring buffers, and you have a number of vring buffers (dictated by firmware), and if all of them are busy (implies PRU has either stopped processing or is overwhelmed), then you get a failure. regards Suman On 6/22/20 8:11 AM, Jason Kridner wrote: > Which repo has the code that is causing problems? > > I took a quick look at > https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/lib/src/rpmsg_lib/pru_rpmsg.c > > and it seems to be structured a fair bit differently. If the same issue > had been there, I'd recommend posting to e2e.ti.com <http://e2e.ti.com>. > > Switching over to the kernel, I see the function you mention: > https://github.com/beagleboard/linux/blob/4.14/drivers/rpmsg/rpmsg_pru.c#L106-L129 > > > > The driver isn't upstream yet: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/rpmsg > > The post to a public list seems to be here: > * https://patchwork.kernel.org/patch/10795751/ > > The development tree seems to be here: > * https://git.ti.com/cgit/rpmsg/rpmsg/ > > The code seems the same in the latest development branch: > * https://git.ti.com/cgit/rpmsg/rpmsg/tree/drivers/rpmsg/rpmsg_pru.c#n108 > > Er, I guess that is an example of doing it right and the issue is here? > * https://git.ti.com/cgit/rpmsg/rpmsg/tree/drivers/rpmsg/rpmsg_pru.c#n142 > > Since it isn't upstream, I'd think an e2e post might be OK, but it might > be more productive to reply to the latest post on linux-omap: > * > https://lore.kernel.org/linux-omap/[email protected]/ > > Copy Jason Reeder, Anthony F. Davis and Suman Anna. Not sure why it has > been so long between revision posts. > > Personally, I don't see any harm in modifying the _write code with a > fifo check on O_NONBLOCK. > > On Mon, Jun 22, 2020 at 2:01 AM Andrew P. Lentvorski <[email protected] > <mailto:[email protected]>> wrote: > > Nobody knows where I should file this bug? > > On Saturday, June 6, 2020 at 6:34:26 PM UTC-7, Andrew P. Lentvorski > wrote: > > It appears that the problem is in rpmsg_pru.c. > > rpmsg_pru_read has the following code: > > | > if(kfifo_is_empty(&prudev->msg_fifo)&& > (filp->f_flags &O_NONBLOCK)) > return-EAGAIN; > > | > > > rpmsg_pru_write presumably needs a similar piece of code with > kfifo_is_full() or it needs to look for O_NONBLOCK and then use > rpmsg_trysend instead of rpmsg_send. > > Unfortunately, I've got nowhere near the Linux kernel > programming chops to debate the implications of that. > > Presumably, I need to file a bug somewhere? > > Thanks. > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google > Groups "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > >https://groups.google.com/d/msgid/beagleboard/2c824e98-015d-4471-b787-a8c27ceaae5fo%40googlegroups.com > ><https://groups.google.com/d/msgid/beagleboard/2c824e98-015d-4471-b787-a8c27ceaae5fo%40googlegroups.com?utm_medium=email&utm_source=footer>. > > > > -- > https://beagleboard.org/about - a 501c3 non-profit educating around open > hardware computing -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/33317f41-b499-3d1f-7281-29ac57976f7e%40ti.com. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/1252527866.1463871.1592859848808%40mail.yahoo.com.
