]> git.baikalelectronics.ru Git - uboot.git/commit
arm: mach-k3: am62a7: Enable QoS for DSS
authorAradhya Bhatia <a-bhatia1@ti.com>
Fri, 14 Apr 2023 07:27:25 +0000 (12:57 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 3 May 2023 13:05:24 +0000 (09:05 -0400)
commit07a17a56e865b7ffc47203710aba588acf1b8751
treece6f123555cfc50ef6acbb544e3eda03ba715b59
parentb3055091218e3a17ac3c114ccfb34388f5d19794
arm: mach-k3: am62a7: Enable QoS for DSS

Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by
servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is
done by setting the DSS DMA orderID to 8.

The C7x and VPAC have been overwhelming the DSS's access to the DDR
(when it was accessing via the Non Real-Time (NRT) Queue), primarily
because their functional frequencies, and hence DDR accesses, were
significantly higher than that of DSS. This led the display to flicker
when certain edgeAI models were being run.

With the DSS traffic serviced from the RT queue, the flickering issue
has been found to be mitigated.

The am62a qos files are auto generated from the k3 resource partitioning
tool.

Section-3.1.12, "QoS Programming Guide", in the AM62A TRM[1], provides
more information about the QoS, and section-14.1, "System Interconnect
Registers", provides the register descriptions.

[1] AM62A Tech Ref Manual: https://www.ti.com/lit/pdf/spruj16

Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
arch/arm/mach-k3/am62a7_init.c
arch/arm/mach-k3/am62ax/Makefile
arch/arm/mach-k3/am62ax/am62a_qos_data.c [new file with mode: 0644]
arch/arm/mach-k3/include/mach/am62a_qos.h [new file with mode: 0644]
arch/arm/mach-k3/include/mach/hardware.h