簡體   English   中英

DRM/KMS 禁用連接器和 crtc

[英]DRM/KMS disable connector and crtc

我的設備上裝有 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

所以問題是:

  1. 我在哪里可以閱讀有關在用戶空間中使用 drm 的信息?
  2. 如何禁用連接器和 crtc?

所以我找到了在我的情況下如何禁用 CRTC 只需要在我的程序結束時調用

bufferId = 0;
x, y = 0;
arrayOfConnectors = nullptr;
numberOfConnectors = 0;
mode = nullptr;
drmModeSetCrtc(fd, crtcId, bufferId, x, y, arrayOfConnectors, numberOfConnectors, mode);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM