Message ID | 20220901124730.19460-3-quic_rjendra@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | soc: qcom: icc-bwmon: Add support for llcc and cpu bwmon on sc7280 | expand |
On 01/09/2022 15:47, Rajendra Nayak wrote: > Add support for sc7280 BWMON instance measuring traffic between LLCC and > memory with the v5 register layout. > > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > --- > drivers/soc/qcom/icc-bwmon.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c > index 47c2c3e7bb3f..44a10009b45e 100644 > --- a/drivers/soc/qcom/icc-bwmon.c > +++ b/drivers/soc/qcom/icc-bwmon.c > @@ -656,6 +656,18 @@ static const struct icc_bwmon_data sdm845_llcc_bwmon_data = { > .regmap_cfg = &sdm845_llcc_bwmon_regmap_cfg, > }; > > +static const struct icc_bwmon_data sc7280_llcc_bwmon_data = { > + .sample_ms = 4, > + .count_unit_kb = 64, This makes me wonder if I put correct count unit for SDM845 LLCC... Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 9/1/2022 8:57 PM, Krzysztof Kozlowski wrote: > On 01/09/2022 15:47, Rajendra Nayak wrote: >> Add support for sc7280 BWMON instance measuring traffic between LLCC and >> memory with the v5 register layout. >> >> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >> --- >> drivers/soc/qcom/icc-bwmon.c | 15 +++++++++++++++ >> 1 file changed, 15 insertions(+) >> >> diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c >> index 47c2c3e7bb3f..44a10009b45e 100644 >> --- a/drivers/soc/qcom/icc-bwmon.c >> +++ b/drivers/soc/qcom/icc-bwmon.c >> @@ -656,6 +656,18 @@ static const struct icc_bwmon_data sdm845_llcc_bwmon_data = { >> .regmap_cfg = &sdm845_llcc_bwmon_regmap_cfg, >> }; >> >> +static const struct icc_bwmon_data sc7280_llcc_bwmon_data = { >> + .sample_ms = 4, >> + .count_unit_kb = 64, > > This makes me wonder if I put correct count unit for SDM845 LLCC... These numbers seem to vary from SoC to SoC, I looked up the sdm845.dtsi from the CAF kernels [1] and it seems like it should be 4096 instead of 1024? [1] https://source.codeaurora.org/quic/la/kernel/msm-4.9/tree/arch/arm64/boot/dts/qcom/sdm845.dtsi > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > Best regards, > Krzysztof
On 02/09/2022 06:04, Rajendra Nayak wrote: > > > On 9/1/2022 8:57 PM, Krzysztof Kozlowski wrote: >> On 01/09/2022 15:47, Rajendra Nayak wrote: >>> Add support for sc7280 BWMON instance measuring traffic between LLCC and >>> memory with the v5 register layout. >>> >>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >>> --- >>> drivers/soc/qcom/icc-bwmon.c | 15 +++++++++++++++ >>> 1 file changed, 15 insertions(+) >>> >>> diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c >>> index 47c2c3e7bb3f..44a10009b45e 100644 >>> --- a/drivers/soc/qcom/icc-bwmon.c >>> +++ b/drivers/soc/qcom/icc-bwmon.c >>> @@ -656,6 +656,18 @@ static const struct icc_bwmon_data sdm845_llcc_bwmon_data = { >>> .regmap_cfg = &sdm845_llcc_bwmon_regmap_cfg, >>> }; >>> >>> +static const struct icc_bwmon_data sc7280_llcc_bwmon_data = { >>> + .sample_ms = 4, >>> + .count_unit_kb = 64, >> >> This makes me wonder if I put correct count unit for SDM845 LLCC... > > These numbers seem to vary from SoC to SoC, Hm, then it is probably ok. > I looked up the sdm845.dtsi from > the CAF kernels [1] and it seems like it should be 4096 instead of 1024? The SDM845 v2 DTSI was saying 64 kB for CPU bwmon and indeed 4 MB for LLCC. I think I took 1 MB from default value from the msm-4.9 driver and it matched my measurements. I need to test it again and maybe fix it to 4 MB. Best regards, Krzysztof
diff --git a/drivers/soc/qcom/icc-bwmon.c b/drivers/soc/qcom/icc-bwmon.c index 47c2c3e7bb3f..44a10009b45e 100644 --- a/drivers/soc/qcom/icc-bwmon.c +++ b/drivers/soc/qcom/icc-bwmon.c @@ -656,6 +656,18 @@ static const struct icc_bwmon_data sdm845_llcc_bwmon_data = { .regmap_cfg = &sdm845_llcc_bwmon_regmap_cfg, }; +static const struct icc_bwmon_data sc7280_llcc_bwmon_data = { + .sample_ms = 4, + .count_unit_kb = 64, + .default_highbw_kbps = 800 * 1024, /* 800 MBps */ + .default_medbw_kbps = 256 * 1024, /* 256 MBps */ + .default_lowbw_kbps = 0, + .zone1_thres_count = 16, + .zone3_thres_count = 1, + .regmap_fields = sdm845_llcc_bwmon_reg_fields, + .regmap_cfg = &sdm845_llcc_bwmon_regmap_cfg, +}; + static const struct of_device_id bwmon_of_match[] = { { .compatible = "qcom,msm8998-bwmon", @@ -663,6 +675,9 @@ static const struct of_device_id bwmon_of_match[] = { }, { .compatible = "qcom,sdm845-llcc-bwmon", .data = &sdm845_llcc_bwmon_data + }, { + .compatible = "qcom,sc7280-llcc-bwmon", + .data = &sc7280_llcc_bwmon_data }, {} };
Add support for sc7280 BWMON instance measuring traffic between LLCC and memory with the v5 register layout. Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> --- drivers/soc/qcom/icc-bwmon.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)