Devicetree
 help / color / mirror / Atom feed
* [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
@ 2026-11-05 10:40 Chiluka Rohith
  2026-11-05 11:03 ` sashiko-bot
  0 siblings, 1 reply; 7+ messages in thread
From: Chiluka Rohith @ 2026-11-05 10:40 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Abel Vesa, linux-arm-msm, devicetree, linux-kernel,
	Chiluka Rohith

Add a DAI link for the DisplayPort RX path so that audio can be
routed over DisplayPort on glymur-crd. The link wires up the
DISPLAY_PORT_RX_1 backend of the q6apm ADSP to the mdss_dp1
controller, with q6apm providing the platform (DMA) component.

Signed-off-by: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur-crd.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
index 58158b51fe29..eee75da20198 100644
--- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
@@ -268,6 +268,22 @@ platform {
 			};
 		};
 
+		dp-dai-link {
+			link-name = "DISPLAY_PORT-RX";
+
+			codec {
+				sound-dai = <&mdss_dp1>;
+			};
+
+			cpu {
+				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
+			};
+
+			platform {
+				sound-dai = <&q6apm>;
+			};
+		};
+
 		va-dai-link {
 			link-name = "VA Capture";
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
@ 2026-11-05 10:46 Chiluka Rohith
  2026-11-05 10:56 ` sashiko-bot
  0 siblings, 1 reply; 7+ messages in thread
From: Chiluka Rohith @ 2026-11-05 10:46 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Abel Vesa, linux-arm-msm, devicetree, linux-kernel,
	Chiluka Rohith

Add a DAI link for the DisplayPort RX path so that audio can be
routed over DisplayPort on glymur-crd. The link wires up the
DISPLAY_PORT_RX_1 backend of the q6apm ADSP to the mdss_dp1
controller, with q6apm providing the platform (DMA) component.

Signed-off-by: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur-crd.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
index 58158b51fe29..eee75da20198 100644
--- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
@@ -268,6 +268,22 @@ platform {
 			};
 		};
 
+		dp-dai-link {
+			link-name = "DISPLAY_PORT-RX";
+
+			codec {
+				sound-dai = <&mdss_dp1>;
+			};
+
+			cpu {
+				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
+			};
+
+			platform {
+				sound-dai = <&q6apm>;
+			};
+		};
+
 		va-dai-link {
 			link-name = "VA Capture";
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
@ 2026-11-05 10:46 Chiluka Rohith
  2026-11-05 11:11 ` sashiko-bot
  2026-11-05 12:07 ` Konrad Dybcio
  0 siblings, 2 replies; 7+ messages in thread
From: Chiluka Rohith @ 2026-11-05 10:46 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Abel Vesa, linux-arm-msm, devicetree, linux-kernel,
	Chiluka Rohith

Add a DAI link for the DisplayPort RX path so that audio can be
routed over DisplayPort on glymur-crd. The link wires up the
DISPLAY_PORT_RX_1 backend of the q6apm ADSP to the mdss_dp1
controller, with q6apm providing the platform (DMA) component.

Signed-off-by: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur-crd.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
index 58158b51fe29..eee75da20198 100644
--- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
@@ -268,6 +268,22 @@ platform {
 			};
 		};
 
