Increasing priority of a DMAC1 hardware request ID on RK3568?

Pavel Hofman pavel.hofman at ivitera.com
Wed Sep 6 08:00:38 PDT 2023


Dne 06. 09. 23 v 10:42 Pavel Hofman napsal(a):
> Please is it possible to increase a priority of a DMAC1 hardware request 
> (I2S1_8ch_tx specifically) on RK3568? I could not find any DMAC priority 
> mentioned in the RK3568 TRMs.
> 

The PL330 DMAC documentation specifically mentions that no priority of 
channels can be set.

But the DMAC0/1 clock on RK3568 "acl_bus" has multiple parents 
("gpll_200m", "gpll_150m", "gpll_100m", "xin24m") which corresponds to 
the documentation - CRU selector CRU_CLKSEL_CON49 aclk_bus_sel/aclk_bus 
clock mux.

The default value of that selector is 200MHz, yet my RK3568 has acl_bus 
clock switched to parent gpll_150m, i.e. only 150MHz. Perhaps keeping 
the default 200MHz would increase the DMAC performance?

Unfortunately I could not find where this particular clock gets switched 
to the non-default parent in the kernel code. Other clocks using the 
same parents gpll200_gpll150_gpll100_xin24m_p (e.g. aclk_gic_audio) do 
run at the default gpll_200m.

Additionally, the datasheet mentions bits aclk_en ("enable aclk_bus 
switch to lower frequency") and switch_en ("enable aclk_bus/pclk_bus 
automatically switched to lower frequency when pdbus is inactive") in 
register CRU_AUTOCS_BUS_CON1. By default they both should be disabled. I 
could not find any explanation of their effect in the datasheet, kernel 
does not seem to touch that register at all, as far as I could search.

Please can someone knowledgable of the Rockchip clocking help with 
locating the reason the acl_bus runs only at the non-default 150MHz?

Thanks a lot in advance.

Pavel.




More information about the Linux-rockchip mailing list