完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题现象: 我们测试BOE N46, N20 等eDP屏幕时,冷启动起来播放附件Gradient Test.png图片(如下图1)正常,但Sleep/Wakeup后播放附件Gradient Test.png图片,会出现eDP issue after wakeup.jpg的棱线(如下图2);
图1,Gradient Test.png图片 图2 Sleep/Wakeup后 出现棱线 影响范围: RK3288, RK3399 Android v8.1, v9.0, v10.0 使用DRM 驱动的eDP 屏幕project. 问题原因: 虽然BOE N46, N20 LCD datasheet内说明LCD为6bit, 但实际搭配RK3288, RK3399使用时, eDP必须设定为8bit(bpc=<8>); 在uboot加载eDP panel时, uboot 会强制设定color depth为8bit, 但在Sleep/Wakeup后, 调用kernel 下eDP driver initial时, color depth读取了LCD的EDID的数据设置为了6bit, 造成了颜色显示异常。 解决对策: kernel 下eDP driver initial时, 重设color depth为8bit; (建议可根据dts配置来修改,或者参考下方对策1: “强制设置color_depth为8bit.zip ”固定设为8bit) 对策1: 强制设置color_depth为8bit 文件: kernel/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c static int rockchip_dp_get_modes(struct analogix_dp_plat_data *plat_data, struct drm_connector *connector) { struct drm_display_info *di = &connector->display_info; if (di->color_formats & DRM_COLOR_FORMAT_YCRCB444 || di->color_formats & DRM_COLOR_FORMAT_YCRCB422) { di->color_formats &= ~(DRM_COLOR_FORMAT_YCRCB422 | DRM_COLOR_FORMAT_YCRCB444); di->color_formats |= DRM_COLOR_FORMAT_RGB444; di->bpc = 8; } + di->bpc = 8; + //printk("===>hgc: %s: bpc: %dn", __func__, di->bpc); return 0; } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
197 浏览 0 评论
2057 浏览 3 评论
rk1126实现BT601输入,输入不带IIC接口的驱动程序
3829 浏览 0 评论
2340 浏览 1 评论
3577 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-30 16:22 , Processed in 0.488446 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号