* [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS
2026-06-03 14:59 [PATCH 0/5] Subject: [PATCH 0/5] Add Shikra (QCM2290) display support Nabige Aala
@ 2026-06-03 14:59 ` Nabige Aala
2026-06-03 15:12 ` sashiko-bot
2026-06-03 23:08 ` Dmitry Baryshkov
2026-06-03 14:59 ` [PATCH 2/5] drm/msm/mdss: Add Shikra support Nabige Aala
` (3 subsequent siblings)
4 siblings, 2 replies; 14+ messages in thread
From: Nabige Aala @ 2026-06-03 14:59 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
iommu, linux-arm-kernel, Nabige Aala
Shikra SoC uses the same MDSS/DPU/DSI hardware as QCM2290 (DPU 6.5),
sharing the same register layout, DSI controller and 14nm DSI PHY.
Add qcom,shikra-mdss to the qcm2290-mdss binding compatible enum
rather than introducing a separate binding file.
Register qcom,shikra-dsi-ctrl in dsi-controller-main.yaml alongside
qcom,qcm2290-dsi-ctrl, and update the qcm2290-mdss patternProperties
to accept both SoC-specific DPU and DSI controller compatibles.
Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
---
.../bindings/display/msm/dsi-controller-main.yaml | 1 +
.../bindings/display/msm/qcom,qcm2290-dpu.yaml | 4 ++-
.../bindings/display/msm/qcom,qcm2290-mdss.yaml | 34 +++++++++++++++++-----
3 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index dbc0613e427e..a2f3e91104af 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -33,6 +33,7 @@ properties:
- qcom,sdm660-dsi-ctrl
- qcom,sdm670-dsi-ctrl
- qcom,sdm845-dsi-ctrl
+ - qcom,shikra-dsi-ctrl
- qcom,sm6115-dsi-ctrl
- qcom,sm6125-dsi-ctrl
- qcom,sm6150-dsi-ctrl
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-dpu.yaml
index be6cd8adb3b6..cc1f227ade2d 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-dpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-dpu.yaml
@@ -13,7 +13,9 @@ $ref: /schemas/display/msm/dpu-common.yaml#
properties:
compatible:
- const: qcom,qcm2290-dpu
+ enum:
+ - qcom,qcm2290-dpu
+ - qcom,shikra-dpu
reg:
items:
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
index bb09ecd1a5b4..d2609c24e305 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
@@ -4,21 +4,35 @@
$id: http://devicetree.org/schemas/display/msm/qcom,qcm2290-mdss.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: Qualcomm QCM220 Display MDSS
+title: Qualcomm QCM2290 and Shikra Display MDSS
maintainers:
- Loic Poulain <loic.poulain@linaro.org>
+ - Nabige Aala <nabige.aala@oss.qualcomm.com>
description:
Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
sub-blocks like DPU display controller and DSI. Device tree bindings of MDSS
- are mentioned for QCM2290 target.
+ are mentioned for QCM2290 and Shikra targets. Shikra uses the same MDSS/DPU/DSI
+ hardware as QCM2290 (DPU 6.5) and shares the same register layout.
$ref: /schemas/display/msm/mdss-common.yaml#
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,qcm2290-mdss
+ - qcom,shikra-mdss
+ required:
+ - compatible
+
properties:
compatible:
- const: qcom,qcm2290-mdss
+ enum:
+ - qcom,qcm2290-mdss
+ - qcom,shikra-mdss
clocks:
items:
@@ -52,7 +66,9 @@ patternProperties:
properties:
compatible:
- const: qcom,qcm2290-dpu
+ enum:
+ - qcom,qcm2290-dpu
+ - qcom,shikra-dpu
"^dsi@[0-9a-f]+$":
type: object
@@ -60,9 +76,13 @@ patternProperties:
properties:
compatible:
- items:
- - const: qcom,qcm2290-dsi-ctrl
- - const: qcom,mdss-dsi-ctrl
+ oneOf:
+ - items:
+ - const: qcom,qcm2290-dsi-ctrl
+ - const: qcom,mdss-dsi-ctrl
+ - items:
+ - const: qcom,shikra-dsi-ctrl
+ - const: qcom,mdss-dsi-ctrl
"^phy@[0-9a-f]+$":
type: object
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS
2026-06-03 14:59 ` [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS Nabige Aala
@ 2026-06-03 15:12 ` sashiko-bot
2026-06-03 23:08 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: sashiko-bot @ 2026-06-03 15:12 UTC (permalink / raw)
To: Nabige Aala; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Missing 'allOf' conditional block update for new compatible string `qcom,shikra-dsi-ctrl`.
--
commit b5545b2692efb6a451931fc9c3057819063bbe07
Author: Nabige Aala <nabige.aala@oss.qualcomm.com>
dt-bindings: display: msm: qcm2290: Add Shikra MDSS
This commit introduces the Shikra MDSS and DSI hardware device tree bindings.
It adds the qcom,shikra-mdss, qcom,shikra-dpu, and qcom,shikra-dsi-ctrl
compatible strings to existing binding files, sharing the hardware definitions
used by the QCM2290 and related displays.
> diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> index dbc0613e427ed..a2f3e91104af3 100644
> --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
> @@ -33,6 +33,7 @@ properties:
> - qcom,sdm660-dsi-ctrl
> - qcom,sdm670-dsi-ctrl
> - qcom,sdm845-dsi-ctrl
> + - qcom,shikra-dsi-ctrl
[Severity: Medium]
Is it a regression that qcom,shikra-dsi-ctrl was omitted from the allOf
if-then conditional block further down in this file?
Since Shikra shares the 6-clock requirement ('byte', 'byte_intf', 'pixel',
'core', 'iface', 'bus') with related platforms like SM6115, it seems it
should be included in the allOf block that enforces this:
- if:
properties:
compatible:
contains:
enum:
- qcom,milos-dsi-ctrl
- qcom,msm8998-dsi-ctrl
...
- qcom,sm6115-dsi-ctrl
Without updating that block, won't dt_binding_check fall back to loose
top-level constraints and silently permit invalid Shikra device trees to pass
validation?
> - qcom,sm6115-dsi-ctrl
> - qcom,sm6125-dsi-ctrl
> - qcom,sm6150-dsi-ctrl
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260603-shikra-display-v1-0-aeac1b94faa7@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS
2026-06-03 14:59 ` [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS Nabige Aala
2026-06-03 15:12 ` sashiko-bot
@ 2026-06-03 23:08 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-06-03 23:08 UTC (permalink / raw)
To: Nabige Aala
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD), linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, iommu, linux-arm-kernel
On Wed, Jun 03, 2026 at 08:29:26PM +0530, Nabige Aala wrote:
> Shikra SoC uses the same MDSS/DPU/DSI hardware as QCM2290 (DPU 6.5),
> sharing the same register layout, DSI controller and 14nm DSI PHY.
> Add qcom,shikra-mdss to the qcm2290-mdss binding compatible enum
> rather than introducing a separate binding file.
Why are you introducing the sole compat string instead of using Agatti
one as a fallback?
>
> Register qcom,shikra-dsi-ctrl in dsi-controller-main.yaml alongside
> qcom,qcm2290-dsi-ctrl, and update the qcm2290-mdss patternProperties
> to accept both SoC-specific DPU and DSI controller compatibles.
>
> Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
> ---
> .../bindings/display/msm/dsi-controller-main.yaml | 1 +
> .../bindings/display/msm/qcom,qcm2290-dpu.yaml | 4 ++-
> .../bindings/display/msm/qcom,qcm2290-mdss.yaml | 34 +++++++++++++++++-----
> 3 files changed, 31 insertions(+), 8 deletions(-)
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/5] drm/msm/mdss: Add Shikra support
2026-06-03 14:59 [PATCH 0/5] Subject: [PATCH 0/5] Add Shikra (QCM2290) display support Nabige Aala
2026-06-03 14:59 ` [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS Nabige Aala
@ 2026-06-03 14:59 ` Nabige Aala
2026-06-03 23:09 ` Dmitry Baryshkov
2026-06-03 14:59 ` [PATCH 3/5] arm64: defconfig: Enable ILI7807S DSI panel driver Nabige Aala
` (2 subsequent siblings)
4 siblings, 1 reply; 14+ messages in thread
From: Nabige Aala @ 2026-06-03 14:59 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
iommu, linux-arm-kernel, Nabige Aala
Add Mobile Display Subsystem (MDSS) support for the Shikra platform.
Shikra uses the same MDSS and DPU 6.5 hardware as QCM2290, so it
reuses the same AHB clock rate configuration (data_76k8) and DPU
catalog. Register qcom,shikra-dpu in the DPU KMS match table pointing
to dpu_qcm2290_cfg.
Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 1 +
drivers/gpu/drm/msm/msm_mdss.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index da3556eb6ecc..8abe8ef6fa9a 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1496,6 +1496,7 @@ static const struct of_device_id dpu_dt_match[] = {
{ .compatible = "qcom,sdm660-mdp5", .data = &dpu_sdm660_cfg, },
{ .compatible = "qcom,sdm670-dpu", .data = &dpu_sdm670_cfg, },
{ .compatible = "qcom,sdm845-dpu", .data = &dpu_sdm845_cfg, },
+ { .compatible = "qcom,shikra-dpu", .data = &dpu_qcm2290_cfg, },
{ .compatible = "qcom,sc7180-dpu", .data = &dpu_sc7180_cfg, },
{ .compatible = "qcom,sc7280-dpu", .data = &dpu_sc7280_cfg, },
{ .compatible = "qcom,sc8180x-dpu", .data = &dpu_sc8180x_cfg, },
diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
index 9087c4b290db..03f27e6b0ae7 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -537,6 +537,7 @@ static const struct of_device_id mdss_dt_match[] = {
{ .compatible = "qcom,sar2130p-mdss", .data = &data_74k },
{ .compatible = "qcom,sdm670-mdss", .data = &data_76k8 },
{ .compatible = "qcom,sdm845-mdss", .data = &data_76k8 },
+ { .compatible = "qcom,shikra-mdss", .data = &data_76k8 },
{ .compatible = "qcom,sc7180-mdss", .data = &data_76k8 },
{ .compatible = "qcom,sc7280-mdss", .data = &data_74k },
{ .compatible = "qcom,sc8180x-mdss", .data = &data_76k8 },
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 2/5] drm/msm/mdss: Add Shikra support
2026-06-03 14:59 ` [PATCH 2/5] drm/msm/mdss: Add Shikra support Nabige Aala
@ 2026-06-03 23:09 ` Dmitry Baryshkov
0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-06-03 23:09 UTC (permalink / raw)
To: Nabige Aala
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD), linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, iommu, linux-arm-kernel
On Wed, Jun 03, 2026 at 08:29:27PM +0530, Nabige Aala wrote:
> Add Mobile Display Subsystem (MDSS) support for the Shikra platform.
> Shikra uses the same MDSS and DPU 6.5 hardware as QCM2290, so it
> reuses the same AHB clock rate configuration (data_76k8) and DPU
> catalog. Register qcom,shikra-dpu in the DPU KMS match table pointing
> to dpu_qcm2290_cfg.
>
> Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 1 +
> drivers/gpu/drm/msm/msm_mdss.c | 1 +
> 2 files changed, 2 insertions(+)
>
This points out that the previous comment was correct. Drop this patch
and use compat strings.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/5] arm64: defconfig: Enable ILI7807S DSI panel driver
2026-06-03 14:59 [PATCH 0/5] Subject: [PATCH 0/5] Add Shikra (QCM2290) display support Nabige Aala
2026-06-03 14:59 ` [PATCH 1/5] dt-bindings: display: msm: qcm2290: Add Shikra MDSS Nabige Aala
2026-06-03 14:59 ` [PATCH 2/5] drm/msm/mdss: Add Shikra support Nabige Aala
@ 2026-06-03 14:59 ` Nabige Aala
2026-06-03 23:09 ` Dmitry Baryshkov
2026-06-03 14:59 ` [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config Nabige Aala
2026-06-03 14:59 ` [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables Nabige Aala
4 siblings, 1 reply; 14+ messages in thread
From: Nabige Aala @ 2026-06-03 14:59 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
iommu, linux-arm-kernel, Nabige Aala
Enable the ILI7807S 1080x1920 video-mode DSI panel driver as a module,
used on the Shikra CQM EVK board.
Signed-off-by: Nabige Aala <nabige.aala@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 909f3c188e75..a6d72ff63e57 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1005,6 +1005,7 @@ CONFIG_DRM_MXSFB=m
CONFIG_DRM_IMX_LCDIF=m
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
+CONFIG_DRM_PANEL_ILITEK_ILI7807S=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_HIMAX_HX8279=m
CONFIG_DRM_PANEL_HIMAX_HX83112A=m
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/5] arm64: defconfig: Enable ILI7807S DSI panel driver
2026-06-03 14:59 ` [PATCH 3/5] arm64: defconfig: Enable ILI7807S DSI panel driver Nabige Aala
@ 2026-06-03 23:09 ` Dmitry Baryshkov
0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-06-03 23:09 UTC (permalink / raw)
To: Nabige Aala
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD), linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, iommu, linux-arm-kernel
On Wed, Jun 03, 2026 at 08:29:28PM +0530, Nabige Aala wrote:
> Enable the ILI7807S 1080x1920 video-mode DSI panel driver as a module,
> used on the Shikra CQM EVK board.
>
> Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
> ---
> arch/arm64/configs/defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config
2026-06-03 14:59 [PATCH 0/5] Subject: [PATCH 0/5] Add Shikra (QCM2290) display support Nabige Aala
` (2 preceding siblings ...)
2026-06-03 14:59 ` [PATCH 3/5] arm64: defconfig: Enable ILI7807S DSI panel driver Nabige Aala
@ 2026-06-03 14:59 ` Nabige Aala
2026-06-03 15:30 ` sashiko-bot
2026-06-03 23:12 ` Dmitry Baryshkov
2026-06-03 14:59 ` [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables Nabige Aala
4 siblings, 2 replies; 14+ messages in thread
From: Nabige Aala @ 2026-06-03 14:59 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
iommu, linux-arm-kernel, Nabige Aala
Add UBWC configuration for the Shikra platform. Shikra has no UBWC
support and no highest_bank_bit setting, so use no_ubwc_data.
Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
---
drivers/soc/qcom/ubwc_config.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
index 3fe47d8f0f63..01dca97e2671 100644
--- a/drivers/soc/qcom/ubwc_config.c
+++ b/drivers/soc/qcom/ubwc_config.c
@@ -278,6 +278,7 @@ static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
{ .compatible = "qcom,sdm660", .data = &msm8937_data },
{ .compatible = "qcom,sdm670", .data = &sdm670_data, },
{ .compatible = "qcom,sdm845", .data = &sdm845_data, },
+ { .compatible = "qcom,shikra", .data = &no_ubwc_data, },
{ .compatible = "qcom,sm4250", .data = &sm6115_data, },
{ .compatible = "qcom,sm6115", .data = &sm6115_data, },
{ .compatible = "qcom,sm6125", .data = &sm6125_data, },
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config
2026-06-03 14:59 ` [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config Nabige Aala
@ 2026-06-03 15:30 ` sashiko-bot
2026-06-03 23:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: sashiko-bot @ 2026-06-03 15:30 UTC (permalink / raw)
To: Nabige Aala; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Assigning `no_ubwc_data` to the modern DPU-based Shikra platform causes an integer underflow in the MDSS display driver. `no_ubwc_data` zero-initializes `.highest_bank_bit`. For older MDP5 platforms, this is safe because `msm_mdss_enable()` skips UBWC setup entirely. However, Shikra is a modern DPU platform (MDSS HW ver 6.5), so `msm_mdss_enable()` unconditionally calls `msm_mdss_6x_setup_ubwc()`. This function executes `MDSS_UBWC_STATIC_HIGHEST_BANK_BIT(data->highest_bank_bit - 13)`. With `highest_bank_bit == 0`, this underflows to `-13`, writing garbage configuration bits to the `REG_MDSS_UBWC_STATIC` hardware register. Additionally, this introduces a latent kernel panic: if an Adreno GPU driver is later enabled for Shikra, `a6xx_set_ubwc_config()` will trigger an unconditional `BUG_ON(cfg->highest_bank_bit < 13)` during probe. The correct approach for modern platforms without UBWC is to supply a dummy configuration with `.highest_bank_bit >= 13` (as seen in `qcm2290_data` which sets it to 15).
--
commit 75083d2d954151a192078564961f45c04709ad91
Author: Nabige Aala <nabige.aala@oss.qualcomm.com>
soc: qcom: ubwc: Add Shikra UBWC config
Add UBWC configuration for the Shikra platform. Shikra has no UBWC
support and no highest_bank_bit setting, so use no_ubwc_data.
> diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> index 3fe47d8f0f638..01dca97e26714 100644
> --- a/drivers/soc/qcom/ubwc_config.c
> +++ b/drivers/soc/qcom/ubwc_config.c
> @@ -278,6 +278,7 @@ static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> { .compatible = "qcom,sdm660", .data = &msm8937_data },
> { .compatible = "qcom,sdm670", .data = &sdm670_data, },
> { .compatible = "qcom,sdm845", .data = &sdm845_data, },
> + { .compatible = "qcom,shikra", .data = &no_ubwc_data, },
[Severity: High]
Will using no_ubwc_data cause an integer underflow on modern DPU platforms?
The no_ubwc_data structure zero-initializes the highest_bank_bit field.
Because Shikra is a modern DPU platform, msm_mdss_enable() unconditionally
calls msm_mdss_6x_setup_ubwc() in drivers/gpu/drm/msm/msm_mdss.c, which
performs this calculation:
MDSS_UBWC_STATIC_HIGHEST_BANK_BIT(data->highest_bank_bit - 13);
If highest_bank_bit is 0, this results in -13 and writes corrupted bits
to the REG_MDSS_UBWC_STATIC hardware register.
Additionally, will this configuration trigger a kernel panic if an Adreno
GPU driver is later enabled? In a6xx_set_ubwc_config(), there is an
unconditional check:
BUG_ON(cfg->highest_bank_bit < 13);
Should this platform instead use a dummy configuration with highest_bank_bit
set to a value >= 13, similar to how qcm2290_data sets it to 15?
> { .compatible = "qcom,sm4250", .data = &sm6115_data, },
> { .compatible = "qcom,sm6115", .data = &sm6115_data, },
> { .compatible = "qcom,sm6125", .data = &sm6125_data, },
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260603-shikra-display-v1-0-aeac1b94faa7@oss.qualcomm.com?part=4
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config
2026-06-03 14:59 ` [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config Nabige Aala
2026-06-03 15:30 ` sashiko-bot
@ 2026-06-03 23:12 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-06-03 23:12 UTC (permalink / raw)
To: Nabige Aala
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD), linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, iommu, linux-arm-kernel
On Wed, Jun 03, 2026 at 08:29:29PM +0530, Nabige Aala wrote:
> Add UBWC configuration for the Shikra platform. Shikra has no UBWC
> support and no highest_bank_bit setting, so use no_ubwc_data.
>
> Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
> ---
> drivers/soc/qcom/ubwc_config.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> index 3fe47d8f0f63..01dca97e2671 100644
> --- a/drivers/soc/qcom/ubwc_config.c
> +++ b/drivers/soc/qcom/ubwc_config.c
> @@ -278,6 +278,7 @@ static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> { .compatible = "qcom,sdm660", .data = &msm8937_data },
> { .compatible = "qcom,sdm670", .data = &sdm670_data, },
> { .compatible = "qcom,sdm845", .data = &sdm845_data, },
> + { .compatible = "qcom,shikra", .data = &no_ubwc_data, },
qcm2290_data
> { .compatible = "qcom,sm4250", .data = &sm6115_data, },
> { .compatible = "qcom,sm6115", .data = &sm6115_data, },
> { .compatible = "qcom,sm6125", .data = &sm6125_data, },
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables
2026-06-03 14:59 [PATCH 0/5] Subject: [PATCH 0/5] Add Shikra (QCM2290) display support Nabige Aala
` (3 preceding siblings ...)
2026-06-03 14:59 ` [PATCH 4/5] soc: qcom: ubwc: Add Shikra UBWC config Nabige Aala
@ 2026-06-03 14:59 ` Nabige Aala
2026-06-03 15:35 ` sashiko-bot
2026-06-03 23:11 ` Dmitry Baryshkov
4 siblings, 2 replies; 14+ messages in thread
From: Nabige Aala @ 2026-06-03 14:59 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel,
iommu, linux-arm-kernel, Nabige Aala
Register the Shikra MDSS display subsystem in both the SMMU ACTLR
client table (for TLB prefetch tuning) and the SMMU client match table.
Shikra MDSS uses qcom,shikra-mdss as its sole compatible string, so
explicit entries are required — there is no fallback to qcom,qcm2290-mdss
to fall back on. The prefetch settings mirror qcm2290-mdss
(PREFETCH_SHALLOW | CPRE | CMTLB) as Shikra shares the same display
hardware block.
No entry is needed in qcom_smmu_impl_of_match: Shikra's apps_smmu
carries qcom,smmu-500 as a fallback and is covered by the catch-all
entry there.
Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
---
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
index e2c914fccd6f..3dfee947e2c9 100644
--- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
+++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
@@ -45,6 +45,8 @@ static const struct of_device_id qcom_smmu_actlr_client_of_match[] = {
.data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
{ .compatible = "qcom,qcm2290-mdss",
.data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+ { .compatible = "qcom,shikra-mdss",
+ .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
{ .compatible = "qcom,sa8775p-mdss",
.data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
{ .compatible = "qcom,sc7280-mdss",
@@ -410,6 +412,7 @@ static const struct of_device_id qcom_smmu_client_of_match[] __maybe_unused = {
{ .compatible = "qcom,mdp4" },
{ .compatible = "qcom,mdss" },
{ .compatible = "qcom,qcm2290-mdss" },
+ { .compatible = "qcom,shikra-mdss" },
{ .compatible = "qcom,sar2130p-mdss" },
{ .compatible = "qcom,sc7180-mdss" },
{ .compatible = "qcom,sc7180-mss-pil" },
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables
2026-06-03 14:59 ` [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables Nabige Aala
@ 2026-06-03 15:35 ` sashiko-bot
2026-06-03 23:11 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: sashiko-bot @ 2026-06-03 15:35 UTC (permalink / raw)
To: Nabige Aala; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The entries for `qcom,shikra-mdss` are inserted out of alphabetical order in the device match tables.
--
commit c3b00b57dda4a11308898354c0f31b116dd3d96c
Author: Nabige Aala <nabige.aala@oss.qualcomm.com>
iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables
Register the Shikra MDSS display subsystem in both the SMMU ACTLR
client table and the SMMU client match table.
> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> index e2c914fccd6fc..3dfee947e2c9f 100644
> --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
> @@ -45,6 +45,8 @@ static const struct of_device_id qcom_smmu_actlr_client_of_match[] = {
> .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
> { .compatible = "qcom,qcm2290-mdss",
> .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
> + { .compatible = "qcom,shikra-mdss",
> + .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
[Severity: Low]
This isn't a bug, but should this entry be placed in alphabetical order?
It looks like it was inserted right after qcm2290-mdss because it mirrors the
hardware prefetch settings. However, it seems these match tables are usually
kept in strict alphabetical order to prevent merge conflicts and duplicates.
Would it be better placed between sc8280xp-mdss and sm6115-mdss?
> { .compatible = "qcom,sa8775p-mdss",
> .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
> { .compatible = "qcom,sc7280-mdss",
[ ... ]
> @@ -410,6 +412,7 @@ static const struct of_device_id qcom_smmu_client_of_match[] __maybe_unused = {
> { .compatible = "qcom,mdp4" },
> { .compatible = "qcom,mdss" },
> { .compatible = "qcom,qcm2290-mdss" },
> + { .compatible = "qcom,shikra-mdss" },
[Severity: Low]
Similarly, should this be placed alphabetically between sdm845-mss-pil and
sm6115-mdss to maintain the list ordering?
> { .compatible = "qcom,sar2130p-mdss" },
> { .compatible = "qcom,sc7180-mdss" },
> { .compatible = "qcom,sc7180-mss-pil" },
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260603-shikra-display-v1-0-aeac1b94faa7@oss.qualcomm.com?part=5
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables
2026-06-03 14:59 ` [PATCH 5/5] iommu/arm-smmu: Add qcom,shikra-mdss to Qualcomm SMMU client tables Nabige Aala
2026-06-03 15:35 ` sashiko-bot
@ 2026-06-03 23:11 ` Dmitry Baryshkov
1 sibling, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-06-03 23:11 UTC (permalink / raw)
To: Nabige Aala
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Manikandan,
Loic Poulain, Bjorn Andersson, Konrad Dybcio, Will Deacon,
Robin Murphy, Joerg Roedel (AMD), linux-arm-msm, dri-devel,
freedreno, devicetree, linux-kernel, iommu, linux-arm-kernel
On Wed, Jun 03, 2026 at 08:29:30PM +0530, Nabige Aala wrote:
> Register the Shikra MDSS display subsystem in both the SMMU ACTLR
> client table (for TLB prefetch tuning) and the SMMU client match table.
>
> Shikra MDSS uses qcom,shikra-mdss as its sole compatible string, so
> explicit entries are required — there is no fallback to qcom,qcm2290-mdss
> to fall back on. The prefetch settings mirror qcm2290-mdss
> (PREFETCH_SHALLOW | CPRE | CMTLB) as Shikra shares the same display
> hardware block.
>
> No entry is needed in qcom_smmu_impl_of_match: Shikra's apps_smmu
> carries qcom,smmu-500 as a fallback and is covered by the catch-all
> entry there.
>
> Signed-off-by: Nabige Aala <nabige.aala@oss.qualcomm.com>
> ---
> drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 3 +++
> 1 file changed, 3 insertions(+)
>
NAK, use qcm2290 as a fallback. You won't need this patch.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread