Loading drivers/platform/msm/qcom-geni-se.c +13 −4 Original line number Diff line number Diff line Loading @@ -79,6 +79,8 @@ struct bus_vectors { * @num_usecases: One usecase to vote for both QUPv3 clock and DDR paths. * @pdata: To register our client handle with the ICB driver. * @update: Usecase index for icb voting. * @vote_for_bw: To check if we have to vote for BW or BCM threashold in ab/ib ICB voting. */ struct geni_se_device { struct device *dev; Loading Loading @@ -114,6 +116,7 @@ struct geni_se_device { int num_usecases; struct msm_bus_scale_pdata *pdata; int update; bool vote_for_bw; }; /* Offset of QUPV3 Hardware Version Register */ Loading Loading @@ -736,9 +739,11 @@ static int geni_se_rmv_ab_ib(struct geni_se_device *geni_se_dev, if (geni_se_dev->num_paths == 2) { geni_se_dev->pdata->usecase[new_update].vectors[0].ab = CONV_TO_BW(geni_se_dev->cur_ab); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ab) : geni_se_dev->cur_ab; geni_se_dev->pdata->usecase[new_update].vectors[0].ib = CONV_TO_BW(geni_se_dev->cur_ib); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ib) : geni_se_dev->cur_ib; } if (bus_bw_update && geni_se_dev->num_paths != 2) Loading Loading @@ -887,9 +892,11 @@ static int geni_se_add_ab_ib(struct geni_se_device *geni_se_dev, if (geni_se_dev->num_paths == 2) { geni_se_dev->pdata->usecase[new_update].vectors[0].ab = CONV_TO_BW(geni_se_dev->cur_ab); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ab) : geni_se_dev->cur_ab; geni_se_dev->pdata->usecase[new_update].vectors[0].ib = CONV_TO_BW(geni_se_dev->cur_ib); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ib) : geni_se_dev->cur_ib; } if (bus_bw_update && geni_se_dev->num_paths != 2) Loading Loading @@ -1803,6 +1810,8 @@ static int geni_se_probe(struct platform_device *pdev) } } geni_se_dev->vote_for_bw = of_property_read_bool(dev->of_node, "qcom,vote-for-bw"); geni_se_dev->iommu_s1_bypass = of_property_read_bool(dev->of_node, "qcom,iommu-s1-bypass"); geni_se_dev->bus_bw_set = default_bus_bw_set; Loading Loading
drivers/platform/msm/qcom-geni-se.c +13 −4 Original line number Diff line number Diff line Loading @@ -79,6 +79,8 @@ struct bus_vectors { * @num_usecases: One usecase to vote for both QUPv3 clock and DDR paths. * @pdata: To register our client handle with the ICB driver. * @update: Usecase index for icb voting. * @vote_for_bw: To check if we have to vote for BW or BCM threashold in ab/ib ICB voting. */ struct geni_se_device { struct device *dev; Loading Loading @@ -114,6 +116,7 @@ struct geni_se_device { int num_usecases; struct msm_bus_scale_pdata *pdata; int update; bool vote_for_bw; }; /* Offset of QUPV3 Hardware Version Register */ Loading Loading @@ -736,9 +739,11 @@ static int geni_se_rmv_ab_ib(struct geni_se_device *geni_se_dev, if (geni_se_dev->num_paths == 2) { geni_se_dev->pdata->usecase[new_update].vectors[0].ab = CONV_TO_BW(geni_se_dev->cur_ab); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ab) : geni_se_dev->cur_ab; geni_se_dev->pdata->usecase[new_update].vectors[0].ib = CONV_TO_BW(geni_se_dev->cur_ib); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ib) : geni_se_dev->cur_ib; } if (bus_bw_update && geni_se_dev->num_paths != 2) Loading Loading @@ -887,9 +892,11 @@ static int geni_se_add_ab_ib(struct geni_se_device *geni_se_dev, if (geni_se_dev->num_paths == 2) { geni_se_dev->pdata->usecase[new_update].vectors[0].ab = CONV_TO_BW(geni_se_dev->cur_ab); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ab) : geni_se_dev->cur_ab; geni_se_dev->pdata->usecase[new_update].vectors[0].ib = CONV_TO_BW(geni_se_dev->cur_ib); geni_se_dev->vote_for_bw ? CONV_TO_BW(geni_se_dev->cur_ib) : geni_se_dev->cur_ib; } if (bus_bw_update && geni_se_dev->num_paths != 2) Loading Loading @@ -1803,6 +1810,8 @@ static int geni_se_probe(struct platform_device *pdev) } } geni_se_dev->vote_for_bw = of_property_read_bool(dev->of_node, "qcom,vote-for-bw"); geni_se_dev->iommu_s1_bypass = of_property_read_bool(dev->of_node, "qcom,iommu-s1-bypass"); geni_se_dev->bus_bw_set = default_bus_bw_set; Loading