完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 把uboot层logo的关闭显示
修改u-bootdriversvideorockchip_display.c文件 dongsy@build-server-100:~/work/dsy/rk3288-Android-7.0/u-boot(edp- lvds)$ git diff drivers/video/rockchip_display.c diff --git a/drivers/video/rockchip_display.cb/drivers/video/rockchip_display。 index f477b20..4adc346 100644 --- a/drivers/video/rockchip_display.c +++ b/drivers/video/rockchip_display.c @@ -1035,8 +1035,8 @@ void rockchip_show_logo(void) s-》 logo.mode = s-》logo_mode; if (load_bmp_logo(&s-》logo, s-》ulogo_name)) printf(“uboot logo显示失败n”); - 否则 - display_logo(s); + // display_logo(s); if (load_bmp_logo(&s-》logo, s-》klogo_name)) printf(“未能显示内核标志n”); } 2 如果logo不显,调用kernel logo显示函数 修改kerneldriversgpudrmrockchiprockchip_drm_drv.c文件 dongsy@build-server-100:~/work/dsy/rk3288-Android-7.0/kernel (edp_lvds)$ git diff drivers/gpu/drm/rockchip/rockchip_drm_drv.c diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.cb/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index c24c6d9.。 0bf332c 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -474,13 +474,6 @@ static int setup_initial_state(结构 drm_device *drm_dev, funcs = 连接器-》helper_private; conn_state-》best_encoder = funcs-》best_encoder(connector); - if (funcs-》loader_protect) - funcs-》loader_protect(connector, true); - 连接器-》loader_protect = true; - encoder_funcs = conn_state-》best_encoder-》helper_private; - if (encoder_funcs-》loader_protect) - encoder_funcs-》loader_protect(conn_state-》best_encoder, true); - conn_state-》best_encoder-》loader_protect = true; num_modes = connector-》funcs-》fill_modes(connector, 4096, 4096); if (!num_modes) { dev_err(drm_dev-》dev, “connector[%s] 找不到任何模式n”, @@ -503,8 +496,24 @@ static int setup_initial_state(struct drm_device *drm_dev, } if (!found) { - ret = -EINVAL; - goto error_conn; + list_for_each_entry(mode, &connector-》modes, head) { + if (mode-》type & DRM_MODE_TYPE_PREFERRED) { + found = 1; + break; + } + } + + if (!found) { + mode = list_first_entry_or_null(&connector-》modes, + struct drm_display_mode, +头); + if (!mode) { + dev_err(drm_dev-》dev, + “找不到可用模式n”); + ret = -EINVAL; +转到error_conn; + } + } } 设置-》模式 = 模式; @@ -517,7 +526,18 @@ static int setup_initial_state(struct drm_device *drm_dev, drm_mode_copy(&crtc_state-》adjusted_mode, mode); if (!match || !is_crtc_enabled) { set-》mode_changed = true; + 连接器-》loader_protect = 假; + conn_state-》best_encoder-》loader_protect = false; } else { + if (funcs-》loader_protect) + funcs-》loader_protect(connector, true); + 连接器-》loader_protect = true; + encoder_funcs = conn_state-》best_encoder-》helper_private; + if (encoder_funcs-》loader_protect) + encoder_funcs-》loader_protect(conn_state-》best_encoder, + true); + conn_state-》best_encoder-》loader_protect = true; + ret = drm_atomic_set_crtc_for_connector(conn_state, crtc); 如果(返回) 转到error_conn; @@ -582,12 +602,16 @@ error_crtc: if (priv-》crtc_funcs[pipe] && priv-》crtc_funcs[pipe]-》loader_protect) priv-》crtc_funcs[pipe]-》loader_protect(crtc, false) ; error_conn: - if (funcs-》loader_protect) - funcs-》loader_protect(connector, false); - 连接器-》loader_protect = false; - if (encoder_funcs-》loader_protect) - encoder_funcs-》loader_protect(conn_state-》best_encoder, false); - conn_state-》best_encoder-》loader_protect = false; + if (connector-》loader_protect) { + if (funcs-》loader_protect) + funcs-》loader_protect(连接器,假); + 连接器-》loader_protect = false; + } + if (conn_state-》best_encoder-》loader_protect) { + if (encoder_funcs-》loader_protect) + encoder_funcs-》loader_protect(conn_state-》best_encoder, false); + conn_state-》best_encoder-》loader_protect = false; + } 返回 ret; } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1043 浏览 0 评论
1220 浏览 1 评论
968 浏览 1 评论
2238 浏览 1 评论
3561 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 21:40 , Processed in 0.559515 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号