环境:rk3399 linux SDK linux kernel版本为4.4.179 uboot版本为201709
问题现象:
uboot阶段 logo.bmp 可以正常显示,并且持续到 logo_kernel.bmp开始显示那一刻, 但是logo_kernel.bmp 虽然能显示,但是一闪而过,之后屏幕就持续黑屏直到显示桌面内容……
问题排查:
查看启动log:
[ 4.212505] ##################show_loader_logo#######################
[ 4.262751] ############fb_find_logo depth = 24#############
[ 4.262751] Freeing drm_logo memory: 3348K
[ 4.325082] Console: switching to colour frame buffer device 100x80[ 4.375269] rockchip-drm display-subsystem: fb0: frame buffer device
发现drm memory被free,查看 show_loader_logo 函数
struct drm_atomic_state *state, *old_state;
struct device_node *np = drm_dev->dev->of_node;
struct drm_mode_config *mode_config = &drm_dev->mode_config;
struct device_node *root, *route;
struct rockchip_drm_mode_set *set, *tmp, *unset;
struct list_head mode_set_list;
struct list_head mode_unset_list;
unsigned plane_mask = 0;
int ret;
printk("##################%s#######################\r\n",__func__);
root = of_get_child_by_name(np, "route");
if (!root) {
dev_warn(drm_dev->dev, "failed to parse display resources\n");
re