Usecase of ARM_IMX_BUS_DEVFREQ and ARM_IMX8M_DDRC_DEVFREQ

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Usecase of ARM_IMX_BUS_DEVFREQ and ARM_IMX8M_DDRC_DEVFREQ

ソリューションへジャンプ
1,106件の閲覧回数
jo-so-nx
Contributor II

I'm using Linux (esp. Yocto Linux Kirkstone with Kernel version 5.15) and came across the kernel options CONFIG_ARM_IMX_BUS_DEVFREQ and CONFIG_ARM_IMX8M_DDRC_DEVFREQ.

The description of the options say

This adds the generic DEVFREQ driver for i.MX interconnects. It allows adjusting NIC/NOC frequency.

and

This adds the DEVFREQ driver for the i.MX8M DDR Controller. It allows adjusting DRAM frequency.

Both options select DEVFREQ_GOV_USERSPACE which has the description

Sets the frequency at the user specified one. This governor returns the user configured frequency if there has been an input to /sys/devices/.../userspace/set_freq. Otherwise, the governor does not change the frequency given at the initialization.

Therefore, I think the above options are only useful, if there are any user space tools which tweak the values. But what tools are this? And without any user space process modifying the value, having these options on is the same as off, because the keep the initial values.

Another usage would be DEVFREQ_THERMAL, but this requires DEVFREQ_GOV_SIMPLE_ONDEMAND:

This implements the generic devfreq cooling mechanism through frequency reduction for devices using devfreq.

This will throttle the device by limiting the maximum allowed DVFS frequency corresponding to the cooling level.

In order to use the power extensions of the cooling device, devfreq should use the simple_ondemand governor.

Is it useful to enable these kernel options without having any tools in user space to interact with them? Which tools do I have to install?

0 件の賞賛
返信
1 解決策
1,027件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

Hi @jo-so-nx 

Yes you can drop both, As you can see in our latest BSP code, we do not set it as the default oni.MX8M . 

B.R

元の投稿で解決策を見る

3 返答(返信)
1,028件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

Hi @jo-so-nx 

Yes you can drop both, As you can see in our latest BSP code, we do not set it as the default oni.MX8M . 

B.R

1,050件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

HI @jo-so-nx 

Sorry to reply late. There are two devices support devfreq on 8mm.

one is /sys/class/devfreq/3d400000.memory-controller   driver is drivers/devfreq/imx8m-ddrc.c

this freq is dram clock 

the other is /sys/class/devfreq/32700000.interconnect    driver is drivers/devfreq/imx-bus.c

this freq is  noc clock

 

devfreq is complete/independent with old busfreq mechanism

with devfreq you can also change noc/dram clock by echo "clockfreq" to /sys/class/devfreq/xxx/max(min)_freq

Because devfreq and busfreq both be active in system, and they are independent, so sometime they be conflict.

B.R

0 件の賞賛
返信
1,041件の閲覧回数
jo-so-nx
Contributor II

Thank you, @pengyong_zhang for helping me with this issue.

Do I get you right that I should either use busfreq (CONFIG_IMX8M_BUSFREQ) or devfreq (CONFIG_PM_DEVFREQ)? And can I use devfreq, because it's the newer one?

Or can I drop both and stay with the default frequencies from the device tree? I don't need power saving for this device.

0 件の賞賛
返信