Hi
I'm looking for a way to increase the VPU's performance. The current bottleneck is in the MMDC, who is busy giving service to CPU and IPU. So I thought I can increase its service priority in the MMDC.
According to the reference manual (MMDC->performance->Arbitration), the iMX6 MMDC is capable of QoS management, and even allowing real time service for all requests with QoS='f'.
If I understand correctly, then the IPU QoS is set in the IOMUX registers (IOMUXC_GPR6/7).
However, I failed finding the place in which this QoS parameter is configured for the VPU.
Is it possible to change the VPU QoS? If not, is there another way I can give the VPU better service?
Solved! Go to Solution.
You can use NIC-301 registers to modify the QoS setting for different modules in i.MX6. In IMX6DQ Reference Manual, it is located in 45.4.3. In MMDC, there is a profiling mechanism. You can also use this MMDC feature to understand the real time statistics of the system in order to have an idea how to do the tuning.
BR,
Jack
You can use NIC-301 registers to modify the QoS setting for different modules in i.MX6. In IMX6DQ Reference Manual, it is located in 45.4.3. In MMDC, there is a profiling mechanism. You can also use this MMDC feature to understand the real time statistics of the system in order to have an idea how to do the tuning.
BR,
Jack
Thanks Jack!
Just what I was looking for.
I already learned about the real time statistics not long ago - very useful.
I didn't check it yet, but for future reference -
increasing the read/write VPU priority to almost realtime using devregs (from imx-utils):
devregs 0xC49100 0xe
devregs 0xC49104 0xe
Hi ofer.livny
"In theory there is no difference between theory and practice, but in practice there is."[Murphy's laws] :smileyhappy:
Actaully one needs very carefully change these settings since
unexpected effects may occur with other peripherals : audio/ethernet underruns, e.t.c.
Freescale BSPs sets these values to most optimized for most practical use cases.
So change them with care.
Best regards
chip
Thanks for the tip, chip,
Actually, I didn't notice any drastic changes after playing with VPU QoS.
Perhaps there's anything you can share from your experience? Did you attempt granting real time priority to something other than IPU ?
Hi ofer.livny,
If memory bandwidth is not the bottleneck of the issue, QoS modification may not have any effect on the performance. You mentioned that you have used the MMDC profiling to investigate the issue, could you share the result for reference?
BR,
Jack
Hi ofer.livny
do you mean that VPU behaviour did not change?
Best regards
chip