]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
soc: qcom: ubwc: Add config for Kaanapali
authorAkhil P Oommen <akhilpo@oss.qualcomm.com>
Tue, 30 Sep 2025 05:48:06 +0000 (11:18 +0530)
committerBjorn Andersson <andersson@kernel.org>
Tue, 4 Nov 2025 03:11:17 +0000 (21:11 -0600)
Add the ubwc configuration for Kaanapali chipset. This chipset brings
support for UBWC v6 version. The rest of the configurations remains
as usual.

Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250930-kaana-gpu-support-v1-1-73530b0700ed@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/soc/qcom/ubwc_config.c
include/linux/soc/qcom/ubwc.h

index 942fe6c176123f32e4ebd2a03b060a8bc0d3f574..1c09796163b09a19e387c18886966514cc19b209 100644 (file)
@@ -16,6 +16,16 @@ static const struct qcom_ubwc_cfg_data no_ubwc_data = {
        /* no UBWC, no HBB */
 };
 
+static const struct qcom_ubwc_cfg_data kaanapali_data = {
+       .ubwc_enc_version = UBWC_6_0,
+       .ubwc_dec_version = UBWC_6_0,
+       .ubwc_swizzle = UBWC_SWIZZLE_ENABLE_LVL2 |
+                       UBWC_SWIZZLE_ENABLE_LVL3,
+       .ubwc_bank_spread = true,
+       .highest_bank_bit = 16,
+       .macrotile_mode = true,
+};
+
 static const struct qcom_ubwc_cfg_data msm8937_data = {
        .ubwc_enc_version = UBWC_1_0,
        .ubwc_dec_version = UBWC_1_0,
@@ -234,6 +244,7 @@ static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
        { .compatible = "qcom,apq8026", .data = &no_ubwc_data },
        { .compatible = "qcom,apq8074", .data = &no_ubwc_data },
        { .compatible = "qcom,apq8096", .data = &msm8998_data },
+       { .compatible = "qcom,kaanapali", .data = &kaanapali_data, },
        { .compatible = "qcom,glymur", .data = &glymur_data},
        { .compatible = "qcom,msm8226", .data = &no_ubwc_data },
        { .compatible = "qcom,msm8916", .data = &no_ubwc_data },
index 1ed8b1b16bc90bea2ed54586edfe21beb2db04d4..0a4edfe3d96d4face2ef98622984c66939a68c53 100644 (file)
@@ -52,6 +52,7 @@ struct qcom_ubwc_cfg_data {
 #define UBWC_4_0 0x40000000
 #define UBWC_4_3 0x40030000
 #define UBWC_5_0 0x50000000
+#define UBWC_6_0 0x60000000
 
 #if IS_ENABLED(CONFIG_QCOM_UBWC_CONFIG)
 const struct qcom_ubwc_cfg_data *qcom_ubwc_config_get_data(void);