diff options
| author | Dhaval Patel <pdhaval@codeaurora.org> | 2015-02-03 11:57:51 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:37:48 -0700 |
| commit | 5a64010c84d41cbb0fd48c73254767a8592dd71d (patch) | |
| tree | 3f86a0b27f577f03ae24f0ae65849ffb2546b2d8 | |
| parent | f79792db8e6c501cac09a2f620e9ad7b3bcc06f2 (diff) | |
msm: mdss: fix rt bus path configuration
Num of bus path configuraiton represents the RT and
NRT paths. Fix the realtime paths calculation.
Change-Id: I5b3657d51e60bcfeb51cbbc220e121a2a4dc4d84
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
| -rw-r--r-- | Documentation/devicetree/bindings/fb/mdss-mdp.txt | 3 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp.c | 14 |
2 files changed, 13 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/fb/mdss-mdp.txt b/Documentation/devicetree/bindings/fb/mdss-mdp.txt index 424944d6aee2..19549d1cb0bd 100644 --- a/Documentation/devicetree/bindings/fb/mdss-mdp.txt +++ b/Documentation/devicetree/bindings/fb/mdss-mdp.txt @@ -160,7 +160,8 @@ Bus Scaling Data: - qcom,msm-bus,num-paths: This represents the number of paths in each Bus Scaling Usecase. This value depends on how many number of AXI master ports are - dedicated to MDSS for particular chipset. + dedicated to MDSS for particular chipset. This + value represents the RT + NRT AXI master ports. - qcom,msm-bus,vectors-KBps: * A series of 4 cell properties, with a format of (src, dst, ab, ib) which is defined at Documentation/devicetree/bindings/arm/msm/msm_bus.txt diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c index 5219166dae99..d6213583cff6 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.c +++ b/drivers/video/fbdev/msm/mdss_mdp.c @@ -2805,11 +2805,11 @@ static int mdss_mdp_parse_dt_ppb_off(struct platform_device *pdev) static int mdss_mdp_parse_dt_bus_scale(struct platform_device *pdev) { - int rc; + int rc, paths; struct mdss_data_type *mdata = platform_get_drvdata(pdev); - rc = of_property_read_u32(pdev->dev.of_node, "qcom,msm-bus,num-paths", - &mdata->axi_port_cnt); + rc = of_property_read_u32(pdev->dev.of_node, + "qcom,msm-bus,num-paths", &paths); if (rc) { pr_err("Error. qcom,msm-bus,num-paths prop not found.rc=%d\n", rc); @@ -2826,6 +2826,14 @@ static int mdss_mdp_parse_dt_bus_scale(struct platform_device *pdev) rc = 0; } + if (paths > mdata->nrt_axi_port_cnt) { + mdata->axi_port_cnt = paths - mdata->nrt_axi_port_cnt; + } else { + pr_err("invalid real time path config, total ports:%d, nrt ports:%d\n", + paths, mdata->nrt_axi_port_cnt); + return -EINVAL; + } + mdata->bus_scale_table = msm_bus_cl_get_pdata(pdev); if (IS_ERR_OR_NULL(mdata->bus_scale_table)) { rc = PTR_ERR(mdata->bus_scale_table); |
