How can we throttle the i.mx6 GPU ?

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

How can we throttle the i.mx6 GPU ?

ソリューションへジャンプ
3,940件の閲覧回数
roelofberg
Contributor II

Hi,

we all love the i.mx6 with its amazing GPU power. For one of our medical projects, however, we need to throttle the chip, because we can't dissipate the heat properly.

What would be the best way to throttle the chip ? I managed to reduce the CPU clock, but regarding the GPU clock, I'm not sure if I can simply reduce it or if there would be side-effects when I did so ?

Thanks a lot,

Roelof

(true i.mx6 fan)

ラベル(1)
タグ(1)
0 件の賞賛
返信
1 解決策
2,806件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Roelof

gpu clocks can be reduced, side effects will be reduced performance

AN4509 i.MX 6Dual/6Quad Power Consumption Measurement describes

various use cases with lower power consumption.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

元の投稿で解決策を見る

4 返答(返信)
2,806件の閲覧回数
roelofberg
Contributor II

Anyone ?

We're using VxWorks and are playing the 3D demo CinematicExperience (plus CPU stress). When I throttle the CPU by factor 2 to 396 MHz and the GPU 2D and 3D core clocks by factor 4, I see only about 80mA less power consumption on my board (1.87A -> 1.79A). So I hoped, that when I could also throttle the shader clock, I could maybe reduce the power consumption a bit more.

Where can I configure GPU3D_SHADER_CLK_ROOT ? (Not in CCM_CBCMR, right ?)

Thanks,

Roelof

0 件の賞賛
返信
2,806件の閲覧回数
michaelguntli
Contributor IV

roelofberg

Any progress on that? Were you able to reduce the GPU clock and save some power?

I was able to track down the place where the clock dividers are configured in the kernel:

/arch/arm/mach-imx/clk-imx6q.c

clk[IMX6QDL_CLK_GPU2D_CORE_PODF] = imx_clk_divider("gpu2d_core_podf", "gpu2d_core_sel", base + 0x18, 23, 3);
clk[IMX6QDL_CLK_GPU3D_CORE_PODF] = imx_clk_divider("gpu3d_core_podf", "gpu3d_core_sel", base + 0x18, 26, 3);
clk[IMX6QDL_CLK_GPU3D_SHADER] = imx_clk_divider("gpu3d_shader", "gpu3d_shader_sel", base + 0x18, 29, 3);

Reduced clock by 50% (divide by 8):

clk[IMX6QDL_CLK_GPU2D_CORE_PODF] = imx_clk_divider("gpu2d_core_podf", "gpu2d_core_sel", base + 0x18, 23, 7);
clk[IMX6QDL_CLK_GPU3D_CORE_PODF] = imx_clk_divider("gpu3d_core_podf", "gpu3d_core_sel", base + 0x18, 26, 7);
clk[IMX6QDL_CLK_GPU3D_SHADER] = imx_clk_divider("gpu3d_shader", "gpu3d_shader_sel", base + 0x18, 29, 7);
0 件の賞賛
返信
2,807件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Roelof

gpu clocks can be reduced, side effects will be reduced performance

AN4509 i.MX 6Dual/6Quad Power Consumption Measurement describes

various use cases with lower power consumption.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

2,806件の閲覧回数
roelofberg
Contributor II

Thanks Igor,

we use the i.mx6 DL and AN4576.pdf gives lots of interesting information, and points to the clocks "GPU3D Core" and "GPU3D Shader". Excellent. I admired Figure 18-2 (p. 784) of IMX6SDLRM and was happy to find in chapter 33.2, that I have to throttle GPU3D_CORE_CLK_ROOT and GPU3D_SHADER_CLK_ROOT. I found that GPU3D_CORE_CLK_ROOT can be configured by CCM_CBCMR (Chapter 18.6.7).

But I haven't found yet, where to configure GPU3D_SHADER_CLK_ROOT ? Any clue for me ? Thanks.

Best regards,

Roelof

0 件の賞賛
返信