Loading arch/arm64/boot/dts/qcom/sm8150-sde-display.dtsi +7 −0 Original line number Diff line number Diff line Loading @@ -747,6 +747,13 @@ }; &dsi_sw43404_amoled_cmd { qcom,esd-check-enabled; qcom,mdss-dsi-panel-status-check-mode = "reg_read"; qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; qcom,mdss-dsi-panel-status-value = <0x9c>; qcom,mdss-dsi-panel-on-check-value = <0x9c>; qcom,mdss-dsi-panel-status-read-length = <1>; qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 20 1f 06 Loading arch/arm64/boot/dts/qcom/sm8150-sde-pll.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ clock-names = "iface_clk"; clock-rate = <0>; gdsc-supply = <&mdss_core_gdsc>; qcom,dsi-pll-ssc-en; qcom,dsi-pll-ssc-mode = "down-spread"; qcom,platform-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading Loading @@ -51,6 +53,8 @@ clock-names = "iface_clk"; clock-rate = <0>; gdsc-supply = <&mdss_core_gdsc>; qcom,dsi-pll-ssc-en; qcom,dsi-pll-ssc-mode = "down-spread"; qcom,platform-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading arch/arm64/boot/dts/qcom/sm8150-sde.dtsi +2 −2 Original line number Diff line number Diff line Loading @@ -512,7 +512,7 @@ compatible = "qcom,dsi-phy-v4.0"; label = "dsi-phy-0"; cell-index = <0>; reg = <0xae94400 0x7c0>; reg = <0xae94400 0x760>; reg-names = "dsi_phy"; vdda-0p9-supply = <&pm8150_l5>; qcom,platform-strength-ctrl = [55 03 Loading Loading @@ -544,7 +544,7 @@ compatible = "qcom,dsi-phy-v4.0"; label = "dsi-phy-1"; cell-index = <1>; reg = <0xae96400 0x7c0>; reg = <0xae96400 0x760>; reg-names = "dsi_phy"; vdda-0p9-supply = <&pm8150_l5>; qcom,platform-strength-ctrl = [55 03 Loading drivers/gpu/drm/msm/dp/dp_ctrl.c +6 −0 Original line number Diff line number Diff line Loading @@ -1096,6 +1096,9 @@ static int dp_ctrl_on(struct dp_ctrl *dp_ctrl, bool mst_mode) ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); if (ctrl->power_on) goto end; ctrl->mst_mode = mst_mode; rate = ctrl->panel->link_info.rate; Loading Loading @@ -1130,6 +1133,9 @@ static void dp_ctrl_off(struct dp_ctrl *dp_ctrl) ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); if (!ctrl->power_on) return; dp_ctrl_configure_source_link_params(ctrl, false); ctrl->catalog->reset(ctrl->catalog); Loading drivers/gpu/drm/msm/dp/dp_debug.c +24 −16 Original line number Diff line number Diff line Loading @@ -1366,6 +1366,7 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_bw_code failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_file("mst_sideband_mode", 0644, dir, Loading @@ -1374,6 +1375,7 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_bw_code failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_file("max_pclk_khz", 0644, dir, Loading @@ -1382,6 +1384,16 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_pclk_khz failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_bool("force_encryption", 0644, dir, &debug->dp_debug.force_encryption); if (IS_ERR_OR_NULL(file)) { rc = PTR_ERR(file); pr_err("[%s] debugfs force_encryption failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } return 0; Loading @@ -1406,37 +1418,33 @@ u8 *dp_debug_get_edid(struct dp_debug *dp_debug) return debug->edid; } struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, struct dp_hpd *hpd, struct dp_link *link, struct dp_aux *aux, struct drm_connector **connector, struct dp_catalog *catalog, struct dp_parser *parser) struct dp_debug *dp_debug_get(struct dp_debug_in *in) { int rc = 0; struct dp_debug_private *debug; struct dp_debug *dp_debug; if (!dev || !panel || !hpd || !link || !catalog) { if (!in->dev || !in->panel || !in->hpd || !in->link || !in->catalog) { pr_err("invalid input\n"); rc = -EINVAL; goto error; } debug = devm_kzalloc(dev, sizeof(*debug), GFP_KERNEL); debug = devm_kzalloc(in->dev, sizeof(*debug), GFP_KERNEL); if (!debug) { rc = -ENOMEM; goto error; } debug->dp_debug.debug_en = false; debug->hpd = hpd; debug->link = link; debug->panel = panel; debug->aux = aux; debug->dev = dev; debug->connector = connector; debug->catalog = catalog; debug->parser = parser; debug->hpd = in->hpd; debug->link = in->link; debug->panel = in->panel; debug->aux = in->aux; debug->dev = in->dev; debug->connector = in->connector; debug->catalog = in->catalog; debug->parser = in->parser; dp_debug = &debug->dp_debug; dp_debug->vdisplay = 0; Loading @@ -1445,7 +1453,7 @@ struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, rc = dp_debug_init(dp_debug); if (rc) { devm_kfree(dev, debug); devm_kfree(in->dev, debug); goto error; } Loading Loading
arch/arm64/boot/dts/qcom/sm8150-sde-display.dtsi +7 −0 Original line number Diff line number Diff line Loading @@ -747,6 +747,13 @@ }; &dsi_sw43404_amoled_cmd { qcom,esd-check-enabled; qcom,mdss-dsi-panel-status-check-mode = "reg_read"; qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; qcom,mdss-dsi-panel-status-value = <0x9c>; qcom,mdss-dsi-panel-on-check-value = <0x9c>; qcom,mdss-dsi-panel-status-read-length = <1>; qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 20 1f 06 Loading
arch/arm64/boot/dts/qcom/sm8150-sde-pll.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ clock-names = "iface_clk"; clock-rate = <0>; gdsc-supply = <&mdss_core_gdsc>; qcom,dsi-pll-ssc-en; qcom,dsi-pll-ssc-mode = "down-spread"; qcom,platform-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading Loading @@ -51,6 +53,8 @@ clock-names = "iface_clk"; clock-rate = <0>; gdsc-supply = <&mdss_core_gdsc>; qcom,dsi-pll-ssc-en; qcom,dsi-pll-ssc-mode = "down-spread"; qcom,platform-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading
arch/arm64/boot/dts/qcom/sm8150-sde.dtsi +2 −2 Original line number Diff line number Diff line Loading @@ -512,7 +512,7 @@ compatible = "qcom,dsi-phy-v4.0"; label = "dsi-phy-0"; cell-index = <0>; reg = <0xae94400 0x7c0>; reg = <0xae94400 0x760>; reg-names = "dsi_phy"; vdda-0p9-supply = <&pm8150_l5>; qcom,platform-strength-ctrl = [55 03 Loading Loading @@ -544,7 +544,7 @@ compatible = "qcom,dsi-phy-v4.0"; label = "dsi-phy-1"; cell-index = <1>; reg = <0xae96400 0x7c0>; reg = <0xae96400 0x760>; reg-names = "dsi_phy"; vdda-0p9-supply = <&pm8150_l5>; qcom,platform-strength-ctrl = [55 03 Loading
drivers/gpu/drm/msm/dp/dp_ctrl.c +6 −0 Original line number Diff line number Diff line Loading @@ -1096,6 +1096,9 @@ static int dp_ctrl_on(struct dp_ctrl *dp_ctrl, bool mst_mode) ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); if (ctrl->power_on) goto end; ctrl->mst_mode = mst_mode; rate = ctrl->panel->link_info.rate; Loading Loading @@ -1130,6 +1133,9 @@ static void dp_ctrl_off(struct dp_ctrl *dp_ctrl) ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); if (!ctrl->power_on) return; dp_ctrl_configure_source_link_params(ctrl, false); ctrl->catalog->reset(ctrl->catalog); Loading
drivers/gpu/drm/msm/dp/dp_debug.c +24 −16 Original line number Diff line number Diff line Loading @@ -1366,6 +1366,7 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_bw_code failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_file("mst_sideband_mode", 0644, dir, Loading @@ -1374,6 +1375,7 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_bw_code failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_file("max_pclk_khz", 0644, dir, Loading @@ -1382,6 +1384,16 @@ static int dp_debug_init(struct dp_debug *dp_debug) rc = PTR_ERR(file); pr_err("[%s] debugfs max_pclk_khz failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } file = debugfs_create_bool("force_encryption", 0644, dir, &debug->dp_debug.force_encryption); if (IS_ERR_OR_NULL(file)) { rc = PTR_ERR(file); pr_err("[%s] debugfs force_encryption failed, rc=%d\n", DEBUG_NAME, rc); goto error_remove_dir; } return 0; Loading @@ -1406,37 +1418,33 @@ u8 *dp_debug_get_edid(struct dp_debug *dp_debug) return debug->edid; } struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, struct dp_hpd *hpd, struct dp_link *link, struct dp_aux *aux, struct drm_connector **connector, struct dp_catalog *catalog, struct dp_parser *parser) struct dp_debug *dp_debug_get(struct dp_debug_in *in) { int rc = 0; struct dp_debug_private *debug; struct dp_debug *dp_debug; if (!dev || !panel || !hpd || !link || !catalog) { if (!in->dev || !in->panel || !in->hpd || !in->link || !in->catalog) { pr_err("invalid input\n"); rc = -EINVAL; goto error; } debug = devm_kzalloc(dev, sizeof(*debug), GFP_KERNEL); debug = devm_kzalloc(in->dev, sizeof(*debug), GFP_KERNEL); if (!debug) { rc = -ENOMEM; goto error; } debug->dp_debug.debug_en = false; debug->hpd = hpd; debug->link = link; debug->panel = panel; debug->aux = aux; debug->dev = dev; debug->connector = connector; debug->catalog = catalog; debug->parser = parser; debug->hpd = in->hpd; debug->link = in->link; debug->panel = in->panel; debug->aux = in->aux; debug->dev = in->dev; debug->connector = in->connector; debug->catalog = in->catalog; debug->parser = in->parser; dp_debug = &debug->dp_debug; dp_debug->vdisplay = 0; Loading @@ -1445,7 +1453,7 @@ struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, rc = dp_debug_init(dp_debug); if (rc) { devm_kfree(dev, debug); devm_kfree(in->dev, debug); goto error; } Loading