* [PATCH v3 0/4] Support for Adreno X1-45 GPU
@ 2025-06-20 6:54 Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-20 6:54 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Akhil P Oommen, Jens Glathe,
Konrad Dybcio, Dmitry Baryshkov
Add support for X1-45 GPU found in X1P41200 chipset (8 cpu core
version). X1-45 is a smaller version of X1-85 with lower core count and
smaller memories. From UMD perspective, this is similar to "FD735"
present in Mesa.
Tested Glmark & Vkmark on Debian Gnome desktop.
I think Bjorn can pick the DT patch and Rob Clark can pick up the rest.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Changes in v3:
- Rebased on v6.16-rc1
- Fixed speedbin table in drm/msm
- Corrected the regex for the adreno opp node (Krzysztof)
- Replace underscore with hypen in DT node names (Krzysztof)
- Link to v2: https://lore.kernel.org/r/20250611-x1p-adreno-v2-0-5074907bebbd@oss.qualcomm.com
Changes in v2:
- Skip 'delete-property' wherever it is unnecessary (Dmitry)
- Reorder dt nodes alphabetically (Konrad)
- A new patch#1 to fix the dtbs_check error
- Link to v1: https://lore.kernel.org/r/20250607-x1p-adreno-v1-0-a8ea80f3b18b@oss.qualcomm.com
---
Akhil P Oommen (4):
dt-bindings: opp: adreno: Update regex of OPP entry
arm64: defconfig: Enable X1P42100 GPUCC driver
drm/msm/adreno: Add Adreno X1-45 support
arm64: dts: qcom: Add GPU support to X1P42100 SoC
.../bindings/opp/opp-v2-qcom-adreno.yaml | 2 +-
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 7 ++
arch/arm64/boot/dts/qcom/x1p42100-crd.dts | 4 +
arch/arm64/boot/dts/qcom/x1p42100.dtsi | 120 ++++++++++++++++++++-
arch/arm64/configs/defconfig | 1 +
drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 39 +++++++
6 files changed, 170 insertions(+), 3 deletions(-)
---
base-commit: d9946fe286439c2aeaa7953b8c316efe5b83d515
change-id: 20250603-x1p-adreno-219da2fd4ca4
Best regards,
--
Akhil P Oommen <akhilpo@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
@ 2025-06-20 6:54 ` Akhil P Oommen
2025-06-23 6:50 ` Krzysztof Kozlowski
2025-06-23 7:00 ` Viresh Kumar
2025-06-20 6:54 ` [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver Akhil P Oommen
` (4 subsequent siblings)
5 siblings, 2 replies; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-20 6:54 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Akhil P Oommen, Jens Glathe
In some cases, an OPP may have multiple varients to describe the
differences in the resources between SKUs. As an example, we may
want to vote different peak bandwidths in different SKUs for the
same frequency and the OPP node names can have an additional
integer suffix to denote this difference like below:
opp-666000000-0 {
opp-hz = /bits/ 64 <666000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
opp-peak-kBps = <8171875>;
qcom,opp-acd-level = <0xa82d5ffd>;
opp-supported-hw = <0xf>;
};
/* Only applicable for SKUs which has 666Mhz as Fmax */
opp-666000000-1 {
opp-hz = /bits/ 64 <666000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
opp-peak-kBps = <16500000>;
qcom,opp-acd-level = <0xa82d5ffd>;
opp-supported-hw = <0x10>;
};
Update the regex to allow this usecase.
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml b/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
index a27ba7b663d456f964628a91a661b51a684de1be..0bd7d6b69755f5f53a045ba7b5e1d08030d980e6 100644
--- a/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
+++ b/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
@@ -23,7 +23,7 @@ properties:
const: operating-points-v2-adreno
patternProperties:
- '^opp-[0-9]+$':
+ '^opp(-[0-9]+){1,2}$':
type: object
additionalProperties: false
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
@ 2025-06-20 6:54 ` Akhil P Oommen
2025-06-20 7:09 ` Krzysztof Kozlowski
2025-06-20 6:54 ` [PATCH v3 3/4] drm/msm/adreno: Add Adreno X1-45 support Akhil P Oommen
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-20 6:54 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Akhil P Oommen, Jens Glathe
In order to enable GPU support in X1P42100-CRD and other similar
laptops with Snapdragon X1P42100 SoC, enable X1P42100 GPUCC driver
as a module.
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 897fc686e6a91b79770639d3eb15beb3ee48ef77..ccd03ab5de495498281175a4550bc73d3e65f3f4 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1347,6 +1347,7 @@ CONFIG_CLK_X1E80100_CAMCC=m
CONFIG_CLK_X1E80100_DISPCC=m
CONFIG_CLK_X1E80100_GCC=y
CONFIG_CLK_X1E80100_GPUCC=m
+CONFIG_CLK_X1P42100_GPUCC=m
CONFIG_CLK_X1E80100_TCSRCC=y
CONFIG_CLK_QCM2290_GPUCC=m
CONFIG_QCOM_A53PLL=y
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 3/4] drm/msm/adreno: Add Adreno X1-45 support
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver Akhil P Oommen
@ 2025-06-20 6:54 ` Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC Akhil P Oommen
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-20 6:54 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Akhil P Oommen, Konrad Dybcio,
Dmitry Baryshkov, Jens Glathe
Add support for Adreno X1-45 GPU present Snapdragon X1P42100
series of compute chipsets. This GPU is a smaller version of
X1-85 GPU with lower core count and smaller internal memories.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 39 +++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
index 70f7ad806c34076352d84f32d62c2833422b6e5e..7748f92919b883bbcea839a61158ab52e6e4e79d 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
@@ -1474,6 +1474,45 @@ static const struct adreno_info a7xx_gpus[] = {
},
},
.preempt_record_size = 3572 * SZ_1K,
+ }, {
+ .chip_ids = ADRENO_CHIP_IDS(0x43030c00),
+ .family = ADRENO_7XX_GEN2,
+ .fw = {
+ [ADRENO_FW_SQE] = "gen71500_sqe.fw",
+ [ADRENO_FW_GMU] = "gen71500_gmu.bin",
+ },
+ .gmem = SZ_1M + SZ_512K,
+ .inactive_period = DRM_MSM_INACTIVE_PERIOD,
+ .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
+ ADRENO_QUIRK_HAS_HW_APRIV |
+ ADRENO_QUIRK_PREEMPTION,
+ .init = a6xx_gpu_init,
+ .a6xx = &(const struct a6xx_info) {
+ .hwcg = a740_hwcg,
+ .protect = &a730_protect,
+ .pwrup_reglist = &a7xx_pwrup_reglist,
+ .gmu_chipid = 0x70f0000,
+ .gmu_cgc_mode = 0x00020222,
+ .bcms = (const struct a6xx_bcm[]) {
+ { .name = "SH0", .buswidth = 16 },
+ { .name = "MC0", .buswidth = 4 },
+ {
+ .name = "ACV",
+ .fixed = true,
+ .perfmode = BIT(3),
+ .perfmode_bw = 16500000,
+ },
+ { /* sentinel */ },
+ },
+ },
+ .preempt_record_size = 4192 * SZ_1K,
+ .speedbins = ADRENO_SPEEDBINS(
+ { 0, 0 },
+ { 294, 1 },
+ { 263, 2 },
+ { 233, 3 },
+ { 141, 4 },
+ ),
}
};
DECLARE_ADRENO_GPULIST(a7xx);
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
` (2 preceding siblings ...)
2025-06-20 6:54 ` [PATCH v3 3/4] drm/msm/adreno: Add Adreno X1-45 support Akhil P Oommen
@ 2025-06-20 6:54 ` Akhil P Oommen
2025-06-20 14:52 ` Konrad Dybcio
2025-06-20 21:15 ` [PATCH v3 0/4] Support for Adreno X1-45 GPU Jens Glathe
2025-06-20 22:06 ` Aleksandrs Vinarskis
5 siblings, 1 reply; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-20 6:54 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Akhil P Oommen, Jens Glathe
X1P42100 SoC has a new GPU called Adreno X1-45 which is a smaller
version of Adreno X1-85 GPU. Describe this new GPU and also add
the secure gpu firmware path that should used for X1P42100 CRD.
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 7 ++
arch/arm64/boot/dts/qcom/x1p42100-crd.dts | 4 +
arch/arm64/boot/dts/qcom/x1p42100.dtsi | 120 +++++++++++++++++++++++++++++-
3 files changed, 129 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index a8eb4c5fe99fe6dd49af200a738b6476d87279b2..558d7d387d7710770244fcc901f461384dd9b0d4 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -8245,6 +8245,13 @@ sbsa_watchdog: watchdog@1c840000 {
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
};
+ qfprom: efuse@221c8000 {
+ compatible = "qcom,x1e80100-qfprom", "qcom,qfprom";
+ reg = <0 0x221c8000 0 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
pmu@24091000 {
compatible = "qcom,x1e80100-llcc-bwmon", "qcom,sc7280-llcc-bwmon";
reg = <0 0x24091000 0 0x1000>;
diff --git a/arch/arm64/boot/dts/qcom/x1p42100-crd.dts b/arch/arm64/boot/dts/qcom/x1p42100-crd.dts
index cf07860a63e97c388909fb5721ae7b9729b6c586..cf999c2cf8d4e0af83078253fd39ece3a0c26a49 100644
--- a/arch/arm64/boot/dts/qcom/x1p42100-crd.dts
+++ b/arch/arm64/boot/dts/qcom/x1p42100-crd.dts
@@ -15,3 +15,7 @@ / {
model = "Qualcomm Technologies, Inc. X1P42100 CRD";
compatible = "qcom,x1p42100-crd", "qcom,x1p42100";
};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/x1p42100/gen71500_zap.mbn";
+};
diff --git a/arch/arm64/boot/dts/qcom/x1p42100.dtsi b/arch/arm64/boot/dts/qcom/x1p42100.dtsi
index 27f479010bc330eb6445269a1c46bf78ec6f1bd4..090659b8bb8942cdcc46f8d4a3e7dbcc043a0f78 100644
--- a/arch/arm64/boot/dts/qcom/x1p42100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1p42100.dtsi
@@ -17,15 +17,124 @@
/delete-node/ &cpu_pd9;
/delete-node/ &cpu_pd10;
/delete-node/ &cpu_pd11;
+/delete-node/ &gpu_opp_table;
/delete-node/ &pcie3_phy;
&gcc {
compatible = "qcom,x1p42100-gcc", "qcom,x1e80100-gcc";
};
-/* The GPU is physically different and will be brought up later */
+&gmu {
+ compatible = "qcom,adreno-gmu-x145.0", "qcom,adreno-gmu";
+};
+
&gpu {
- /delete-property/ compatible;
+ compatible = "qcom,adreno-43030c00", "qcom,adreno";
+
+ nvmem-cells = <&gpu_speed_bin>;
+ nvmem-cell-names = "speed_bin";
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2-adreno", "operating-points-v2";
+
+ opp-1400000000 {
+ opp-hz = /bits/ 64 <1400000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L4>;
+ opp-peak-kBps = <16500000>;
+ qcom,opp-acd-level = <0xa8295ffd>;
+ opp-supported-hw = <0x3>;
+ };
+
+ opp-1250000000 {
+ opp-hz = /bits/ 64 <1250000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L3>;
+ opp-peak-kBps = <16500000>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ opp-supported-hw = <0x7>;
+ };
+
+ opp-1107000000 {
+ opp-hz = /bits/ 64 <1107000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ opp-peak-kBps = <16500000>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-1014000000 {
+ opp-hz = /bits/ 64 <1014000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+ opp-peak-kBps = <14398438>;
+ qcom,opp-acd-level = <0xa82a5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-940000000 {
+ opp-hz = /bits/ 64 <940000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+ opp-peak-kBps = <14398438>;
+ qcom,opp-acd-level = <0xa82a5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-825000000 {
+ opp-hz = /bits/ 64 <825000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ opp-peak-kBps = <12449219>;
+ qcom,opp-acd-level = <0x882b5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-720000000 {
+ opp-hz = /bits/ 64 <720000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
+ opp-peak-kBps = <10687500>;
+ qcom,opp-acd-level = <0xa82c5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ opp-666000000-0 {
+ opp-hz = /bits/ 64 <666000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <8171875>;
+ qcom,opp-acd-level = <0xa82d5ffd>;
+ opp-supported-hw = <0xf>;
+ };
+
+ /* Only applicable for SKUs which has 666Mhz as Fmax */
+ opp-666000000-1 {
+ opp-hz = /bits/ 64 <666000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <16500000>;
+ qcom,opp-acd-level = <0xa82d5ffd>;
+ opp-supported-hw = <0x10>;
+ };
+
+ opp-550000000 {
+ opp-hz = /bits/ 64 <550000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ opp-peak-kBps = <6074219>;
+ qcom,opp-acd-level = <0x882e5ffd>;
+ opp-supported-hw = <0x1f>;
+ };
+
+ opp-380000000 {
+ opp-hz = /bits/ 64 <380000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ opp-peak-kBps = <3000000>;
+ qcom,opp-acd-level = <0xc82f5ffd>;
+ opp-supported-hw = <0x1f>;
+ };
+
+ opp-280000000 {
+ opp-hz = /bits/ 64 <280000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ opp-peak-kBps = <2136719>;
+ qcom,opp-acd-level = <0xc82f5ffd>;
+ opp-supported-hw = <0x1f>;
+ };
+ };
+
};
&gpucc {
@@ -41,6 +150,13 @@ &pcie6a_phy {
compatible = "qcom,x1p42100-qmp-gen4x4-pcie-phy";
};
+&qfprom {
+ gpu_speed_bin: gpu-speed-bin@119 {
+ reg = <0x119 0x2>;
+ bits = <7 9>;
+ };
+};
+
&soc {
/* The PCIe3 PHY on X1P42100 uses a different IP block */
pcie3_phy: phy@1bd4000 {
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver
2025-06-20 6:54 ` [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver Akhil P Oommen
@ 2025-06-20 7:09 ` Krzysztof Kozlowski
2025-06-23 13:58 ` Akhil P Oommen
0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-20 7:09 UTC (permalink / raw)
To: Akhil P Oommen, Catalin Marinas, Will Deacon, Rob Clark,
Sean Paul, Konrad Dybcio, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, David Airlie, Simona Vetter,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Viresh Kumar, Nishanth Menon, Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Jens Glathe
On 20/06/2025 08:54, Akhil P Oommen wrote:
> In order to enable GPU support in X1P42100-CRD and other similar
> laptops with Snapdragon X1P42100 SoC, enable X1P42100 GPUCC driver
> as a module.
>
> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Defconfigs cannot be tested really...
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/configs/defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 897fc686e6a91b79770639d3eb15beb3ee48ef77..ccd03ab5de495498281175a4550bc73d3e65f3f4 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -1347,6 +1347,7 @@ CONFIG_CLK_X1E80100_CAMCC=m
> CONFIG_CLK_X1E80100_DISPCC=m
> CONFIG_CLK_X1E80100_GCC=y
> CONFIG_CLK_X1E80100_GPUCC=m
> +CONFIG_CLK_X1P42100_GPUCC=m
Not placed in proper spot. Don't add things in random order, but follow
savedefconfig.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC
2025-06-20 6:54 ` [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC Akhil P Oommen
@ 2025-06-20 14:52 ` Konrad Dybcio
0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2025-06-20 14:52 UTC (permalink / raw)
To: Akhil P Oommen, Catalin Marinas, Will Deacon, Rob Clark,
Sean Paul, Konrad Dybcio, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, David Airlie, Simona Vetter,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Viresh Kumar, Nishanth Menon, Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Jens Glathe
On 6/20/25 8:54 AM, Akhil P Oommen wrote:
> X1P42100 SoC has a new GPU called Adreno X1-45 which is a smaller
> version of Adreno X1-85 GPU. Describe this new GPU and also add
> the secure gpu firmware path that should used for X1P42100 CRD.
>
> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/4] Support for Adreno X1-45 GPU
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
` (3 preceding siblings ...)
2025-06-20 6:54 ` [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC Akhil P Oommen
@ 2025-06-20 21:15 ` Jens Glathe
2025-06-20 22:06 ` Aleksandrs Vinarskis
5 siblings, 0 replies; 12+ messages in thread
From: Jens Glathe @ 2025-06-20 21:15 UTC (permalink / raw)
To: Akhil P Oommen, Catalin Marinas, Will Deacon, Rob Clark,
Sean Paul, Konrad Dybcio, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, David Airlie, Simona Vetter,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Viresh Kumar, Nishanth Menon, Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Konrad Dybcio, Dmitry Baryshkov
On 20.06.25 08:54, Akhil P Oommen wrote:
> Add support for X1-45 GPU found in X1P41200 chipset (8 cpu core
> version). X1-45 is a smaller version of X1-85 with lower core count and
> smaller memories. From UMD perspective, this is similar to "FD735"
> present in Mesa.
>
> Tested Glmark & Vkmark on Debian Gnome desktop.
>
Hi Akhil,
thank you for the patch set. It works well on the Lenovo ThinkBook 16 G7
QOY, tested on X11 and Wayland on Ubuntu 25.04.
Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
with best regards
Jens
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/4] Support for Adreno X1-45 GPU
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
` (4 preceding siblings ...)
2025-06-20 21:15 ` [PATCH v3 0/4] Support for Adreno X1-45 GPU Jens Glathe
@ 2025-06-20 22:06 ` Aleksandrs Vinarskis
5 siblings, 0 replies; 12+ messages in thread
From: Aleksandrs Vinarskis @ 2025-06-20 22:06 UTC (permalink / raw)
To: Akhil P Oommen, Catalin Marinas, Will Deacon, Rob Clark,
Sean Paul, Konrad Dybcio, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, David Airlie, Simona Vetter,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Viresh Kumar, Nishanth Menon, Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Jens Glathe, Konrad Dybcio,
Dmitry Baryshkov
On 6/20/25 08:54, Akhil P Oommen wrote:
> Add support for X1-45 GPU found in X1P41200 chipset (8 cpu core
> version). X1-45 is a smaller version of X1-85 with lower core count and
> smaller memories. From UMD perspective, this is similar to "FD735"
> present in Mesa.
>
> Tested Glmark & Vkmark on Debian Gnome desktop.
>
> I think Bjorn can pick the DT patch and Rob Clark can pick up the rest.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Hi,
Thanks for the long awaited series!
Works on Asus Zenbook A14 UX3407QA (x1-26-100), tested on Ubuntu 24.10
with Gnome 47 on Wayland.
Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> # x1-26-100
Regards,
Alex
> ---
> Changes in v3:
> - Rebased on v6.16-rc1
> - Fixed speedbin table in drm/msm
> - Corrected the regex for the adreno opp node (Krzysztof)
> - Replace underscore with hypen in DT node names (Krzysztof)
> - Link to v2: https://lore.kernel.org/r/20250611-x1p-adreno-v2-0-5074907bebbd@oss.qualcomm.com
>
> Changes in v2:
> - Skip 'delete-property' wherever it is unnecessary (Dmitry)
> - Reorder dt nodes alphabetically (Konrad)
> - A new patch#1 to fix the dtbs_check error
> - Link to v1: https://lore.kernel.org/r/20250607-x1p-adreno-v1-0-a8ea80f3b18b@oss.qualcomm.com
>
> ---
> Akhil P Oommen (4):
> dt-bindings: opp: adreno: Update regex of OPP entry
> arm64: defconfig: Enable X1P42100 GPUCC driver
> drm/msm/adreno: Add Adreno X1-45 support
> arm64: dts: qcom: Add GPU support to X1P42100 SoC
>
> .../bindings/opp/opp-v2-qcom-adreno.yaml | 2 +-
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 7 ++
> arch/arm64/boot/dts/qcom/x1p42100-crd.dts | 4 +
> arch/arm64/boot/dts/qcom/x1p42100.dtsi | 120 ++++++++++++++++++++-
> arch/arm64/configs/defconfig | 1 +
> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 39 +++++++
> 6 files changed, 170 insertions(+), 3 deletions(-)
> ---
> base-commit: d9946fe286439c2aeaa7953b8c316efe5b83d515
> change-id: 20250603-x1p-adreno-219da2fd4ca4
>
> Best regards,
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
@ 2025-06-23 6:50 ` Krzysztof Kozlowski
2025-06-23 7:00 ` Viresh Kumar
1 sibling, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-23 6:50 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd, linux-arm-kernel, linux-kernel, linux-arm-msm,
dri-devel, freedreno, devicetree, linux-pm, Jens Glathe
On Fri, Jun 20, 2025 at 12:24:28PM +0530, Akhil P Oommen wrote:
> In some cases, an OPP may have multiple varients to describe the
> differences in the resources between SKUs. As an example, we may
> want to vote different peak bandwidths in different SKUs for the
> same frequency and the OPP node names can have an additional
> integer suffix to denote this difference like below:
>
> opp-666000000-0 {
> opp-hz = /bits/ 64 <666000000>;
> opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> opp-peak-kBps = <8171875>;
> qcom,opp-acd-level = <0xa82d5ffd>;
> opp-supported-hw = <0xf>;
> };
>
> /* Only applicable for SKUs which has 666Mhz as Fmax */
> opp-666000000-1 {
> opp-hz = /bits/ 64 <666000000>;
> opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> opp-peak-kBps = <16500000>;
> qcom,opp-acd-level = <0xa82d5ffd>;
> opp-supported-hw = <0x10>;
> };
>
> Update the regex to allow this usecase.
>
> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
2025-06-23 6:50 ` Krzysztof Kozlowski
@ 2025-06-23 7:00 ` Viresh Kumar
1 sibling, 0 replies; 12+ messages in thread
From: Viresh Kumar @ 2025-06-23 7:00 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Catalin Marinas, Will Deacon, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
David Airlie, Simona Vetter, Bjorn Andersson, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Viresh Kumar, Nishanth Menon,
Stephen Boyd, linux-arm-kernel, linux-kernel, linux-arm-msm,
dri-devel, freedreno, devicetree, linux-pm, Jens Glathe
On 20-06-25, 12:24, Akhil P Oommen wrote:
> In some cases, an OPP may have multiple varients to describe the
> differences in the resources between SKUs. As an example, we may
> want to vote different peak bandwidths in different SKUs for the
> same frequency and the OPP node names can have an additional
> integer suffix to denote this difference like below:
>
> opp-666000000-0 {
> opp-hz = /bits/ 64 <666000000>;
> opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> opp-peak-kBps = <8171875>;
> qcom,opp-acd-level = <0xa82d5ffd>;
> opp-supported-hw = <0xf>;
> };
>
> /* Only applicable for SKUs which has 666Mhz as Fmax */
> opp-666000000-1 {
> opp-hz = /bits/ 64 <666000000>;
> opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> opp-peak-kBps = <16500000>;
> qcom,opp-acd-level = <0xa82d5ffd>;
> opp-supported-hw = <0x10>;
> };
>
> Update the regex to allow this usecase.
>
> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml b/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
> index a27ba7b663d456f964628a91a661b51a684de1be..0bd7d6b69755f5f53a045ba7b5e1d08030d980e6 100644
> --- a/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
> +++ b/Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
> @@ -23,7 +23,7 @@ properties:
> const: operating-points-v2-adreno
>
> patternProperties:
> - '^opp-[0-9]+$':
> + '^opp(-[0-9]+){1,2}$':
> type: object
> additionalProperties: false
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver
2025-06-20 7:09 ` Krzysztof Kozlowski
@ 2025-06-23 13:58 ` Akhil P Oommen
0 siblings, 0 replies; 12+ messages in thread
From: Akhil P Oommen @ 2025-06-23 13:58 UTC (permalink / raw)
To: Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Rob Clark,
Sean Paul, Konrad Dybcio, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, David Airlie, Simona Vetter,
Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Viresh Kumar, Nishanth Menon, Stephen Boyd
Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, dri-devel,
freedreno, devicetree, linux-pm, Jens Glathe
On 6/20/2025 12:39 PM, Krzysztof Kozlowski wrote:
> On 20/06/2025 08:54, Akhil P Oommen wrote:
>> In order to enable GPU support in X1P42100-CRD and other similar
>> laptops with Snapdragon X1P42100 SoC, enable X1P42100 GPUCC driver
>> as a module.
>>
>> Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> Defconfigs cannot be tested really...
>
>> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
>> ---
>> arch/arm64/configs/defconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
>> index 897fc686e6a91b79770639d3eb15beb3ee48ef77..ccd03ab5de495498281175a4550bc73d3e65f3f4 100644
>> --- a/arch/arm64/configs/defconfig
>> +++ b/arch/arm64/configs/defconfig
>> @@ -1347,6 +1347,7 @@ CONFIG_CLK_X1E80100_CAMCC=m
>> CONFIG_CLK_X1E80100_DISPCC=m
>> CONFIG_CLK_X1E80100_GCC=y
>> CONFIG_CLK_X1E80100_GPUCC=m
>> +CONFIG_CLK_X1P42100_GPUCC=m
>
> Not placed in proper spot. Don't add things in random order, but follow
> savedefconfig.
Ack. will reorder.
Btw, can this patch go via Rob Clark's (drm/msm) tree?
-Akhil.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-06-23 13:58 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-20 6:54 [PATCH v3 0/4] Support for Adreno X1-45 GPU Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 1/4] dt-bindings: opp: adreno: Update regex of OPP entry Akhil P Oommen
2025-06-23 6:50 ` Krzysztof Kozlowski
2025-06-23 7:00 ` Viresh Kumar
2025-06-20 6:54 ` [PATCH v3 2/4] arm64: defconfig: Enable X1P42100 GPUCC driver Akhil P Oommen
2025-06-20 7:09 ` Krzysztof Kozlowski
2025-06-23 13:58 ` Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 3/4] drm/msm/adreno: Add Adreno X1-45 support Akhil P Oommen
2025-06-20 6:54 ` [PATCH v3 4/4] arm64: dts: qcom: Add GPU support to X1P42100 SoC Akhil P Oommen
2025-06-20 14:52 ` Konrad Dybcio
2025-06-20 21:15 ` [PATCH v3 0/4] Support for Adreno X1-45 GPU Jens Glathe
2025-06-20 22:06 ` Aleksandrs Vinarskis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).