[RK3399][Android7.1] 調試筆記 --- 顯示畫面出現mirror的問題

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

現象:
添加好LVDS屏幕之後,顯示畫面mirror.

在這裏插入圖片描述


解決方法:

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 087034d..fab5671 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
 
@@ -1956,6 +1957,8 @@ static void vop_crtc_enable(struct drm_crtc *crtc)
 			!!(s->output_flags & ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL));
 		VOP_CTRL_SET(vop, data01_swap,
 			!!(s->output_flags & ROCKCHIP_OUTPUT_DSI_DUAL_LINK));
+		//Kris, 191113, mirror display.
+		VOP_CTRL_SET(vop, xmirror, 1);
 		break;
 	case DRM_MODE_CONNECTOR_DisplayPort:
 		VOP_CTRL_SET(vop, dp_dclk_pol, 0);

一開始修改的是vop_plane_atomic_update()中的xmirror信息,發現只是開機動畫正常了,但是進入桌面還是異常。
原因是vop_plane_atomic_update()不是控制所有圖層,而開機動畫只有一個圖層,進入桌面之後有多個圖層。而通過VOP_CTRL_SET()可以去控制所有圖層合成之後的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章