+		dp-dai-link {
+			link-name = "DISPLAY_PORT-RX";
+
+			codec {
+				sound-dai = <&mdss_dp1>;
+			};
+
+			cpu {
+				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
+			};
+
+			platform {
+				sound-dai = <&q6apm>;
+			};
+		};
+
 		va-dai-link {
 			link-name = "VA Capture";
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
  2026-11-05 10:46 Chiluka Rohith
@ 2026-11-05 10:56 ` sashiko-bot
  0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-11-05 10:56 UTC (permalink / raw)
  To: Chiluka Rohith; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] arm64: dts: qcom: glymur-crd: dp-dai-link breaks sound probe on mahua-crd
--

commit a434cb6530336de83a46c26f22333629bcaaf510
Author: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>

arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link

This commit adds a DisplayPort RX DAI link to the sound node in
glymur-crd.dtsi, wiring the DISPLAY_PORT_RX_1 backend of q6apmbedai to the
mdss_dp1 controller.

> diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> index 58158b51fe295..eee75da201983 100644
> --- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> @@ -268,6 +268,22 @@ platform {
>  			};
>  		};
>  
> +		dp-dai-link {
> +			link-name = "DISPLAY_PORT-RX";
> +
> +			codec {
> +				sound-dai = <&mdss_dp1>;
> +			};
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};

[Severity: High]
Will adding this unconditionally enabled dp-dai-link node in glymur-crd.dtsi
break sound card probe on mahua-crd?

arch/arm64/boot/dts/qcom/glymur-crd.dtsi is shared by both glymur-crd.dts and
mahua-crd.dts:

arch/arm64/boot/dts/qcom/mahua-crd.dts:
    #include "mahua.dtsi"
    #include "glymur-crd.dtsi"

In arch/arm64/boot/dts/qcom/glymur.dtsi (included by both glymur-crd.dts and
mahua.dtsi), mdss_dp0 and mdss_dp1 default to disabled:

arch/arm64/boot/dts/qcom/glymur.dtsi:
    mdss_dp1: displayport-controller@aea0000 {
        ...
        #sound-dai-cells = <0>;

        status = "disabled";

mdss_dp0 and mdss_dp1 are only enabled in glymur-crd.dts, while remaining
disabled in mahua.dtsi and mahua-crd.dts:

arch/arm64/boot/dts/qcom/glymur-crd.dts:
    &mdss_dp0 {
        status = "okay";
    };

    &mdss_dp1 {
        status = "okay";
    };

When x1e80100_platform_probe() -> qcom_snd_parse_of() parses the available
child nodes of /sound on mahua-crd, it calls:

qcom_snd_parse_of()
  -> snd_soc_of_get_dai_link_codecs()
    -> snd_soc_of_get_dlc()
      -> snd_soc_get_dlc()

Because mdss_dp1 is disabled on mahua-crd, the DP controller never probes or
registers its hdmi-audio-codec ASoC component, causing snd_soc_get_dlc() to
return -EPROBE_DEFER indefinitely and preventing the entire sound card (and
existing WSA speaker and VA capture links) from probing on Mahua CRD.

In addition, glymur-crd.dts enables both mdss_dp0 and mdss_dp1, whereas this
patch only adds a DAI link for mdss_dp1. Should the DP DAI link(s) match the
enabled DP controllers and only be enabled where the corresponding mdss_dp
nodes are enabled?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261105104624.621024-1-rohith.chiluka@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
  2026-11-05 10:40 Chiluka Rohith
@ 2026-11-05 11:03 ` sashiko-bot
  0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-11-05 11:03 UTC (permalink / raw)
  To: Chiluka Rohith; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] arm64: dts: qcom: glymur-crd: dp-dai-link breaks sound probe on mahua-crd
- [Medium] arm64: dts: qcom: glymur-crd: missing mdss_dp0 DAI link and disabled mdss_dp1 on mahua-crd
--

commit 08a824dc35410c5805c76e45de4e1800714bcfaf
Author: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>

arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link

This commit adds a DisplayPort RX DAI link to the sound node in
glymur-crd.dtsi, connecting the q6apmbedai DISPLAY_PORT_RX_1 backend to the
mdss_dp1 controller.

> diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> index 58158b51fe295..eee75da201983 100644
> --- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> @@ -268,6 +268,22 @@ platform {
>  			};
>  		};
>  
> +		dp-dai-link {
> +			link-name = "DISPLAY_PORT-RX";
> +
> +			codec {
> +				sound-dai = <&mdss_dp1>;
> +			};

[Severity: High]
Does adding this dp-dai-link unconditionally in glymur-crd.dtsi break sound
card probing on mahua-crd?

In arch/arm64/boot/dts/qcom/glymur.dtsi, mdss_dp1 is disabled by default. It
is only enabled in arch/arm64/boot/dts/qcom/glymur-crd.dts:

&mdss_dp1 {
	status = "okay";
};

However, arch/arm64/boot/dts/qcom/mahua-crd.dts also includes glymur-crd.dtsi
without enabling mdss_dp1:

#include "mahua.dtsi"
#include "glymur-crd.dtsi"

When mahua-crd boots, x1e80100_platform_probe() -> qcom_snd_parse_of()
iterates over all available child nodes of /sound and calls
snd_soc_of_get_dai_link_codecs() -> snd_soc_of_get_dlc() ->
snd_soc_get_dlc():

sound/soc/qcom/common.c:qcom_snd_parse_of() {
	...
		if (codec) {
			ret = snd_soc_of_get_dai_link_codecs(dev, codec, link);
			if (ret < 0) {
				dev_err_probe(dev, ret,
					      "%s: codec dai not found\n", link->name);
				return ret;
			}
	...
}

Because mdss_dp1 remains disabled on mahua-crd, its ASoC component is never
registered, causing snd_soc_get_dlc() to return -EPROBE_DEFER permanently and
preventing the entire sound card (including speaker playback and VA DMIC
capture) from registering on Mahua CRD.

> +
> +			cpu {
> +				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};

[Severity: Medium]
Should mdss_dp0 (DISPLAY_PORT_RX_0) also be wired up here, and should the node
and link names match the other qcom,glymur-sndcard boards?

Both USB Type-C connectors in arch/arm64/boot/dts/qcom/glymur-crd.dtsi route
DisplayPort (connector@0 via usb_0_qmpphy to mdss_dp0, and connector@1 via
usb_1_qmpphy to mdss_dp1), and arch/arm64/boot/dts/qcom/glymur-crd.dts enables
both mdss_dp0 and mdss_dp1:

&mdss_dp0 {
	status = "okay";
};

&mdss_dp0_out {
	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};

&mdss_dp1 {
	status = "okay";
};

Additionally, sibling boards using the same sound card driver
(sound/soc/qcom/x1e80100.c), such as
arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts and
arch/arm64/boot/dts/qcom/x1-crd.dtsi, define both links using
displayport-0-dai-link and displayport-1-dai-link:

		displayport-0-dai-link {
			link-name = "DisplayPort0 Playback";

			cpu {
				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
			};

			codec {
				sound-dai = <&mdss_dp0>;
			};

			platform {
				sound-dai = <&q6apm>;
			};
		};

		displayport-1-dai-link {
			link-name = "DisplayPort1 Playback";

Wait: if mdss_dp0 and mdss_dp1 are only enabled in glymur-crd.dts while
remaining disabled in mahua-crd.dts, should the DisplayPort DAI links either
be placed in glymur-crd.dts or have mdss_dp0 and mdss_dp1 enabled across the
boards that include glymur-crd.dtsi?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261105104013.614413-1-rohith.chiluka@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
  2026-11-05 10:46 [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link Chiluka Rohith
@ 2026-11-05 11:11 ` sashiko-bot
  2026-11-05 12:07 ` Konrad Dybcio
  1 sibling, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-11-05 11:11 UTC (permalink / raw)
  To: Chiluka Rohith; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] arm64: dts: qcom: glymur-crd: dp-dai-link breaks sound probe on mahua-crd
- [Medium] arm64: dts: qcom: glymur-crd: incomplete and unenabled DP audio DAI link
--

commit bb4f3b10ef946c74b24095ec32db334ac56b222c
Author: Chiluka Rohith <rohith.chiluka@oss.qualcomm.com>

arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link

This commit adds a DisplayPort RX DAI link to the sound node in
glymur-crd.dtsi, wiring the DISPLAY_PORT_RX_1 backend of q6apm to the
mdss_dp1 controller.

> diff --git a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> index 58158b51fe295..eee75da201983 100644
> --- a/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur-crd.dtsi
> @@ -268,6 +268,22 @@ platform {
>  			};
>  		};
>  
> +		dp-dai-link {
> +			link-name = "DISPLAY_PORT-RX";
> +
> +			codec {
> +				sound-dai = <&mdss_dp1>;
> +			};

[Severity: High]
Does adding this active dp-dai-link node to the shared
arch/arm64/boot/dts/qcom/glymur-crd.dtsi break probing of the entire sound
card on mahua-crd?

arch/arm64/boot/dts/qcom/glymur-crd.dtsi is included by both
arch/arm64/boot/dts/qcom/glymur-crd.dts and
arch/arm64/boot/dts/qcom/mahua-crd.dts:

arch/arm64/boot/dts/qcom/mahua-crd.dts:
    #include "mahua.dtsi"
    #include "glymur-crd.dtsi"

In arch/arm64/boot/dts/qcom/glymur.dtsi, mdss_dp1 defaults to disabled:

arch/arm64/boot/dts/qcom/glymur.dtsi:
    mdss_dp1: displayport-controller@af5c000 {
        ...
        #sound-dai-cells = <0>;

        status = "disabled";
    };

While arch/arm64/boot/dts/qcom/glymur-crd.dts enables mdss_dp1, neither
glymur-crd.dtsi nor mahua-crd.dts enables it.

When booting mahua-crd, x1e80100_platform_probe() -> qcom_snd_parse_of()
iterates over all available child nodes of /sound and calls
snd_soc_of_get_dai_link_codecs() -> snd_soc_of_get_dlc() ->
snd_soc_get_dlc():

sound/soc/qcom/common.c:qcom_snd_parse_of()
    if (codec) {
        ret = snd_soc_of_get_dai_link_codecs(dev, codec, link);
        if (ret < 0) {
            dev_err_probe(dev, ret,
                          "%s: codec dai not found\n", link->name);
            return ret;
        }
    }

Because mdss_dp1 is disabled on mahua-crd, msm_dp_display_probe() never runs
for mdss_dp1 and never registers its ASoC codec component, causing
snd_soc_get_dlc() to return -EPROBE_DEFER permanently and preventing the
qcom,glymur-sndcard sound card (including WSA speaker playback and VA DMIC
capture) from registering on mahua-crd.

> +
> +			cpu {
> +				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};

[Severity: Medium]
Should this also wire up the first DisplayPort controller (mdss_dp0 with
DISPLAY_PORT_RX_0) and follow the DisplayPort DAI link naming used by other
boards handled by sound/soc/qcom/x1e80100.c?

In arch/arm64/boot/dts/qcom/glymur-crd.dtsi, two DisplayPort-capable USB-C
connectors are defined under pmic-glink (connector@0 routed via usb_0_qmpphy
to mdss_dp0, and connector@1 routed via usb_1_qmpphy to mdss_dp1), and
arch/arm64/boot/dts/qcom/glymur-crd.dts enables both controllers:

arch/arm64/boot/dts/qcom/glymur-crd.dts:
    &mdss_dp0 {
        status = "okay";
    };
    ...
    &mdss_dp1 {
        status = "okay";
    };

However, this patch only adds a link for mdss_dp1 (DISPLAY_PORT_RX_1) and
omits mdss_dp0 (DISPLAY_PORT_RX_0).

In addition, other boards using sound/soc/qcom/x1e80100.c (such as
arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts, which also
uses compatible = "qcom,glymur-sndcard", as well as x1-crd.dtsi) name these
nodes displayport-0-dai-link and displayport-1-dai-link with link-name set
to "DisplayPort0 Playback" and "DisplayPort1 Playback" instead of
dp-dai-link and "DISPLAY_PORT-RX":

arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts:
    displayport-0-dai-link {
        link-name = "DisplayPort0 Playback";

        cpu {
            sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
        };

        codec {
            sound-dai = <&mdss_dp0>;
        };

        platform {
            sound-dai = <&q6apm>;
        };
    };

    displayport-1-dai-link {
        link-name = "DisplayPort1 Playback";
        ...
    };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261105104657.621104-1-rohith.chiluka@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link
  2026-11-05 10:46 [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link Chiluka Rohith
  2026-11-05 11:11 ` sashiko-bot
@ 2026-11-05 12:07 ` Konrad Dybcio
  1 sibling, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-11-05 12:07 UTC (permalink / raw)
  To: Chiluka Rohith, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Abel Vesa, linux-arm-msm, devicetree, linux-kernel

On 11/5/26 11:46 AM, Chiluka Rohith wrote:
> Add a DAI link for the DisplayPort RX path so that audio can be
> routed over DisplayPort on glymur-crd. The link wires up the
> DISPLAY_PORT_RX_1 backend of the q6apm ADSP to the mdss_dp1
> controller, with q6apm providing the platform (DMA) component.

Why do you think we should only have audio on dp1?

Konrad

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-11-05 12:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 10:46 [PATCH v1] arm64: dts: qcom: glymur-crd: add DisplayPort audio DAI link Chiluka Rohith
2026-11-05 11:11 ` sashiko-bot
2026-11-05 12:07 ` Konrad Dybcio
  -- strict thread matches above, loose matches on Subject: below --
2026-11-05 10:46 Chiluka Rohith
2026-11-05 10:56 ` sashiko-bot
2026-11-05 10:40 Chiluka Rohith
2026-11-05 11:03 ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox