Loading arch/arm/boot/dts/qcom/msm8937-mdss.dtsi +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ qcom,mdss-ctl-off = <0x00002000 0x00002200 0x00002400>; qcom,mdss-mixer-intf-off = <0x00045000 0x00046000>; qcom,mdss-mixer-wb-off = <0x00048000>; qcom,mdss-dspp-off = <0x00055000>; qcom,mdss-wb-off = <0x00065000 0x00066000>; qcom,mdss-intf-off = <0x0006B000 0x0006B800 0x0006C000>; Loading drivers/video/msm/mdss/mdss_mdp.c +39 −11 Original line number Diff line number Diff line Loading @@ -2576,6 +2576,7 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) int rc = 0; u32 *mixer_offsets = NULL, *dspp_offsets = NULL, *pingpong_offsets = NULL; u32 is_virtual_mixer_req = false; struct mdss_data_type *mdata = platform_get_drvdata(pdev); Loading Loading @@ -2630,10 +2631,22 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) if (rc) goto parse_done; if (mdata->nmixers_wb) { rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-mixer-wb-off", mixer_offsets + mdata->nmixers_intf, mdata->nmixers_wb); mixer_offsets + mdata->nmixers_intf, mdata->nmixers_wb); if (rc) goto parse_done; } else { /* * If writeback mixers are not available, put the number of * writeback mixers equal to number of DMA pipes so that * later same number of virtual writeback mixers can be * allocated. */ mdata->nmixers_wb = mdata->ndma_pipes; is_virtual_mixer_req = true; } rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-dspp-off", dspp_offsets, mdata->ndspp); Loading @@ -2651,11 +2664,27 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) if (rc) goto parse_done; if (mdata->nmixers_wb) { if (is_virtual_mixer_req) { /* * Replicate last interface mixers based on number of * dma pipes available as virtual writeback mixers. */ rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets + mdata->nmixers_intf - mdata->ndma_pipes, NULL, NULL, MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); if (rc) goto parse_done; } else { rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets + mdata->nmixers_intf, NULL, NULL, MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); if (rc) goto parse_done; } } parse_done: kfree(pingpong_offsets); Loading Loading @@ -2812,8 +2841,7 @@ static int mdss_mdp_parse_dt_wb(struct platform_device *pdev) mdata = platform_get_drvdata(pdev); num_wb_mixer = mdss_mdp_parse_dt_prop_len(pdev, "qcom,mdss-mixer-wb-off"); num_wb_mixer = mdata->nmixers_wb; wfd_data = of_get_property(pdev->dev.of_node, "qcom,mdss-wfd-mode", NULL); Loading Loading
arch/arm/boot/dts/qcom/msm8937-mdss.dtsi +0 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ qcom,mdss-ctl-off = <0x00002000 0x00002200 0x00002400>; qcom,mdss-mixer-intf-off = <0x00045000 0x00046000>; qcom,mdss-mixer-wb-off = <0x00048000>; qcom,mdss-dspp-off = <0x00055000>; qcom,mdss-wb-off = <0x00065000 0x00066000>; qcom,mdss-intf-off = <0x0006B000 0x0006B800 0x0006C000>; Loading
drivers/video/msm/mdss/mdss_mdp.c +39 −11 Original line number Diff line number Diff line Loading @@ -2576,6 +2576,7 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) int rc = 0; u32 *mixer_offsets = NULL, *dspp_offsets = NULL, *pingpong_offsets = NULL; u32 is_virtual_mixer_req = false; struct mdss_data_type *mdata = platform_get_drvdata(pdev); Loading Loading @@ -2630,10 +2631,22 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) if (rc) goto parse_done; if (mdata->nmixers_wb) { rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-mixer-wb-off", mixer_offsets + mdata->nmixers_intf, mdata->nmixers_wb); mixer_offsets + mdata->nmixers_intf, mdata->nmixers_wb); if (rc) goto parse_done; } else { /* * If writeback mixers are not available, put the number of * writeback mixers equal to number of DMA pipes so that * later same number of virtual writeback mixers can be * allocated. */ mdata->nmixers_wb = mdata->ndma_pipes; is_virtual_mixer_req = true; } rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-dspp-off", dspp_offsets, mdata->ndspp); Loading @@ -2651,11 +2664,27 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev) if (rc) goto parse_done; if (mdata->nmixers_wb) { if (is_virtual_mixer_req) { /* * Replicate last interface mixers based on number of * dma pipes available as virtual writeback mixers. */ rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets + mdata->nmixers_intf - mdata->ndma_pipes, NULL, NULL, MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); if (rc) goto parse_done; } else { rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets + mdata->nmixers_intf, NULL, NULL, MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb); if (rc) goto parse_done; } } parse_done: kfree(pingpong_offsets); Loading Loading @@ -2812,8 +2841,7 @@ static int mdss_mdp_parse_dt_wb(struct platform_device *pdev) mdata = platform_get_drvdata(pdev); num_wb_mixer = mdss_mdp_parse_dt_prop_len(pdev, "qcom,mdss-mixer-wb-off"); num_wb_mixer = mdata->nmixers_wb; wfd_data = of_get_property(pdev->dev.of_node, "qcom,mdss-wfd-mode", NULL); Loading