diff mbox series

[v3] soc: qcom: llcc: Enable LLCC_WRCACHE at boot on X1

Message ID 20241219-topic-llcc_x1e_wrcache-v3-1-b9848d9c3d63@oss.qualcomm.com (mailing list archive)
State New
Headers show
Series [v3] soc: qcom: llcc: Enable LLCC_WRCACHE at boot on X1 | expand

Commit Message

Konrad Dybcio Dec. 19, 2024, 6:53 p.m. UTC
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

The Last Level Cache is split into many slices, each one of which can
be toggled on or off.

Only certain slices are recommended to be turned on unconditionally,
in order to reach optimal performance/latency/power levels.

Enable WRCACHE on X1 at boot, in accordance with internal
recommendations.

No significant performance difference is expected.

Fixes: b3cf69a43502 ("soc: qcom: llcc: Add configuration data for X1E80100")
Cc: stable@vger.kernel.org
Reviewed-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
Changes in v3:
- Improve the commit message
- Link to v2: https://lore.kernel.org/r/20241212-topic-llcc_x1e_wrcache-v2-1-e44d3058d06c@oss.qualcomm.com

Changes in v2:
- Cc stable
- Add more context lines
- Pick up r-b
- Link to v1: https://lore.kernel.org/r/20241207-topic-llcc_x1e_wrcache-v1-1-232e6aff49e4@oss.qualcomm.com
---
 drivers/soc/qcom/llcc-qcom.c | 1 +
 1 file changed, 1 insertion(+)


---
base-commit: 3e42dc9229c5950e84b1ed705f94ed75ed208228
change-id: 20241207-topic-llcc_x1e_wrcache-647070e2d130

Best regards,

Comments

Johan Hovold Dec. 20, 2024, 8:15 a.m. UTC | #1
On Thu, Dec 19, 2024 at 07:53:29PM +0100, Konrad Dybcio wrote:
> From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> 
> The Last Level Cache is split into many slices, each one of which can
> be toggled on or off.
> 
> Only certain slices are recommended to be turned on unconditionally,
> in order to reach optimal performance/latency/power levels.
> 
> Enable WRCACHE on X1 at boot, in accordance with internal
> recommendations.

Thanks for the update. Can you say something about what WRCACHE is used
for as well?

> No significant performance difference is expected.

This matches my findings (and it seems the slice has not been left
enabled by the boot firmware).

> Fixes: b3cf69a43502 ("soc: qcom: llcc: Add configuration data for X1E80100")
> Cc: stable@vger.kernel.org
> Reviewed-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>

Johan
diff mbox series

Patch

diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
index 32c3bc887cefb87c296e3ba67a730c87fa2fa346..1560db00a01248197e5c2936e785a5ea77f74ad8 100644
--- a/drivers/soc/qcom/llcc-qcom.c
+++ b/drivers/soc/qcom/llcc-qcom.c
@@ -2997,20 +2997,21 @@  static const struct llcc_slice_config x1e80100_data[] = {
 		.bonus_ways = 0xfff,
 		.cache_mode = 0,
 	}, {
 		.usecase_id = LLCC_WRCACHE,
 		.slice_id = 31,
 		.max_cap = 1024,
 		.priority = 1,
 		.fixed_size = true,
 		.bonus_ways = 0xfff,
 		.cache_mode = 0,
+		.activate_on_init = true,
 	}, {
 		.usecase_id = LLCC_CAMEXP0,
 		.slice_id = 4,
 		.max_cap = 256,
 		.priority = 4,
 		.fixed_size = true,
 		.bonus_ways = 0x3,
 		.cache_mode = 0,
 	}, {
 		.usecase_id = LLCC_CAMEXP1,