一、代码位置
User space
SurfaceTexture– \\frameworks\native\libs\gui
SurfaceFlinger– \\frameworks\native\services\surfaceflinger
Graphics alloc– \\hardware\qcom\display\libgralloc
HWC – \\hardware\qcom\display\sdm\libs\hwc
SDM – \\hardware\qcom\display\sdm\libs\core
Driver
SDE driver – \\kernel\drivers\video\msm\mdss
二、msm8953 hdmi edid 解析流程
mdss_dba_utils_dba_cb 回调函数
-------->hdmi_edid_parser
-------->hdmi_edid_get_display_mode
-------->hdmi_edid_add_sink_video_format
-------->hdmi_get_supported_mode
-------->msm_hdmi_get_timing_info此处找到对应的数组,获取具体的信息
三、获取edid参数后配置dsi过程
mdss_dba_utils_notify_display-------->
switch_set_state----------->设置状态通知应用层
四、配置panel所需电源
SDE DTSI 文件中定义了为面板供电的调压器。这样便可支持多个 DSI 面板,进而可能需
要在单个产品上使用不同的调压器集合。由于调压器是电路板类型的属性,因此
qcom,supply_name 绑定会在 kona-sde-display.dtsi 中将面板电源映射到电路板调压器。
根据面板规格和项目设计,在 qcom,panel-supply-entry 中定义面板电源的数量和
电压。在以下示例中,该面板需要两个电源,其中 vddio 为 1.8 v,vdd 为 3.3 v:
dsi_panel_pwr_supply: dsi_panel_pwr_supply {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vddio"; // supplier
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <62000>;
qcom,supply-disable-load = <80>;
qcom,supply-post-on-sleep = <20>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vdd";
qcom,supply-min-voltage = <3300000>;
qcom,supply-max-voltage = <3300000>;
qcom,supply-enable-load = <857000>;
qcom,supply-disable-load = <0>;
qcom,supply-post-on-sleep = <0>;
};
};
使用 xxx-supply 在 sde_dsi 中将供应商映射到调压器以进行主显示,或者在
sde_dsi1 中将供应商映射到调压器进行辅显示。在以下示例中,vddio 由 PM8150 L14
供电,而 vdd 由 PM8150a_L11 供电:
sde_dsi: qcom,dsi-display-primary {
…
vddio-supply = <&pm8150_l14>;
vdd-supply = <&pm8150a_l11>;
avdd-supply = <&display_panel_avdd>;
}
PMIC 调压器在 kernel/msm-x.x/arch/arm64/boot/dts/qcom/konaregulators.dtsi 中进行定义。
五、LAB (LCD/AMOLED BOOST)/IBB (Inverting Buck-Boost) Regulator
LAB can be used as a standalone positive boost power supply for general purpose
applications. IBB can be used as a standalone negative power supply for general
applications. Also, LAB and IBB can be used together to provide power supply for
display panels, LCD or AMOLED.
六、