On 16/8/21 11:03 pm, Kinsey Moore wrote: > On 8/16/2021 04:45, Chris Johns wrote: >> On 16/8/21 6:38 pm, Chris Johns wrote: >>> I have taken a closer look at the driver. I am receiving RX interrupts and >>> the >>> characters are being queued however the receive FIFO trigger interrupt is >>> only >>> raised when the FIFO reaches the set threshold of half the FIFO size. I >>> suspect >>> there is an assumption the RX timeout will fire but it is not. >>> >> Doing this is questionable .... >> >> https://git.rtems.org/rtems/tree/bsps/shared/dev/serial/zynq-uart.c#n222 >> >> You cannot send a character when touching the attributes. Where is this >> hardware >> bug documented by Xilinx? > The attributes are done being touched and the TX/RX enable flags are set again > before sending the character. I was seeing the same behavior on Zynq QEMU even > with this code removed. > > I couldn't find the hardware bug documented anywhere, but out of the 3 ZynqMP > boards I have one requires this consistently.
I suggest we use chip maker errata when documenting hardware bugs as it could turn out to be a bug in a our code. This smells to me like a set up problem. >> >> My application does this ... >> >> if (tcgetattr(fileno(stdout), &term) < 0) >> error_message(); >> cfsetispeed (&term, B115200); >> cfsetospeed (&term, B115200); >> if (tcsetattr (fileno(stdout), TCSADRAIN, &term) < 0) >> error_message(); >> if (tcgetattr(fileno(stdin), &term) < 0) >> error_message(); >> cfsetispeed (&term, B115200); >> cfsetospeed (&term, B115200); >> if (tcsetattr (fileno(stdin), TCSADRAIN, &term) < 0) >> error_message(); >> >> and this kills the receive interrupts. > > Does removing the null character kick restore functionality for you in this > case? No it did not. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel