almog1
December 9, 2021, 4:00pm
#1
Hey,
I am trying to use GPIO as input trigger to my system.
I am using shell command before I am running my code:
echo in >/sys/class/gpio/gpio443/direction
echo falling >/sys/class/gpio/gpio443/edge
and also a C code:
void gpio_test()
{
if ((fd = open("/sys/class/gpio/gpio443/value", O_RDWR)) < 0)
{
fprintf(stderr, "Failed, gpio %d not exported.\n", gpioPin);
return -1;
}
pfd.fd = fd;
pfd.events = POLLPRI;
lseek(fd, 0, SEEK_SET); /* consume any prior interrupt */
read(fd, buf, sizeof(buf));
rc = poll(&pfd, 1, timeoutMS); /* wait for interrupt */
if (rc < 0)
strerror(errno);
lseek(fd, 0, SEEK_SET); /* consume interrupt */
read(fd, buf, sizeof(buf));
}
I see that the interrupt arrived with ~15 ms latency after the GPIO fall down.
The program runs in user space.
There is any way to decrease the latency?
hello almog1,
could you please check Topic 192147 for the steps to improve GPIO interrupt performance.
thanks
almog1
December 13, 2021, 8:47am
#4
Hey Jerry,
I have tried to use attached commands:
sudo su
cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/max_rate # 408000000
cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/max_rate > /sys/kernel/debug/bpmp/debug/clk/axi_cbb/rate
echo 1 > /sys/kernel/debug/bpmp/debug/clk/axi_cbb/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/rate # 408000000
cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/max_rate # 408000000
cat /sys/kernel/debug/bpmp/debug/clk/axi_cbb/mrq_rate_locked # 1
I am still get the interrupt with ~15ms latency.
root@nvidia:/home/nvidia# cat /proc/interrupts | grep gpiolib
353: 8767 0 0 0 0 0 0 0 tegra-gpio 155 Edge gpiolib
may I know how you evaluate 15ms latency,
are you probing the signal or adding kernel logs to check the timestamp?
almog1
December 14, 2021, 7:59am
#6
Hey Jerry,
You right, Actually I have checked it via log file.
In case of checking it with oscilloscope it actually works fine.
Thank you
There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks
hello almog1,
would you please use $ nice
to set higher process priority to confirm the behavior?
thanks
system
closed
January 5, 2022, 5:18am
#9
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.