* [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs
@ 2025-03-04 22:23 Melody Olvera
2025-03-04 22:23 ` [PATCH v2 1/4] dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block Melody Olvera
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Melody Olvera @ 2025-03-04 22:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Satya Durga Srinivasu Prabhala,
Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel, Melody Olvera,
Conor Dooley
Add documentation and functionality for LLCC v6 used on
the SM8750 SoCs. LLCC v6 rearranges several registers and offsets
and supports slice IDs over 31, so new functionality is necessary
to program and use LLCC v6.
---
Changes in v2:
- moved v6 offsets into cfg struct
- reverse xmas-treed variable declarations & removed unused
- removed unneeded skip_llcc_cfg branch in v6
- updated some macros to use BITS, GENMASK, FIELD_PREP
- moved LLCC_* definitions to appropriate patch
- updated sm8750 slice data struct to match updated standard
- fixed style on dt node
- note: did not add cleanup patch to use bitfields
- Link to v1: https://lore.kernel.org/r/20250113-sm8750_llcc_master-v1-0-5389b92e2d7a@quicinc.com
---
Melody Olvera (4):
dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block
soc: qcom: llcc-qcom: Add support for LLCC V6
soc: qcom: llcc-qcom: Add support for SM8750
arm64: dts: qcom: sm8750: Add LLCC node
.../devicetree/bindings/cache/qcom,llcc.yaml | 2 +
arch/arm64/boot/dts/qcom/sm8750.dtsi | 18 +
drivers/soc/qcom/llcc-qcom.c | 481 ++++++++++++++++++++-
include/linux/soc/qcom/llcc-qcom.h | 8 +
4 files changed, 505 insertions(+), 4 deletions(-)
---
base-commit: 20d5c66e1810e6e8805ec0d01373afb2dba9f51a
change-id: 20250107-sm8750_llcc_master-baa3de44b03b
Best regards,
--
Melody Olvera <quic_molvera@quicinc.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/4] dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block
2025-03-04 22:23 [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs Melody Olvera
@ 2025-03-04 22:23 ` Melody Olvera
2025-03-04 22:23 ` [PATCH v2 2/4] soc: qcom: llcc-qcom: Add support for LLCC V6 Melody Olvera
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Melody Olvera @ 2025-03-04 22:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Satya Durga Srinivasu Prabhala,
Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel, Melody Olvera,
Conor Dooley
Add documentation for the SM8750 LLCC.
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Documentation/devicetree/bindings/cache/qcom,llcc.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/cache/qcom,llcc.yaml b/Documentation/devicetree/bindings/cache/qcom,llcc.yaml
index e5effbb4a606b1ba2d9507b6ca72cd1bdff51344..37e3ebd554874f0fbbb8956a718dcb717ee82155 100644
--- a/Documentation/devicetree/bindings/cache/qcom,llcc.yaml
+++ b/Documentation/devicetree/bindings/cache/qcom,llcc.yaml
@@ -40,6 +40,7 @@ properties:
- qcom,sm8450-llcc
- qcom,sm8550-llcc
- qcom,sm8650-llcc
+ - qcom,sm8750-llcc
- qcom,x1e80100-llcc
reg:
@@ -274,6 +275,7 @@ allOf:
- qcom,sm8450-llcc
- qcom,sm8550-llcc
- qcom,sm8650-llcc
+ - qcom,sm8750-llcc
then:
properties:
reg:
--
2.46.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] soc: qcom: llcc-qcom: Add support for LLCC V6
2025-03-04 22:23 [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs Melody Olvera
2025-03-04 22:23 ` [PATCH v2 1/4] dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block Melody Olvera
@ 2025-03-04 22:23 ` Melody Olvera
2025-03-04 22:23 ` [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750 Melody Olvera
2025-03-04 22:24 ` [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node Melody Olvera
3 siblings, 0 replies; 9+ messages in thread
From: Melody Olvera @ 2025-03-04 22:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Satya Durga Srinivasu Prabhala,
Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel, Melody Olvera
Add support for LLCC V6. V6 adds several additional usecase IDs,
rearrages several registers and offsets, and supports slice IDs
over 31, so add a new function for programming LLCC V6.
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
---
drivers/soc/qcom/llcc-qcom.c | 215 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 211 insertions(+), 4 deletions(-)
diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
index 56823b6a2facc4345265e29b60da24a391e3707d..ae271b112246e50fa6165b92a5562457f23d9e4b 100644
--- a/drivers/soc/qcom/llcc-qcom.c
+++ b/drivers/soc/qcom/llcc-qcom.c
@@ -35,6 +35,9 @@
#define ATTR0_RES_WAYS_MASK GENMASK(15, 0)
#define ATTR0_BONUS_WAYS_MASK GENMASK(31, 16)
#define ATTR0_BONUS_WAYS_SHIFT 16
+#define ATTR2_PROBE_TARGET_WAYS_MASK BIT(4)
+#define ATTR2_FIXED_SIZE_MASK BIT(8)
+#define ATTR2_PRIORITY_MASK GENMASK(14, 12)
#define LLCC_STATUS_READ_DELAY 100
#define CACHE_LINE_SIZE_SHIFT 6
@@ -49,6 +52,10 @@
#define LLCC_TRP_ATTR0_CFGn(n) (0x21000 + SZ_8 * n)
#define LLCC_TRP_ATTR1_CFGn(n) (0x21004 + SZ_8 * n)
#define LLCC_TRP_ATTR2_CFGn(n) (0x21100 + SZ_4 * n)
+#define LLCC_V6_TRP_ATTR0_CFGn(n) (cfg->reg_offset[LLCC_TRP_ATTR0_CFG] + SZ_64 * n)
+#define LLCC_V6_TRP_ATTR1_CFGn(n) (cfg->reg_offset[LLCC_TRP_ATTR1_CFG] + SZ_64 * n)
+#define LLCC_V6_TRP_ATTR2_CFGn(n) (cfg->reg_offset[LLCC_TRP_ATTR2_CFG] + SZ_64 * n)
+#define LLCC_V6_TRP_ATTR3_CFGn(n) (cfg->reg_offset[LLCC_TRP_ATTR3_CFG] + SZ_64 * n)
#define LLCC_TRP_SCID_DIS_CAP_ALLOC 0x21f00
#define LLCC_TRP_PCB_ACT 0x21f04
@@ -66,6 +73,7 @@
#define LLCC_VERSION_2_0_0_0 0x02000000
#define LLCC_VERSION_2_1_0_0 0x02010000
#define LLCC_VERSION_4_1_0_0 0x04010000
+#define LLCC_VERSION_6_0_0_0 0X06000000
/**
* struct llcc_slice_config - Data associated with the llcc slice
@@ -153,6 +161,21 @@ struct qcom_sct_config {
enum llcc_reg_offset {
LLCC_COMMON_HW_INFO,
LLCC_COMMON_STATUS0,
+ LLCC_TRP_ATTR0_CFG,
+ LLCC_TRP_ATTR1_CFG,
+ LLCC_TRP_ATTR2_CFG,
+ LLCC_TRP_ATTR3_CFG,
+ LLCC_TRP_SID_DIS_CAP_ALLOC,
+ LLCC_TRP_ALGO_STALE_EN,
+ LLCC_TRP_ALGO_STALE_CAP_EN,
+ LLCC_TRP_ALGO_MRU0,
+ LLCC_TRP_ALGO_MRU1,
+ LLCC_TRP_ALGO_ALLOC0,
+ LLCC_TRP_ALGO_ALLOC1,
+ LLCC_TRP_ALGO_ALLOC2,
+ LLCC_TRP_ALGO_ALLOC3,
+ LLCC_TRP_WRS_EN,
+ LLCC_TRP_WRS_CACHEABLE_EN,
};
static const struct llcc_slice_config ipq5424_data[] = {
@@ -3161,6 +3184,33 @@ static const struct llcc_edac_reg_offset llcc_v2_1_edac_reg_offset = {
.drp_ecc_db_err_syn0 = 0x52120,
};
+static const struct llcc_edac_reg_offset llcc_v6_edac_reg_offset = {
+ .trp_ecc_error_status0 = 0x47448,
+ .trp_ecc_error_status1 = 0x47450,
+ .trp_ecc_sb_err_syn0 = 0x47490,
+ .trp_ecc_db_err_syn0 = 0x474d0,
+ .trp_ecc_error_cntr_clear = 0x47444,
+ .trp_interrupt_0_status = 0x47600,
+ .trp_interrupt_0_clear = 0x47604,
+ .trp_interrupt_0_enable = 0x47608,
+
+ /* LLCC Common registers */
+ .cmn_status0 = 0x6400c,
+ .cmn_interrupt_0_enable = 0x6401c,
+ .cmn_interrupt_2_enable = 0x6403c,
+
+ /* LLCC DRP registers */
+ .drp_ecc_error_cfg = 0x80000,
+ .drp_ecc_error_cntr_clear = 0x80004,
+ .drp_interrupt_status = 0x80020,
+ .drp_interrupt_clear = 0x80028,
+ .drp_interrupt_enable = 0x8002c,
+ .drp_ecc_error_status0 = 0x820f4,
+ .drp_ecc_error_status1 = 0x820f8,
+ .drp_ecc_sb_err_syn0 = 0x820fc,
+ .drp_ecc_db_err_syn0 = 0x82120,
+};
+
/* LLCC register offset starting from v1.0.0 */
static const u32 llcc_v1_reg_offset[] = {
[LLCC_COMMON_HW_INFO] = 0x00030000,
@@ -3173,6 +3223,27 @@ static const u32 llcc_v2_1_reg_offset[] = {
[LLCC_COMMON_STATUS0] = 0x0003400c,
};
+/* LLCC register offset starting from v6.0.0 */
+static const u32 llcc_v6_reg_offset[] = {
+ [LLCC_COMMON_HW_INFO] = 0x00064000,
+ [LLCC_COMMON_STATUS0] = 0x0006400c,
+ [LLCC_TRP_ATTR0_CFG] = 0x00041000,
+ [LLCC_TRP_ATTR1_CFG] = 0x00041008,
+ [LLCC_TRP_ATTR2_CFG] = 0x00041010,
+ [LLCC_TRP_ATTR3_CFG] = 0x00041014,
+ [LLCC_TRP_SID_DIS_CAP_ALLOC] = 0x00042000,
+ [LLCC_TRP_ALGO_STALE_EN] = 0x00042008,
+ [LLCC_TRP_ALGO_STALE_CAP_EN] = 0x00042010,
+ [LLCC_TRP_ALGO_MRU0] = 0x00042018,
+ [LLCC_TRP_ALGO_MRU1] = 0x00042020,
+ [LLCC_TRP_ALGO_ALLOC0] = 0x00042028,
+ [LLCC_TRP_ALGO_ALLOC1] = 0x00042030,
+ [LLCC_TRP_ALGO_ALLOC2] = 0x00042038,
+ [LLCC_TRP_ALGO_ALLOC3] = 0x00042040,
+ [LLCC_TRP_WRS_EN] = 0x00042080,
+ [LLCC_TRP_WRS_CACHEABLE_EN] = 0x00042088,
+};
+
static const struct qcom_llcc_config qcs615_cfg[] = {
{
.sct_data = qcs615_data,
@@ -3869,6 +3940,134 @@ static int _qcom_llcc_cfg_program(const struct llcc_slice_config *config,
return ret;
}
+static int _qcom_llcc_cfg_program_v6(const struct llcc_slice_config *config,
+ const struct qcom_llcc_config *cfg)
+{
+ u32 stale_en, stale_cap_en, mru_uncap_en, mru_rollover;
+ u32 alloc_oneway_en, ovcap_en, ovcap_prio, vict_prio;
+ u32 attr0_cfg, attr1_cfg, attr2_cfg, attr3_cfg;
+ u32 attr0_val, attr1_val, attr2_val, attr3_val;
+ u32 disable_cap_alloc, wren, wr_cache_en;
+ u32 slice_offset, reg_offset;
+ struct llcc_slice_desc *desc;
+ int ret;
+
+ attr0_cfg = LLCC_V6_TRP_ATTR0_CFGn(config->slice_id);
+ attr1_cfg = LLCC_V6_TRP_ATTR1_CFGn(config->slice_id);
+ attr2_cfg = LLCC_V6_TRP_ATTR2_CFGn(config->slice_id);
+ attr3_cfg = LLCC_V6_TRP_ATTR3_CFGn(config->slice_id);
+
+ attr0_val = config->res_ways;
+ attr1_val = config->bonus_ways;
+ attr2_val = config->cache_mode;
+ attr2_val |= FIELD_PREP(ATTR2_PROBE_TARGET_WAYS_MASK, config->probe_target_ways);
+ attr2_val |= FIELD_PREP(ATTR2_FIXED_SIZE_MASK, config->fixed_size);
+ attr2_val |= FIELD_PREP(ATTR2_PRIORITY_MASK, config->priority);
+
+ attr3_val = MAX_CAP_TO_BYTES(config->max_cap);
+ attr3_val /= drv_data->num_banks;
+ attr3_val >>= CACHE_LINE_SIZE_SHIFT;
+
+ ret = regmap_write(drv_data->bcast_regmap, attr0_cfg, attr0_val);
+ if (ret)
+ return ret;
+
+ ret = regmap_write(drv_data->bcast_regmap, attr1_cfg, attr1_val);
+ if (ret)
+ return ret;
+
+ ret = regmap_write(drv_data->bcast_regmap, attr2_cfg, attr2_val);
+ if (ret)
+ return ret;
+
+ ret = regmap_write(drv_data->bcast_regmap, attr3_cfg, attr3_val);
+ if (ret)
+ return ret;
+
+ slice_offset = config->slice_id % 32;
+ reg_offset = (config->slice_id / 32) * 4;
+
+ wren = config->write_scid_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_WRS_EN] + reg_offset,
+ BIT(slice_offset), wren);
+ if (ret)
+ return ret;
+
+ wr_cache_en = config->write_scid_cacheable_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_WRS_CACHEABLE_EN] + reg_offset,
+ BIT(slice_offset), wr_cache_en);
+ if (ret)
+ return ret;
+
+ stale_en = config->stale_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_STALE_EN] + reg_offset,
+ BIT(slice_offset), stale_en);
+ if (ret)
+ return ret;
+
+ stale_cap_en = config->stale_cap_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_STALE_CAP_EN] + reg_offset,
+ BIT(slice_offset), stale_cap_en);
+ if (ret)
+ return ret;
+
+ mru_uncap_en = config->mru_uncap_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_MRU0] + reg_offset,
+ BIT(slice_offset), mru_uncap_en);
+ if (ret)
+ return ret;
+
+ mru_rollover = config->mru_rollover << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_MRU1] + reg_offset,
+ BIT(slice_offset), mru_rollover);
+ if (ret)
+ return ret;
+
+ alloc_oneway_en = config->alloc_oneway_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_ALLOC0] + reg_offset,
+ BIT(slice_offset), alloc_oneway_en);
+ if (ret)
+ return ret;
+
+ ovcap_en = config->ovcap_en << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_ALLOC1] + reg_offset,
+ BIT(slice_offset), ovcap_en);
+ if (ret)
+ return ret;
+
+ ovcap_prio = config->ovcap_prio << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_ALLOC2] + reg_offset,
+ BIT(slice_offset), ovcap_prio);
+ if (ret)
+ return ret;
+
+ vict_prio = config->vict_prio << slice_offset;
+ ret = regmap_update_bits(drv_data->bcast_regmap,
+ cfg->reg_offset[LLCC_TRP_ALGO_ALLOC3] + reg_offset,
+ BIT(slice_offset), vict_prio);
+ if (ret)
+ return ret;
+
+ if (config->activate_on_init) {
+ desc = llcc_slice_getd(config->usecase_id);
+ if (PTR_ERR_OR_ZERO(desc))
+ return -EINVAL;
+
+ ret = llcc_slice_activate(desc);
+ }
+
+ return ret;
+}
+
static int qcom_llcc_cfg_program(struct platform_device *pdev,
const struct qcom_llcc_config *cfg)
{
@@ -3880,10 +4079,18 @@ static int qcom_llcc_cfg_program(struct platform_device *pdev,
sz = drv_data->cfg_size;
llcc_table = drv_data->cfg;
- for (i = 0; i < sz; i++) {
- ret = _qcom_llcc_cfg_program(&llcc_table[i], cfg);
- if (ret)
- return ret;
+ if (drv_data->version >= LLCC_VERSION_6_0_0_0) {
+ for (i = 0; i < sz; i++) {
+ ret = _qcom_llcc_cfg_program_v6(&llcc_table[i], cfg);
+ if (ret)
+ return ret;
+ }
+ } else {
+ for (i = 0; i < sz; i++) {
+ ret = _qcom_llcc_cfg_program(&llcc_table[i], cfg);
+ if (ret)
+ return ret;
+ }
}
return ret;
--
2.46.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750
2025-03-04 22:23 [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs Melody Olvera
2025-03-04 22:23 ` [PATCH v2 1/4] dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block Melody Olvera
2025-03-04 22:23 ` [PATCH v2 2/4] soc: qcom: llcc-qcom: Add support for LLCC V6 Melody Olvera
@ 2025-03-04 22:23 ` Melody Olvera
2025-03-11 10:17 ` Konrad Dybcio
2025-03-04 22:24 ` [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node Melody Olvera
3 siblings, 1 reply; 9+ messages in thread
From: Melody Olvera @ 2025-03-04 22:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Satya Durga Srinivasu Prabhala,
Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel, Melody Olvera
Add system cache table and configs for SM8750 SoCs.
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
---
drivers/soc/qcom/llcc-qcom.c | 266 +++++++++++++++++++++++++++++++++++++
include/linux/soc/qcom/llcc-qcom.h | 8 ++
2 files changed, 274 insertions(+)
diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
index ae271b112246e50fa6165b92a5562457f23d9e4b..8da3bc16de02d3e0e12a76845748c01d9d8749f2 100644
--- a/drivers/soc/qcom/llcc-qcom.c
+++ b/drivers/soc/qcom/llcc-qcom.c
@@ -2685,6 +2685,256 @@ static const struct llcc_slice_config sm8650_data[] = {
},
};
+static const struct llcc_slice_config sm8750_data[] = {
+ {
+ .usecase_id = LLCC_CPUSS,
+ .slice_id = 1,
+ .max_cap = 5120,
+ .priority = 1,
+ .bonus_ways = 0xffffffff,
+ .activate_on_init = true,
+ .write_scid_en = true,
+ }, {
+ .usecase_id = LLCC_MDMHPFX,
+ .slice_id = 24,
+ .max_cap = 1024,
+ .priority = 5,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_VIDSC0,
+ .slice_id = 2,
+ .max_cap = 512,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_AUDIO,
+ .slice_id = 35,
+ .max_cap = 512,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_MDMHPGRW,
+ .slice_id = 25,
+ .max_cap = 1024,
+ .priority = 5,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_MODHW,
+ .slice_id = 26,
+ .max_cap = 1024,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_CMPT,
+ .slice_id = 34,
+ .max_cap = 4096,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_GPUHTW,
+ .slice_id = 11,
+ .max_cap = 512,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_GPU,
+ .slice_id = 9,
+ .max_cap = 5632,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .write_scid_en = true,
+ .write_scid_cacheable_en = true
+ }, {
+ .usecase_id = LLCC_MMUHWT,
+ .slice_id = 18,
+ .max_cap = 768,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .activate_on_init = true,
+ }, {
+ .usecase_id = LLCC_DISP,
+ .slice_id = 16,
+ .max_cap = 7168,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .cache_mode = 2,
+ .stale_en = true,
+ }, {
+ .usecase_id = LLCC_VIDFW,
+ .slice_id = 17,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_CAMFW,
+ .slice_id = 20,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_MDMPNG,
+ .slice_id = 27,
+ .max_cap = 256,
+ .priority = 5,
+ .fixed_size = true,
+ .bonus_ways = 0xf0000000,
+ }, {
+ .usecase_id = LLCC_AUDHW,
+ .slice_id = 22,
+ .max_cap = 512,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_CVP,
+ .slice_id = 8,
+ .max_cap = 800,
+ .priority = 5,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_MODPE,
+ .slice_id = 29,
+ .max_cap = 256,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xf0000000,
+ .ovcap_prio = true,
+ }, {
+ .usecase_id = LLCC_WRCACHE,
+ .slice_id = 31,
+ .max_cap = 512,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_CVPFW,
+ .slice_id = 19,
+ .max_cap = 64,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_CMPTHCP,
+ .slice_id = 15,
+ .max_cap = 256,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_LCPDARE,
+ .slice_id = 30,
+ .max_cap = 128,
+ .priority = 5,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .activate_on_init = true,
+ .ovcap_prio = true,
+ }, {
+ .usecase_id = LLCC_AENPU,
+ .slice_id = 3,
+ .max_cap = 3072,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .cache_mode = 2,
+ }, {
+ .usecase_id = LLCC_ISLAND1,
+ .slice_id = 12,
+ .max_cap = 7936,
+ .priority = 7,
+ .fixed_size = true,
+ .bonus_ways = 0x7fffffff,
+ }, {
+ .usecase_id = LLCC_DISP_WB,
+ .slice_id = 23,
+ .max_cap = 512,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_VIDVSP,
+ .slice_id = 4,
+ .max_cap = 256,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ }, {
+ .usecase_id = LLCC_VIDDEC,
+ .slice_id = 5,
+ .max_cap = 6144,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .cache_mode = 2,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CAMOFE,
+ .slice_id = 33,
+ .max_cap = 6144,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .mru_uncap_en = true,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CAMRTIP,
+ .slice_id = 13,
+ .max_cap = 1024,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .mru_uncap_en = true,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CAMSRTIP,
+ .slice_id = 14,
+ .max_cap = 6144,
+ .priority = 4,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .mru_uncap_en = true,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CAMRTRF,
+ .slice_id = 7,
+ .max_cap = 3584,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .mru_uncap_en = true,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CAMSRTRF,
+ .slice_id = 21,
+ .max_cap = 6144,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .mru_uncap_en = true,
+ .vict_prio = true,
+ }, {
+ .usecase_id = LLCC_CPUSSMPAM,
+ .slice_id = 6,
+ .max_cap = 2048,
+ .priority = 1,
+ .fixed_size = true,
+ .bonus_ways = 0xffffffff,
+ .activate_on_init = true,
+ .write_scid_en = true,
+ },
+};
+
static const struct llcc_slice_config qcs615_data[] = {
{
.usecase_id = LLCC_CPUSS,
@@ -3450,6 +3700,16 @@ static const struct qcom_llcc_config sm8650_cfg[] = {
},
};
+static const struct qcom_llcc_config sm8750_cfg[] = {
+ {
+ .sct_data = sm8750_data,
+ .size = ARRAY_SIZE(sm8750_data),
+ .skip_llcc_cfg = false,
+ .reg_offset = llcc_v6_reg_offset,
+ .edac_reg_offset = &llcc_v6_edac_reg_offset,
+ },
+};
+
static const struct qcom_llcc_config x1e80100_cfg[] = {
{
.sct_data = x1e80100_data,
@@ -3560,6 +3820,11 @@ static const struct qcom_sct_config sm8650_cfgs = {
.num_config = ARRAY_SIZE(sm8650_cfg),
};
+static const struct qcom_sct_config sm8750_cfgs = {
+ .llcc_config = sm8750_cfg,
+ .num_config = ARRAY_SIZE(sm8750_cfg),
+};
+
static const struct qcom_sct_config x1e80100_cfgs = {
.llcc_config = x1e80100_cfg,
.num_config = ARRAY_SIZE(x1e80100_cfg),
@@ -4309,6 +4574,7 @@ static const struct of_device_id qcom_llcc_of_match[] = {
{ .compatible = "qcom,sm8450-llcc", .data = &sm8450_cfgs },
{ .compatible = "qcom,sm8550-llcc", .data = &sm8550_cfgs },
{ .compatible = "qcom,sm8650-llcc", .data = &sm8650_cfgs },
+ { .compatible = "qcom,sm8750-llcc", .data = &sm8750_cfgs },
{ .compatible = "qcom,x1e80100-llcc", .data = &x1e80100_cfgs },
{ }
};
diff --git a/include/linux/soc/qcom/llcc-qcom.h b/include/linux/soc/qcom/llcc-qcom.h
index 8e5d78fb4847a232ab17a66c2775552dcb287752..7a69210a250c4646b7fd6cf400995e35d3f00493 100644
--- a/include/linux/soc/qcom/llcc-qcom.h
+++ b/include/linux/soc/qcom/llcc-qcom.h
@@ -24,6 +24,7 @@
#define LLCC_CMPTDMA 15
#define LLCC_DISP 16
#define LLCC_VIDFW 17
+#define LLCC_CAMFW 18
#define LLCC_MDMHPFX 20
#define LLCC_MDMPNG 21
#define LLCC_AUDHW 22
@@ -67,6 +68,13 @@
#define LLCC_EVCS_LEFT 67
#define LLCC_EVCS_RIGHT 68
#define LLCC_SPAD 69
+#define LLCC_VIDDEC 70
+#define LLCC_CAMOFE 71
+#define LLCC_CAMRTIP 72
+#define LLCC_CAMSRTIP 73
+#define LLCC_CAMRTRF 74
+#define LLCC_CAMSRTRF 75
+#define LLCC_CPUSSMPAM 89
/**
* struct llcc_slice_desc - Cache slice descriptor
--
2.46.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node
2025-03-04 22:23 [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs Melody Olvera
` (2 preceding siblings ...)
2025-03-04 22:23 ` [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750 Melody Olvera
@ 2025-03-04 22:24 ` Melody Olvera
2025-03-11 10:20 ` Konrad Dybcio
3 siblings, 1 reply; 9+ messages in thread
From: Melody Olvera @ 2025-03-04 22:24 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Satya Durga Srinivasu Prabhala,
Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel, Melody Olvera
Add LLCC node for SM8750 SoC.
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
---
arch/arm64/boot/dts/qcom/sm8750.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index 3bbd7d18598ee0a3a0d5130c03a3166e1fc14d82..a3f9595c496f6f6fcdf430d44fdd465dda4bd39e 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -2888,6 +2888,24 @@ gem_noc: interconnect@24100000 {
#interconnect-cells = <2>;
};
+ system-cache-controller@24800000 {
+ compatible = "qcom,sm8750-llcc";
+ reg = <0x0 0x24800000 0x0 0x200000>,
+ <0x0 0x25800000 0x0 0x200000>,
+ <0x0 0x24c00000 0x0 0x200000>,
+ <0x0 0x25c00000 0x0 0x200000>,
+ <0x0 0x26800000 0x0 0x200000>,
+ <0x0 0x26c00000 0x0 0x200000>;
+ reg-names = "llcc0_base",
+ "llcc1_base",
+ "llcc2_base",
+ "llcc3_base",
+ "llcc_broadcast_base",
+ "llcc_broadcast_and_base";
+
+ interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
nsp_noc: interconnect@320c0000 {
compatible = "qcom,sm8750-nsp-noc";
reg = <0x0 0x320c0000 0x0 0x13080>;
--
2.46.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750
2025-03-04 22:23 ` [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750 Melody Olvera
@ 2025-03-11 10:17 ` Konrad Dybcio
2025-03-12 18:07 ` Melody Olvera
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2025-03-11 10:17 UTC (permalink / raw)
To: Melody Olvera, Bjorn Andersson, Konrad Dybcio, Conor Dooley,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Satya Durga Srinivasu Prabhala, Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel
On 3/4/25 11:23 PM, Melody Olvera wrote:
> Add system cache table and configs for SM8750 SoCs.
>
> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
> ---
[...]
> + .usecase_id = LLCC_MODPE,
> + .slice_id = 29,
> + .max_cap = 256,
> + .priority = 1,
> + .fixed_size = true,
> + .bonus_ways = 0xf0000000,
> + .ovcap_prio = true,
ovcap_prio = false, alloc_oneway_en = true
> + }, {
> + .usecase_id = LLCC_WRCACHE,
> + .slice_id = 31,
> + .max_cap = 512,
> + .priority = 1,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
.activate_on_init = true,
[...]
> + .usecase_id = LLCC_LCPDARE,
> + .slice_id = 30,
> + .max_cap = 128,
> + .priority = 5,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .activate_on_init = true,
> + .ovcap_prio = true,
ovcap_prio = false, alloc_oneway_en = true
[...]
> + .usecase_id = LLCC_VIDVSP,
> + .slice_id = 4,
> + .max_cap = 256,
> + .priority = 4,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + }, {
> + .usecase_id = LLCC_VIDDEC,
> + .slice_id = 5,
> + .max_cap = 6144,
> + .priority = 4,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .cache_mode = 2,
> + .vict_prio = true,
.vict_prio = false, .overcap_prio = true
> + }, {
> + .usecase_id = LLCC_CAMOFE,
> + .slice_id = 33,
> + .max_cap = 6144,
> + .priority = 4,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .mru_uncap_en = true,
> + .vict_prio = true,
.mru_uncap_en = false, stale_en = true
.vict_prio = false, .overcap_prio = true
> + }, {
> + .usecase_id = LLCC_CAMRTIP,
> + .slice_id = 13,
> + .max_cap = 1024,
> + .priority = 4,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .mru_uncap_en = true,
> + .vict_prio = true,
same
> + }, {
> + .usecase_id = LLCC_CAMSRTIP,
> + .slice_id = 14,
> + .max_cap = 6144,
> + .priority = 4,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .mru_uncap_en = true,
> + .vict_prio = true,
same
> + }, {
> + .usecase_id = LLCC_CAMRTRF,
> + .slice_id = 7,
> + .max_cap = 3584,
> + .priority = 1,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .mru_uncap_en = true,
> + .vict_prio = true,
same
> + }, {
> + .usecase_id = LLCC_CAMSRTRF,
> + .slice_id = 21,
> + .max_cap = 6144,
> + .priority = 1,
> + .fixed_size = true,
> + .bonus_ways = 0xffffffff,
> + .mru_uncap_en = true,
> + .vict_prio = true,
same
Apart from that, it looks like there's some sort of grouping / parent-child
relationships involved in this thing - do we need more sw changes for that?
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node
2025-03-04 22:24 ` [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node Melody Olvera
@ 2025-03-11 10:20 ` Konrad Dybcio
2025-03-12 18:07 ` Melody Olvera
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2025-03-11 10:20 UTC (permalink / raw)
To: Melody Olvera, Bjorn Andersson, Konrad Dybcio, Conor Dooley,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Satya Durga Srinivasu Prabhala, Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel
On 3/4/25 11:24 PM, Melody Olvera wrote:
> Add LLCC node for SM8750 SoC.
>
> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/sm8750.dtsi | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
> index 3bbd7d18598ee0a3a0d5130c03a3166e1fc14d82..a3f9595c496f6f6fcdf430d44fdd465dda4bd39e 100644
> --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
> @@ -2888,6 +2888,24 @@ gem_noc: interconnect@24100000 {
> #interconnect-cells = <2>;
> };
>
> + system-cache-controller@24800000 {
> + compatible = "qcom,sm8750-llcc";
> + reg = <0x0 0x24800000 0x0 0x200000>,
> + <0x0 0x25800000 0x0 0x200000>,
> + <0x0 0x24c00000 0x0 0x200000>,
> + <0x0 0x25c00000 0x0 0x200000>,
> + <0x0 0x26800000 0x0 0x200000>,
> + <0x0 0x26c00000 0x0 0x200000>;
Please align the <-s and "s, the data looks good
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750
2025-03-11 10:17 ` Konrad Dybcio
@ 2025-03-12 18:07 ` Melody Olvera
0 siblings, 0 replies; 9+ messages in thread
From: Melody Olvera @ 2025-03-12 18:07 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Conor Dooley,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Satya Durga Srinivasu Prabhala, Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel
On 3/11/2025 3:17 AM, Konrad Dybcio wrote:
> On 3/4/25 11:23 PM, Melody Olvera wrote:
>> Add system cache table and configs for SM8750 SoCs.
>>
>> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
>> ---
> [...]
>
>> + .usecase_id = LLCC_MODPE,
>> + .slice_id = 29,
>> + .max_cap = 256,
>> + .priority = 1,
>> + .fixed_size = true,
>> + .bonus_ways = 0xf0000000,
>> + .ovcap_prio = true,
> ovcap_prio = false, alloc_oneway_en = true
>
>> + }, {
>> + .usecase_id = LLCC_WRCACHE,
>> + .slice_id = 31,
>> + .max_cap = 512,
>> + .priority = 1,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
> .activate_on_init = true,
>
> [...]
>
>> + .usecase_id = LLCC_LCPDARE,
>> + .slice_id = 30,
>> + .max_cap = 128,
>> + .priority = 5,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .activate_on_init = true,
>> + .ovcap_prio = true,
> ovcap_prio = false, alloc_oneway_en = true
>
> [...]
>
>> + .usecase_id = LLCC_VIDVSP,
>> + .slice_id = 4,
>> + .max_cap = 256,
>> + .priority = 4,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + }, {
>> + .usecase_id = LLCC_VIDDEC,
>> + .slice_id = 5,
>> + .max_cap = 6144,
>> + .priority = 4,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .cache_mode = 2,
>> + .vict_prio = true,
> .vict_prio = false, .overcap_prio = true
>
>> + }, {
>> + .usecase_id = LLCC_CAMOFE,
>> + .slice_id = 33,
>> + .max_cap = 6144,
>> + .priority = 4,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .mru_uncap_en = true,
>> + .vict_prio = true,
> .mru_uncap_en = false, stale_en = true
> .vict_prio = false, .overcap_prio = true
>
>> + }, {
>> + .usecase_id = LLCC_CAMRTIP,
>> + .slice_id = 13,
>> + .max_cap = 1024,
>> + .priority = 4,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .mru_uncap_en = true,
>> + .vict_prio = true,
> same
>
>> + }, {
>> + .usecase_id = LLCC_CAMSRTIP,
>> + .slice_id = 14,
>> + .max_cap = 6144,
>> + .priority = 4,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .mru_uncap_en = true,
>> + .vict_prio = true,
> same
>
>> + }, {
>> + .usecase_id = LLCC_CAMRTRF,
>> + .slice_id = 7,
>> + .max_cap = 3584,
>> + .priority = 1,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .mru_uncap_en = true,
>> + .vict_prio = true,
> same
>
>> + }, {
>> + .usecase_id = LLCC_CAMSRTRF,
>> + .slice_id = 21,
>> + .max_cap = 6144,
>> + .priority = 1,
>> + .fixed_size = true,
>> + .bonus_ways = 0xffffffff,
>> + .mru_uncap_en = true,
>> + .vict_prio = true,
> same
Ack for all the above. Looks like I was looking at an outdated data
table unfortunately.
> Apart from that, it looks like there's some sort of grouping / parent-child
> relationships involved in this thing - do we need more sw changes for that?
>
Yes; I originally thought that wasn't relevant for this version but upon
further review it seems
it is. I believe the functionality changes belong in the previous patch
so I'll add them there
and add the relevant data to this patch.
Thanks,
Melody
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node
2025-03-11 10:20 ` Konrad Dybcio
@ 2025-03-12 18:07 ` Melody Olvera
0 siblings, 0 replies; 9+ messages in thread
From: Melody Olvera @ 2025-03-12 18:07 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Conor Dooley,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Satya Durga Srinivasu Prabhala, Trilok Soni
Cc: linux-arm-msm, devicetree, linux-kernel
On 3/11/2025 3:20 AM, Konrad Dybcio wrote:
> On 3/4/25 11:24 PM, Melody Olvera wrote:
>> Add LLCC node for SM8750 SoC.
>>
>> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/sm8750.dtsi | 18 ++++++++++++++++++
>> 1 file changed, 18 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> index 3bbd7d18598ee0a3a0d5130c03a3166e1fc14d82..a3f9595c496f6f6fcdf430d44fdd465dda4bd39e 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> @@ -2888,6 +2888,24 @@ gem_noc: interconnect@24100000 {
>> #interconnect-cells = <2>;
>> };
>>
>> + system-cache-controller@24800000 {
>> + compatible = "qcom,sm8750-llcc";
>> + reg = <0x0 0x24800000 0x0 0x200000>,
>> + <0x0 0x25800000 0x0 0x200000>,
>> + <0x0 0x24c00000 0x0 0x200000>,
>> + <0x0 0x25c00000 0x0 0x200000>,
>> + <0x0 0x26800000 0x0 0x200000>,
>> + <0x0 0x26c00000 0x0 0x200000>;
> Please align the <-s and "s, the data looks good
Ack.
Thanks,
Melody
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-03-12 18:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-04 22:23 [PATCH v2 0/4] Introduce LLCC v6 used on the SM8750 SoCs Melody Olvera
2025-03-04 22:23 ` [PATCH v2 1/4] dt-bindings: cache: qcom,llcc: Document SM8750 LLCC block Melody Olvera
2025-03-04 22:23 ` [PATCH v2 2/4] soc: qcom: llcc-qcom: Add support for LLCC V6 Melody Olvera
2025-03-04 22:23 ` [PATCH v2 3/4] soc: qcom: llcc-qcom: Add support for SM8750 Melody Olvera
2025-03-11 10:17 ` Konrad Dybcio
2025-03-12 18:07 ` Melody Olvera
2025-03-04 22:24 ` [PATCH v2 4/4] arm64: dts: qcom: sm8750: Add LLCC node Melody Olvera
2025-03-11 10:20 ` Konrad Dybcio
2025-03-12 18:07 ` Melody Olvera
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox