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的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 6 启用和禁用 Office 连接器

怎么在linux 系统下,禁用和启用网卡,并看状态,比如像WINDOW XP 下 本地连接,禁用,启用,连接状态,

怎么在linux 系统下,禁用和启用网卡,并看状态,比如像WINDOW XP 下 本地连接,禁用,启用,连接状态,

禁用或启动本地连接 bat

禁用与启用本地连接最简单的命令

如何在手机中检查 WIFI 和 3G(数据计划)中的网络连接启用或禁用?