From nobody Sat Nov 30 07:49:34 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C0FC6A01E; Tue, 10 Sep 2024 15:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725980524; cv=none; b=S3XTikGN3MEs5pRpEwRK1Ja6AA0kMJ+vEX8nKxCTbMU6hJZb2Ybm4yGDRAYX84zlsM8WaiWKHV1XUugHiexea20lnTg2xbo+gJiDIeKChWcg6P27wa6bkMfB2nNi20qvsndOXoBOqRN5JkpYCCuvDHNT5xBMlqcKShN1wZtdXCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725980524; c=relaxed/simple; bh=ezXTxnkn7KySp/HXiIq/y/rpp+6j0TLYB+fVTIDL6+A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=J08hfQGNGehJN5O3g8CdsPxZBELGYieq5Z5P6H8qvZmGeaW4l6A5coN3Hrcf37o7S0HT12NjKkvxRP+EqUgrMjMgh30IwacAJOVe+oD4ksjL8kvKFRuHGpUW/zZTiQmqnOLwIEjwUHpe9wcQGkWtbU4LfNNMkpm+u/3p6DMWAwA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FqKAttWo; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FqKAttWo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D08FDC4CEC3; Tue, 10 Sep 2024 15:02:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1725980523; bh=ezXTxnkn7KySp/HXiIq/y/rpp+6j0TLYB+fVTIDL6+A=; h=From:Date:Subject:To:Cc:From; b=FqKAttWoSrpmbFV+m4IxGAtBxK4596favRxr2HshT3U+syhU99ZE12mh5WltnhZ/j e+R5qT0YCqMGuNgxb0oKpQbJWGrtu2vjdNJjtmH7BE6KBHiaQbFFAtnEEIzLxm9mUi udtW+eQLqggUnNW1OSxbvk0Q0Y4lvDPCUJ0MeeiOkjaNnI2PfyW7N2vV9TPkhw/9Jf RBcGNEY0ghx0hk5aERoETzw/m3Ikf0Z3UIoA6FBEGTzr5YxUvh8Rp4b93KNV1iyHEe oPuxWqFI7HkUovzji2tm+6PnTlRdY23NTevh+mnrYO/5zk4/HqqQhgwtackF6NfZJo zHV04MMqxNYcA== From: Konrad Dybcio Date: Tue, 10 Sep 2024 17:01:39 +0200 Subject: [PATCH RFC v2] soc: qcom: llcc: Use designated initializers for LLC settings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240910-topic-llcc_unwrap-v2-1-f0487c983373@quicinc.com> X-B4-Tracking: v=1; b=H4sIAFJf4GYC/32NQQ7CIBREr9L8tZhCsdiuvIdpDPmi/UkFhBY1D XcXewCXbzLzZoVoApkIfbVCMIkiOVtA7CrAUdu7YXQtDKIWsu5qxWbnCdk0IV4W+wraMy3UsdV SlEIDZeeDudF7c56HwiPF2YXPdpH4L/1nS5xxhthK1Wl+0NicngshWdyje8CQc/4CGQCAM7QAA AA= To: Bjorn Andersson , Konrad Dybcio Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1725980520; l=74043; i=quic_kdybcio@quicinc.com; s=20230215; h=from:subject:message-id; bh=+M5pfUmwgMyElUxfkUZ7m4EJs4Ft0BqtvUzdA4MjDW4=; b=PpiqkhZh/3YV6koRqcC0fFneMHJ+jKyrBIDLV2RTHz2YpHF0WjUtCCV8vbGKLaE16IqJj59zM fT/3bfGVHNqDdoAIR2XIQTimSzja0ChRwSeMVs/H76SC3dyy0tF9w2X X-Developer-Key: i=quic_kdybcio@quicinc.com; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= From: Konrad Dybcio The current way of storing the configuration is very much unmaintainable. Convert the data to use designated initializers to make it easier both to understand and add/update the slice configuration data. Signed-off-by: Konrad Dybcio Reviewed-by: Dmitry Baryshkov --- I put this as RFC, since this makes the file gia-nor-mous.. However, I don't think it's feasible to try and update these values based on available information if the developer needs to count commas in the C89 notation.. --- Changes in v2: - Drop parameters that default to =3D 0 / =3D false (except .cache_mode, TB= D) - Fix up 8150 GPUHTW being out of style - Trim leading zeroes in hex, make all hex uniformly lowercase - Link to v1: https://lore.kernel.org/r/20240907-topic-llcc_unwrap-v1-1-cc6= 479a15ac3@quicinc.com --- drivers/soc/qcom/llcc-qcom.c | 2644 +++++++++++++++++++++++++++++++++++++-= ---- 1 file changed, 2375 insertions(+), 269 deletions(-) diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c index 8fa4ffd3a9b5..5ac79baab73f 100644 --- a/drivers/soc/qcom/llcc-qcom.c +++ b/drivers/soc/qcom/llcc-qcom.c @@ -152,325 +152,2431 @@ enum llcc_reg_offset { }; =20 static const struct llcc_slice_config sa8775p_data[] =3D { - {LLCC_CPUSS, 1, 2048, 1, 0, 0x00FF, 0x0, 0, 0, 0, 1, 1, 0, 0}, - {LLCC_VIDSC0, 2, 512, 3, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_CPUSS1, 3, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_CPUHWT, 5, 512, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_AUDIO, 6, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CMPT, 10, 4096, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_GPUHTW, 11, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_GPU, 12, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 1, 0}, - {LLCC_MMUHWT, 13, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 0, 1, 0, 0}, - {LLCC_CMPTDMA, 15, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_DISP, 16, 4096, 2, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_VIDFW, 17, 3072, 1, 0, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_AUDHW, 22, 1024, 1, 1, 0x00FF, 0x0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CVP, 28, 256, 3, 1, 0x00FF, 0x0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0xF0, 1, 0, 0, 1, 0, 0, 0}, - {LLCC_WRCACHE, 31, 512, 1, 1, 0x00FF, 0x0, 0, 0, 0, 0, 1, 0, 0}, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 2048, + .priority =3D 1, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUSS1, + .slice_id =3D 3, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUHWT, + .slice_id =3D 5, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 4096, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPTDMA, + .slice_id =3D 15, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 4096, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDFW, + .slice_id =3D 17, + .max_cap =3D 3072, + .priority =3D 1, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 28, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0xf0, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config sc7180_data[] =3D { - { LLCC_CPUSS, 1, 256, 1, 0, 0xf, 0x0, 0, 0, 0, 1, 1 }, - { LLCC_MDM, 8, 128, 1, 0, 0xf, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW, 11, 128, 1, 0, 0xf, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 128, 1, 0, 0xf, 0x0, 0, 0, 0, 1, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 256, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 128, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 128, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 128, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, }; =20 static const struct llcc_slice_config sc7280_data[] =3D { - { LLCC_CPUSS, 1, 768, 1, 0, 0x3f, 0x0, 0, 0, 0, 1, 1, 0}, - { LLCC_MDMHPGRW, 7, 512, 2, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_CMPT, 10, 768, 1, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_GPUHTW, 11, 256, 1, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_GPU, 12, 512, 1, 0, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_MMUHWT, 13, 256, 1, 1, 0x3f, 0x0, 0, 0, 0, 0, 1, 0}, - { LLCC_MDMPNG, 21, 768, 0, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_WLHW, 24, 256, 1, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, - { LLCC_MODPE, 29, 64, 1, 1, 0x3f, 0x0, 0, 0, 0, 1, 0, 0}, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 768, + .priority =3D 1, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 768, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 768, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WLHW, + .slice_id =3D 24, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 64, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3f, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, }; =20 static const struct llcc_slice_config sc8180x_data[] =3D { - { LLCC_CPUSS, 1, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 1 }, - { LLCC_VIDSC0, 2, 512, 2, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_VIDSC1, 3, 512, 2, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_AUDIO, 6, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMHPGRW, 7, 3072, 1, 1, 0x3ff, 0xc00, 0, 0, 0, 1, 0 }, - { LLCC_MDM, 8, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MODHW, 9, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_CMPT, 10, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW, 11, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 5120, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MMUHWT, 13, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1 }, - { LLCC_CMPTDMA, 15, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_DISP, 16, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_VIDFW, 17, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMHPFX, 20, 1024, 2, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMPNG, 21, 1024, 0, 1, 0xc, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_AUDHW, 22, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_NPU, 23, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_WLHW, 24, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MODPE, 29, 512, 1, 1, 0xc, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_APTCM, 30, 512, 3, 1, 0x0, 0x1, 1, 0, 0, 1, 0 }, - { LLCC_WRCACHE, 31, 128, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDSC1, + .slice_id =3D 3, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3ff, + .res_ways =3D 0xc00, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 5120, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPTDMA, + .slice_id =3D 15, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDFW, + .slice_id =3D 17, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPFX, + .slice_id =3D 20, + .max_cap =3D 1024, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0xc, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_NPU, + .slice_id =3D 23, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WLHW, + .slice_id =3D 24, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xc, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0x1, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 128, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, }; =20 static const struct llcc_slice_config sc8280xp_data[] =3D { - { LLCC_CPUSS, 1, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 1, 0 }, - { LLCC_VIDSC0, 2, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_AUDIO, 6, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 0 }, - { LLCC_CMPT, 10, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 0 }, - { LLCC_GPUHTW, 11, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_GPU, 12, 4096, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 1 }, - { LLCC_MMUHWT, 13, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_DISP, 16, 6144, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_AUDHW, 22, 2048, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_ECC, 26, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_CVP, 28, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0x1, 1, 0, 0, 1, 0, 0 }, - { LLCC_WRCACHE, 31, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CVPFW, 17, 512, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_CPUSS1, 3, 2048, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_CPUHWT, 5, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 4096, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 2048, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_ECC, + .slice_id =3D 26, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 28, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0x1, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CVPFW, + .slice_id =3D 17, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUSS1, + .slice_id =3D 3, + .max_cap =3D 2048, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUHWT, + .slice_id =3D 5, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 -static const struct llcc_slice_config sdm845_data[] =3D { - { LLCC_CPUSS, 1, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 1 }, - { LLCC_VIDSC0, 2, 512, 2, 1, 0x0, 0x0f0, 0, 0, 1, 1, 0 }, - { LLCC_VIDSC1, 3, 512, 2, 1, 0x0, 0x0f0, 0, 0, 1, 1, 0 }, - { LLCC_ROTATOR, 4, 563, 2, 1, 0x0, 0x00e, 2, 0, 1, 1, 0 }, - { LLCC_VOICE, 5, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_AUDIO, 6, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_MDMHPGRW, 7, 1024, 2, 0, 0xfc, 0xf00, 0, 0, 1, 1, 0 }, - { LLCC_MDM, 8, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_CMPT, 10, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_GPUHTW, 11, 512, 1, 1, 0xc, 0x0, 0, 0, 1, 1, 0 }, - { LLCC_GPU, 12, 2304, 1, 0, 0xff0, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_MMUHWT, 13, 256, 2, 0, 0x0, 0x1, 0, 0, 1, 0, 1 }, - { LLCC_CMPTDMA, 15, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_DISP, 16, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_VIDFW, 17, 2816, 1, 0, 0xffc, 0x2, 0, 0, 1, 1, 0 }, - { LLCC_MDMHPFX, 20, 1024, 2, 1, 0x0, 0xf00, 0, 0, 1, 1, 0 }, - { LLCC_MDMPNG, 21, 1024, 0, 1, 0x1e, 0x0, 0, 0, 1, 1, 0 }, - { LLCC_AUDHW, 22, 1024, 1, 1, 0xffc, 0x2, 0, 0, 1, 1, 0 }, +static const struct llcc_slice_config sdm845_data[] =3D {{ + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .res_ways =3D 0xf0, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDSC1, + .slice_id =3D 3, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .res_ways =3D 0xf0, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_ROTATOR, + .slice_id =3D 4, + .max_cap =3D 563, + .priority =3D 2, + .fixed_size =3D true, + .res_ways =3D 0xe, + .cache_mode =3D 2, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VOICE, + .slice_id =3D 5, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 1024, + .priority =3D 2, + .bonus_ways =3D 0xfc, + .res_ways =3D 0xf00, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xc, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 2304, + .priority =3D 1, + .bonus_ways =3D 0xff0, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 256, + .priority =3D 2, + .res_ways =3D 0x1, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPTDMA, + .slice_id =3D 15, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDFW, + .slice_id =3D 17, + .max_cap =3D 2816, + .priority =3D 1, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPFX, + .slice_id =3D 20, + .max_cap =3D 1024, + .priority =3D 2, + .fixed_size =3D true, + .res_ways =3D 0xf00, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0x1e, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .res_ways =3D 0x2, + .cache_mode =3D 0, + .dis_cap_alloc =3D true, + .retain_on_pc =3D true, + }, }; =20 static const struct llcc_slice_config sm6350_data[] =3D { - { LLCC_CPUSS, 1, 768, 1, 0, 0xFFF, 0x0, 0, 0, 0, 0, 1, 1 }, - { LLCC_MDM, 8, 512, 2, 0, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW, 11, 256, 1, 0, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 512, 1, 0, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_MDMPNG, 21, 768, 0, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_NPU, 23, 768, 1, 0, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_MODPE, 29, 64, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 768, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 512, + .priority =3D 2, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 256, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 768, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_NPU, + .slice_id =3D 23, + .max_cap =3D 768, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 64, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config sm7150_data[] =3D { - { LLCC_CPUSS, 1, 512, 1, 0, 0xF, 0x0, 0, 0, 0, 1, 1 }, - { LLCC_MDM, 8, 128, 2, 0, 0xF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW, 11, 256, 1, 1, 0xF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 256, 1, 1, 0xF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_NPU, 23, 512, 1, 0, 0xF, 0x0, 0, 0, 0, 1, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 128, + .priority =3D 2, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_NPU, + .slice_id =3D 23, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, }; =20 static const struct llcc_slice_config sm8150_data[] =3D { - { LLCC_CPUSS, 1, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 1 }, - { LLCC_VIDSC0, 2, 512, 2, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_VIDSC1, 3, 512, 2, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_AUDIO, 6, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMHPGRW, 7, 3072, 1, 0, 0xFF, 0xF00, 0, 0, 0, 1, 0 }, - { LLCC_MDM, 8, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MODHW, 9, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_CMPT, 10, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW , 11, 512, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 2560, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MMUHWT, 13, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1 }, - { LLCC_CMPTDMA, 15, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_DISP, 16, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMHPFX, 20, 1024, 2, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MDMHPFX, 21, 1024, 0, 1, 0xF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_AUDHW, 22, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_NPU, 23, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_WLHW, 24, 3072, 1, 1, 0xFFF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_MODPE, 29, 256, 1, 1, 0xF, 0x0, 0, 0, 0, 1, 0 }, - { LLCC_APTCM, 30, 256, 3, 1, 0x0, 0x1, 1, 0, 0, 1, 0 }, - { LLCC_WRCACHE, 31, 128, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDSC1, + .slice_id =3D 3, + .max_cap =3D 512, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 3072, + .priority =3D 1, + .bonus_ways =3D 0xff, + .res_ways =3D 0xf00, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDM, + .slice_id =3D 8, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 2560, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPTDMA, + .slice_id =3D 15, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPFX, + .slice_id =3D 20, + .max_cap =3D 1024, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMHPFX, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_NPU, + .slice_id =3D 23, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WLHW, + .slice_id =3D 24, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0x1, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 128, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, }; =20 static const struct llcc_slice_config sm8250_data[] =3D { - { LLCC_CPUSS, 1, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 1, 0 }, - { LLCC_VIDSC0, 2, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_AUDIO, 6, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 0, 0, 0 }, - { LLCC_CMPT, 10, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 0, 0, 0 }, - { LLCC_GPUHTW, 11, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_GPU, 12, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 1 }, - { LLCC_MMUHWT, 13, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CMPTDMA, 15, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_DISP, 16, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_VIDFW, 17, 512, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_AUDHW, 22, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_NPU, 23, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_WLHW, 24, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_CVP, 28, 256, 3, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0 }, - { LLCC_APTCM, 30, 128, 3, 0, 0x0, 0x3, 1, 0, 0, 1, 0, 0 }, - { LLCC_WRCACHE, 31, 256, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPTDMA, + .slice_id =3D 15, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_VIDFW, + .slice_id =3D 17, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_NPU, + .slice_id =3D 23, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WLHW, + .slice_id =3D 24, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 28, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 128, + .priority =3D 3, + .res_ways =3D 0x3, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config sm8350_data[] =3D { - { LLCC_CPUSS, 1, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 1 }, - { LLCC_VIDSC0, 2, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_AUDIO, 6, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 0 }, - { LLCC_MDMHPGRW, 7, 1024, 3, 0, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_MODHW, 9, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CMPT, 10, 3072, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_GPUHTW, 11, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_GPU, 12, 1024, 1, 0, 0xfff, 0x0, 0, 0, 0, 1, 1, 0 }, - { LLCC_MMUHWT, 13, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 1 }, - { LLCC_DISP, 16, 3072, 2, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_MDMPNG, 21, 1024, 0, 1, 0xf, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_AUDHW, 22, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CVP, 28, 512, 3, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_MODPE, 29, 256, 1, 1, 0xf, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0x1, 1, 0, 0, 0, 1, 0 }, - { LLCC_WRCACHE, 31, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 1 }, - { LLCC_CVPFW, 17, 512, 1, 0, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CPUSS1, 3, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 1, 0 }, - { LLCC_CPUHWT, 5, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 0, 0, 1 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 1024, + .priority =3D 3, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 1024, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 3072, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 28, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0x1, + .cache_mode =3D 1, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_CVPFW, + .slice_id =3D 17, + .max_cap =3D 512, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CPUSS1, + .slice_id =3D 3, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CPUHWT, + .slice_id =3D 5, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .write_scid_en =3D true, + }, }; =20 static const struct llcc_slice_config sm8450_data[] =3D { - {LLCC_CPUSS, 1, 3072, 1, 0, 0xFFFF, 0x0, 0, 0, 0, 1, 1, 0, 0 }, - {LLCC_VIDSC0, 2, 512, 3, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_AUDIO, 6, 1024, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0 }, - {LLCC_MDMHPGRW, 7, 1024, 3, 0, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_MODHW, 9, 1024, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_CMPT, 10, 4096, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_GPUHTW, 11, 512, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_GPU, 12, 2048, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 1, 0 }, - {LLCC_MMUHWT, 13, 768, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - {LLCC_DISP, 16, 4096, 2, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_MDMPNG, 21, 1024, 1, 1, 0xF000, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_AUDHW, 22, 1024, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0 }, - {LLCC_CVP, 28, 256, 3, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_MODPE, 29, 64, 1, 1, 0xF000, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0xF0, 1, 0, 0, 1, 0, 0, 0 }, - {LLCC_WRCACHE, 31, 512, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - {LLCC_CVPFW, 17, 512, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_CPUSS1, 3, 1024, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_CAMEXP0, 4, 256, 3, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_CPUMTE, 23, 256, 1, 1, 0x0FFF, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - {LLCC_CPUHWT, 5, 512, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 1, 0, 0 }, - {LLCC_CAMEXP1, 27, 256, 3, 1, 0xFFFF, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - {LLCC_AENPU, 8, 2048, 1, 1, 0xFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0 }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 3072, + .priority =3D 1, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 1024, + .priority =3D 3, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 4096, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 12, + .max_cap =3D 2048, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 13, + .max_cap =3D 768, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 4096, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf000, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 28, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 64, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf000, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0xf0, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CVPFW, + .slice_id =3D 17, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUSS1, + .slice_id =3D 3, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CAMEXP0, + .slice_id =3D 4, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_CPUMTE, + .slice_id =3D 23, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CPUHWT, + .slice_id =3D 5, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CAMEXP1, + .slice_id =3D 27, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_AENPU, + .slice_id =3D 8, + .max_cap =3D 2048, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffff, + .cache_mode =3D 0, + }, }; =20 static const struct llcc_slice_config sm8550_data[] =3D { - {LLCC_CPUSS, 1, 5120, 1, 0, 0xFFFFFF, 0x0, 0, 0, 0, 0, 1, 1, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_VIDSC0, 2, 512, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_AUDIO, 6, 1024, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_MDMHPGRW, 25, 1024, 4, 0, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_MODHW, 26, 1024, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CMPT, 10, 4096, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_GPUHTW, 11, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_GPU, 9, 3096, 1, 0, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 1, 1, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_MMUHWT, 18, 768, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_DISP, 16, 6144, 1, 1, 0xFFFFFF, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_MDMPNG, 27, 1024, 0, 1, 0xF00000, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_AUDHW, 22, 1024, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CVP, 8, 256, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_MODPE, 29, 64, 1, 1, 0xF00000, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 1, 0, 0, 1, }, - {LLCC_WRCACHE, 31, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CAMEXP0, 4, 256, 4, 1, 0xF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CPUHWT, 5, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CAMEXP1, 7, 3200, 3, 1, 0xFFFFF0, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CMPTHCP, 17, 256, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_LCPDARE, 30, 128, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, = 0, 0, 0, 1, 0, 0, 1, }, - {LLCC_AENPU, 3, 3072, 1, 1, 0xFE01FF, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_ISLAND1, 12, 1792, 7, 1, 0xFE00, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_ISLAND4, 15, 256, 7, 1, 0x10000, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CAMEXP2, 19, 3200, 3, 1, 0xFFFFF0, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CAMEXP3, 20, 3200, 2, 1, 0xFFFFF0, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_CAMEXP4, 21, 3200, 2, 1, 0xFFFFF0, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_DISP_WB, 23, 1024, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_DISP_1, 24, 6144, 1, 1, 0xFFFFFF, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, - {LLCC_VIDVSP, 28, 256, 4, 1, 0xFFFFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, = 0, 0, 0, 0, 0, 0, 0, }, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 5120, + .priority =3D 1, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .write_scid_en =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 25, + .max_cap =3D 1024, + .priority =3D 4, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 26, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 4096, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 9, + .max_cap =3D 3096, + .priority =3D 1, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .write_scid_en =3D true, + .write_scid_cacheable_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 18, + .max_cap =3D 768, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 27, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0xf00000, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 8, + .max_cap =3D 256, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 64, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf00000, + .cache_mode =3D 0, + .alloc_oneway_en =3D true, + .vict_prio =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CAMEXP0, + .slice_id =3D 4, + .max_cap =3D 256, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CPUHWT, + .slice_id =3D 5, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CAMEXP1, + .slice_id =3D 7, + .max_cap =3D 3200, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfffff0, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CMPTHCP, + .slice_id =3D 17, + .max_cap =3D 256, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_LCPDARE, + .slice_id =3D 30, + .max_cap =3D 128, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .alloc_oneway_en =3D true, + .vict_prio =3D true, + }, { + .usecase_id =3D LLCC_AENPU, + .slice_id =3D 3, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfe01ff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_ISLAND1, + .slice_id =3D 12, + .max_cap =3D 1792, + .priority =3D 7, + .fixed_size =3D true, + .bonus_ways =3D 0xfe00, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_ISLAND4, + .slice_id =3D 15, + .max_cap =3D 256, + .priority =3D 7, + .fixed_size =3D true, + .bonus_ways =3D 0x10000, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CAMEXP2, + .slice_id =3D 19, + .max_cap =3D 3200, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfffff0, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CAMEXP3, + .slice_id =3D 20, + .max_cap =3D 3200, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfffff0, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CAMEXP4, + .slice_id =3D 21, + .max_cap =3D 3200, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xfffff0, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_DISP_WB, + .slice_id =3D 23, + .max_cap =3D 1024, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_DISP_1, + .slice_id =3D 24, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_VIDVSP, + .slice_id =3D 28, + .max_cap =3D 256, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, }; =20 static const struct llcc_slice_config sm8650_data[] =3D { - {LLCC_CPUSS, 1, 5120, 1, 0, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 1, 0, 0= , 1, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_VIDSC0, 2, 512, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_AUDIO, 6, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MDMHPGRW, 25, 1024, 3, 0, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MODHW, 26, 1024, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CMPT, 10, 4096, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_GPUHTW, 11, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_GPU, 9, 3096, 1, 0, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 1, 1= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MMUHWT, 18, 768, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 1, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_DISP, 16, 6144, 1, 1, 0xFFFFFF, 0x0, 2, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MDMHPFX, 24, 1024, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MDMPNG, 27, 1024, 0, 1, 0x000000, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_AUDHW, 22, 1024, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CVP, 8, 256, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_MODPE, 29, 128, 1, 1, 0xF00000, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_WRCACHE, 31, 512, 1, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 1, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CAMEXP0, 4, 256, 3, 1, 0xF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CAMEXP1, 7, 3200, 3, 1, 0xFFFFF0, 0x0, 2, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_CMPTHCP, 17, 256, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_LCPDARE, 30, 128, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 1, 0, 0= , 0, 0, 0, 0, 1, 0, 0, 0}, - {LLCC_AENPU, 3, 3072, 1, 1, 0xFFFFFF, 0x0, 2, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_ISLAND1, 12, 5888, 7, 1, 0x0, 0x7FFFFF, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_DISP_WB, 23, 1024, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, - {LLCC_VIDVSP, 28, 256, 3, 1, 0xFFFFFF, 0x0, 0, 0x0, 0, 0, 0, 0, 0= , 0, 0, 0, 0, 0, 0, 0, 0}, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 5120, + .priority =3D 1, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .stale_en =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 25, + .max_cap =3D 1024, + .priority =3D 3, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 26, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 4096, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 9, + .max_cap =3D 3096, + .priority =3D 1, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .write_scid_en =3D true, + .write_scid_cacheable_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 18, + .max_cap =3D 768, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_DISP, + .slice_id =3D 16, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_MDMHPFX, + .slice_id =3D 24, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 27, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 8, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 128, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xf00000, + .cache_mode =3D 0, + .alloc_oneway_en =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_CAMEXP0, + .slice_id =3D 4, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xf, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CAMEXP1, + .slice_id =3D 7, + .max_cap =3D 3200, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfffff0, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CMPTHCP, + .slice_id =3D 17, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_LCPDARE, + .slice_id =3D 30, + .max_cap =3D 128, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .alloc_oneway_en =3D true, + }, { + .usecase_id =3D LLCC_AENPU, + .slice_id =3D 3, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_ISLAND1, + .slice_id =3D 12, + .max_cap =3D 5888, + .priority =3D 7, + .fixed_size =3D true, + .res_ways =3D 0x7fffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_DISP_WB, + .slice_id =3D 23, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_VIDVSP, + .slice_id =3D 28, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffffff, + .cache_mode =3D 0, + }, }; =20 static const struct llcc_slice_config qdu1000_data_2ch[] =3D { - { LLCC_MDMHPGRW, 7, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MODHW, 9, 256, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MDMPNG, 21, 256, 0, 1, 0x3, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_ECC, 26, 512, 3, 1, 0xffc, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - { LLCC_MODPE, 29, 256, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_APTCM, 30, 256, 3, 1, 0x0, 0xc, 1, 0, 0, 1, 0, 0, 0 }, - { LLCC_WRCACHE, 31, 128, 1, 1, 0x3, 0x0, 0, 0, 0, 0, 1, 0, 0 }, + { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 256, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_ECC, + .slice_id =3D 26, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 256, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0xc, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 128, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config qdu1000_data_4ch[] =3D { - { LLCC_MDMHPGRW, 7, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MODHW, 9, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MDMPNG, 21, 512, 0, 1, 0x3, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_ECC, 26, 1024, 3, 1, 0xffc, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - { LLCC_MODPE, 29, 512, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_APTCM, 30, 512, 3, 1, 0x0, 0xc, 1, 0, 0, 1, 0, 0, 0 }, - { LLCC_WRCACHE, 31, 256, 1, 1, 0x3, 0x0, 0, 0, 0, 0, 1, 0, 0 }, + { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 512, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_ECC, + .slice_id =3D 26, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0xc, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 256, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config qdu1000_data_8ch[] =3D { - { LLCC_MDMHPGRW, 7, 2048, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MODHW, 9, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_MDMPNG, 21, 1024, 0, 1, 0x3, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_ECC, 26, 2048, 3, 1, 0xffc, 0x0, 0, 0, 0, 0, 1, 0, 0 }, - { LLCC_MODPE, 29, 1024, 1, 1, 0xfff, 0x0, 0, 0, 0, 1, 0, 0, 0 }, - { LLCC_APTCM, 30, 1024, 3, 1, 0x0, 0xc, 1, 0, 0, 1, 0, 0, 0 }, - { LLCC_WRCACHE, 31, 512, 1, 1, 0x3, 0x0, 0, 0, 0, 0, 1, 0, 0 }, + { + .usecase_id =3D LLCC_MDMHPGRW, + .slice_id =3D 7, + .max_cap =3D 2048, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MODHW, + .slice_id =3D 9, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_MDMPNG, + .slice_id =3D 21, + .max_cap =3D 1024, + .priority =3D 0, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_ECC, + .slice_id =3D 26, + .max_cap =3D 2048, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_MODPE, + .slice_id =3D 29, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_APTCM, + .slice_id =3D 30, + .max_cap =3D 1024, + .priority =3D 3, + .fixed_size =3D true, + .res_ways =3D 0xc, + .cache_mode =3D 1, + .retain_on_pc =3D true, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, }; =20 static const struct llcc_slice_config x1e80100_data[] =3D { - {LLCC_CPUSS, 1, 6144, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0}, - {LLCC_VIDSC0, 2, 512, 4, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0= , 0, 0, 0, 0}, - {LLCC_AUDIO, 6, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0}, - {LLCC_CMPT, 10, 6144, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_GPUHTW, 11, 512, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_GPU, 9, 4608, 1, 0, 0xFFF, 0x0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_MMUHWT, 18, 512, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_AUDHW, 22, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CVP, 8, 512, 4, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_WRCACHE, 31, 1024, 1, 1, 0xFFF, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CAMEXP0, 4, 256, 4, 1, 0x3, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CAMEXP1, 7, 3072, 3, 1, 0xFFC, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_LCPDARE, 30, 512, 3, 1, 0xFFF, 0x0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,= 0, 1, 0, 0, 0}, - {LLCC_AENPU, 3, 3072, 1, 1, 0xFFF, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_ISLAND1, 12, 2048, 7, 1, 0x0, 0xF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CAMEXP2, 19, 3072, 3, 1, 0xFFC, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CAMEXP3, 20, 3072, 2, 1, 0xFFC, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, - {LLCC_CAMEXP4, 21, 3072, 2, 1, 0xFFC, 0x0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,= 0, 0, 0, 0, 0}, + { + .usecase_id =3D LLCC_CPUSS, + .slice_id =3D 1, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_VIDSC0, + .slice_id =3D 2, + .max_cap =3D 512, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_AUDIO, + .slice_id =3D 6, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CMPT, + .slice_id =3D 10, + .max_cap =3D 6144, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPUHTW, + .slice_id =3D 11, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_GPU, + .slice_id =3D 9, + .max_cap =3D 4608, + .priority =3D 1, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .write_scid_en =3D true, + .write_scid_cacheable_en =3D true, + .stale_en =3D true, + }, { + .usecase_id =3D LLCC_MMUHWT, + .slice_id =3D 18, + .max_cap =3D 512, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + }, { + .usecase_id =3D LLCC_AUDHW, + .slice_id =3D 22, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CVP, + .slice_id =3D 8, + .max_cap =3D 512, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_WRCACHE, + .slice_id =3D 31, + .max_cap =3D 1024, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CAMEXP0, + .slice_id =3D 4, + .max_cap =3D 256, + .priority =3D 4, + .fixed_size =3D true, + .bonus_ways =3D 0x3, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CAMEXP1, + .slice_id =3D 7, + .max_cap =3D 3072, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_LCPDARE, + .slice_id =3D 30, + .max_cap =3D 512, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 0, + .activate_on_init =3D true, + .alloc_oneway_en =3D true, + }, { + .usecase_id =3D LLCC_AENPU, + .slice_id =3D 3, + .max_cap =3D 3072, + .priority =3D 1, + .fixed_size =3D true, + .bonus_ways =3D 0xfff, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_ISLAND1, + .slice_id =3D 12, + .max_cap =3D 2048, + .priority =3D 7, + .fixed_size =3D true, + .res_ways =3D 0xf, + .cache_mode =3D 0, + }, { + .usecase_id =3D LLCC_CAMEXP2, + .slice_id =3D 19, + .max_cap =3D 3072, + .priority =3D 3, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CAMEXP3, + .slice_id =3D 20, + .max_cap =3D 3072, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 2, + }, { + .usecase_id =3D LLCC_CAMEXP4, + .slice_id =3D 21, + .max_cap =3D 3072, + .priority =3D 2, + .fixed_size =3D true, + .bonus_ways =3D 0xffc, + .cache_mode =3D 2, + }, }; =20 static const struct llcc_edac_reg_offset llcc_v1_edac_reg_offset =3D { --- base-commit: 6708132e80a2ced620bde9b9c36e426183544a23 change-id: 20240907-topic-llcc_unwrap-a2786a422403 Best regards, --=20 Konrad Dybcio