DRM/KMS 禁用连接器和 crtc
Posted
技术标签:
【中文标题】DRM/KMS 禁用连接器和 crtc【英文标题】:DRM/KMS disable connector and crtc 【发布时间】:2021-12-12 21:01:00 【问题描述】:我的设备上有 android。 在 Android 完成加载之前,我正在绘制图片。 我有高 DDR 使用率的问题(平均频率太高), 通过 cat /sys/kernel/debug/clk/measure_only_mccc_clk/clk_measure 检查
我找到了临时解决方案 - 在 Andoid 之前释放 drm 资源。但这对我不利,因为我的图片和 Android 显示之间存在黑屏。
如果我在 Android 之后按时释放资源,我会再次收到我的高 DDR 频率问题。
我检查了 /sys/kernel/debug/dri/0/state 的状态,并找出了 DDR 工作成功和不成功之间的区别。
所以区别:
connector[168]: shared-disp-1
crtc=(null)
和
connector[168]: shared-disp-1
crtc=crtc-6
对于crtc的
crtc[170]: crtc-6
enable=0
active=0
planes_changed=1
mode_changed=1
active_changed=1
和
crtc[170]: crtc-6
enable=1
active=1
planes_changed=1
mode_changed=0
active_changed=0
所以问题是:
-
在哪里可以阅读有关在用户空间中使用 drm 的信息?
如何禁用连接器和 crtc?
【问题讨论】:
【参考方案1】:所以我找到了在我的情况下禁用 CRTC 的方法 它只需要在我的程序结束时调用
bufferId = 0;
x, y = 0;
arrayOfConnectors = nullptr;
numberOfConnectors = 0;
mode = nullptr;
drmModeSetCrtc(fd, crtcId, bufferId, x, y, arrayOfConnectors, numberOfConnectors, mode);
【讨论】:
以上是关于DRM/KMS 禁用连接器和 crtc的主要内容,如果未能解决你的问题,请参考以下文章
怎么在linux 系统下,禁用和启用网卡,并看状态,比如像WINDOW XP 下 本地连接,禁用,启用,连接状态,