Hello together,
I am working on the application based on the UART. The problem is:
+ Interbyte is too long (~20ms) while I test on BeagleBone Black the result is okay for the same code.
Could you please let me know any issue that affects the interbyte, or latency?
I suspect that frequency scaling/power management
I am looking forward to you respond.
Thanks.
Tan
Hi all,
The issue will be resolved if I merge the imx.c into the latest branch of https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/drivers/tty/serial/imx.c?of...
Thank you so much for your support all.
Hello together,
I suspect that once a system is in idle state the OS could decide to save energy and to clock down the CPU core. This would / could include the reduction of the peripherals on the bus.
I assume the i.mx6 will also have several PLLs for CPU core and / or components such as the UART.
Using the energy saving reduction of the frequency will mean that the PLL will have to be reconfigured. I believe the adjustment of the PLL is multiple operations (instructions to certain registers) and the PLL has to be locked (which can take several microseconds(?)) and during this time no access to peripherals will be possible.
I assume that the high latency is only caused by the CPU frequency governor permanently trying to change the CPU frequency which will stall access to the UART component.
So could you please let me know how can I disable Frequency scaling on i.MX6q Sabre Auto?
Thanks,
Tan
You can keep the CPU frequency always at the maximum by doing:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
I already done like that but it can NOT resolve the issue.
Does this patch help?
Regards,
Fabio Estevam
I am working on Linux imx 3.14.28 so this patch is already there.
Any idea on this?
Thanks,
Tan
Hi Le
one can try kernel boot parameter enable_wait_mode=off
this wiil reduce system latencies.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I tried but It can not resolve the issue.