SM4350_LCD_MIPI_Kernel_display_flow

kernel/msm-5.4/techpack/display/msm/dsi/dsi_display.c

dsi_display_dev_probe(struct platform_device *pdev)
	/*  创建一个单线程工作队列 */
	1:create_singlethread_workqueue("dsi_dma_cmd_workq");
	/* 提供DTS节点找到 display type	*/
	2:display->display_type = of_get_property(pdev->dev.of_node,"label", NULL);
	/* 判断是主显示还是外接显示 */
	3:display->display_type = "primary";
	if (!strcmp(display->display_type, "secondary"))
		
	/*	通过解析boot_disp->name(UEFI中传递过来的name),然后拿到panel_node	*/

	4:	if (boot_disp->boot_disp_en) {
			/* The panel name should be same as UEFI name index */
			panel_node = of_find_node_by_name(mdp_node, boot_disp->name);
		} else {
			panel_node = of_parse_phandle(node,"qcom,dsi-default-panel", 0);
		}
	
	/* 初始化 */
	 5: dsi_display_init(display);
			5.1:dsi_pwr_enable_regulator(&display->panel->power_info, true); /* 使能电压调节器 */
			5.2:component_add(&pdev->dev, &dsi_display_comp_ops); /* 添加 dsi_display_bind 组件*/
			
					static const struct component_ops dsi_display_comp_ops = {
						.bind = dsi_display_bind,
						.unbind = dsi_display_unbind,
					};
				
			5.3:static int dsi_display_bind(struct device *dev, struct device *master, void *data)
					5.31:dsi_display_debugfs_init(display); /* 初始化debugfs */
					/* "dump_info"	"esd_trigger"	"esd_check_mode" "cmd_sched_params" "misr_data"*/
					/* to initialize panel driver */
					5.32:dsi_panel_drv_init(display->panel, &display->host);
							panel->panel_ops.pinctrl_init(panel); /* to init pinctrl */
							panel->panel_ops.gpio_request(panel); /* request gpios */
							panel->panel_ops.bl_register(panel);  /* register backlight */
					5.33:dsi_display_register_te_irq(display); /* if command panel to register te irq handler */
					5.34:msm_register_vm_event(master, dev, &vm_event_ops, (void *)display);
							list_add(&client_entry->list, &priv->vm_client_list); /*msm_drm_private   msm_vm_client_entry */
						struct msm_vm_ops vm_event_ops = {
							.vm_get_io_resources = dsi_display_get_io_resources,
							.vm_pre_hw_release = dsi_display_pre_release,
							.vm_post_hw_acquire = dsi_display_pre_acquire,
						};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值