Skip to content

topology2: sof-mtl-rt713-l0-rt1316-l12-rt1713-l3: Enable ChainDMA#8527

Closed
ujfalusi wants to merge 1 commit intothesofproject:mainfrom
ujfalusi:peter/pr/sof-mtl-rt713-l0-rt1316-l12-rt1713-l3_chaindma
Closed

topology2: sof-mtl-rt713-l0-rt1316-l12-rt1713-l3: Enable ChainDMA#8527
ujfalusi wants to merge 1 commit intothesofproject:mainfrom
ujfalusi:peter/pr/sof-mtl-rt713-l0-rt1316-l12-rt1713-l3_chaindma

Conversation

@ujfalusi
Copy link
Contributor

Enable chain DMA support for HDMI links.

Tested on device with 6.7.0 based kernel.

Enable chain DMA support for HDMI links.

Tested on device with 6.7.0 based kernel.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
SDW_DMIC_STREAM=SDW0-Capture"

"cavs-sdw\;sof-mtl-rt713-l0-rt1316-l12-rt1713-l3\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1"
"cavs-sdw\;sof-mtl-rt713-l0-rt1316-l12-rt1713-l3\;PLATFORM=mtl,USE_CHAIN_DMA=true,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bardliao We can do this in steps (multiple PRs), but we need to enable USE_CHAIN_DMA in all topoplogies unless there's a very strong reason not do. This enables bitstream passthrough for display audio.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bardliao We can do this in steps (multiple PRs), but we need to enable USE_CHAIN_DMA in all topoplogies unless there's a very strong reason not do. This enables bitstream passthrough for display audio.

Can we set USE_CHAIN_DMA = true by default? Like

diff --git a/tools/topology/topology2/cavs-rt5682.conf b/tools/topology/topology2/cavs-rt5682.conf
index f3cdc8d47aeb..227a839c19ac 100644
--- a/tools/topology/topology2/cavs-rt5682.conf
+++ b/tools/topology/topology2/cavs-rt5682.conf
@@ -69,7 +69,7 @@ Define {
        HDMI4_ID                        6
        SPK_ID                          7
        PLATFORM                        "none"
-       USE_CHAIN_DMA                   "false"
+       USE_CHAIN_DMA                   "true"
        DEEP_BUFFER_PIPELINE_ID         15
        DEEP_BUFFER_PCM_ID              31
        DEEP_BUFFER_PIPELINE_SRC        'mixin.15.1'
diff --git a/tools/topology/topology2/cavs-sdw.conf b/tools/topology/topology2/cavs-sdw.conf
index a33e60e92d6d..64d88a3eae13 100644
--- a/tools/topology/topology2/cavs-sdw.conf
+++ b/tools/topology/topology2/cavs-sdw.conf
@@ -63,7 +63,7 @@ Define {
        DMIC0_ID 4
        DMIC1_ID 5
        DMIC0_PCM_CAPS 'Gain Capture 13'
-       USE_CHAIN_DMA   "false"
+       USE_CHAIN_DMA   "true"
        DEEP_BUFFER_PIPELINE_ID         15
        DEEP_BUFFER_PCM_ID              31
        DEEP_BUFFER_PIPELINE_SRC        'mixin.15.1'
diff --git a/tools/topology/topology2/sof-hda-generic.conf b/tools/topology/topology2/sof-hda-generic.conf
index 1bd06bff796f..c732463c4aff 100644
--- a/tools/topology/topology2/sof-hda-generic.conf
+++ b/tools/topology/topology2/sof-hda-generic.conf
@@ -43,7 +43,7 @@ Define {
        HDA_CONFIG  "none"
        PLATFORM "none"
        NUM_DMICS 0
-       USE_CHAIN_DMA   "false"
+       USE_CHAIN_DMA   "true"
 # doesn't it need to define DMIC0_HOST_PIPELINE_SINK and DMIC0_DAI_PIPELINE_SRC?
        DMIC0_HOST_PIPELINE_SINK 'gain.11.1'
        DMIC0_DAI_PIPELINE_SRC 'module-copier.12.2'

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use HDMI_USE_CHAIN_DMA to make sure we don't make any confusions. HDaudio can also be handled with chain_dma.

Also this should be a global property for MTL, not something that is changed in each variant.

@lgirdwood
Copy link
Member

lgirdwood commented Nov 27, 2023

@ujfalusi once merged, can you do a cherry-pick PR to mtl-007. Thanks !

SDW_DMIC_STREAM=SDW0-Capture"

"cavs-sdw\;sof-mtl-rt713-l0-rt1316-l12-rt1713-l3\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1"
"cavs-sdw\;sof-mtl-rt713-l0-rt1316-l12-rt1713-l3\;PLATFORM=mtl,USE_CHAIN_DMA=true,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use HDMI_USE_CHAIN_DMA to make sure we don't make any confusions. HDaudio can also be handled with chain_dma.

Also this should be a global property for MTL, not something that is changed in each variant.

@kv2019i
Copy link
Collaborator

kv2019i commented Dec 1, 2023

@plbossart @ujfalusi I think this really comes down to testing, do we toggle one by one or a platform at a time. @ujfalusi now tested one target and enabled one target and thus change to only one tplg. Probably this is playing too safe and we should rather enable for all desktop MTL tplgs we have. Whichever path we take, I'd lke some version merged so we can cherry-pick this to SOF2.8 release (already branched).

@kv2019i kv2019i added this to the v2.8 milestone Dec 1, 2023
@ujfalusi
Copy link
Contributor Author

ujfalusi commented Dec 4, 2023

@plbossart @ujfalusi I think this really comes down to testing, do we toggle one by one or a platform at a time. @ujfalusi now tested one target and enabled one target and thus change to only one tplg. Probably this is playing too safe and we should rather enable for all desktop MTL tplgs we have. Whichever path we take, I'd lke some version merged so we can cherry-pick this to SOF2.8 release (already branched).

I had some suspicion around this and just confirmed: the ChainDMA is not even enabled on TGL sdw platforms either.

In my opinion the ChainDMA should be enabled for CAVS2.5 and ACE1 platforms unconditionally for HDMI

@ujfalusi
Copy link
Contributor Author

ujfalusi commented Dec 4, 2023

I had some suspicion around this and just confirmed: the ChainDMA is not even enabled on TGL sdw platforms either.

In my opinion the ChainDMA should be enabled for CAVS2.5 and ACE1 platforms unconditionally for HDMI

I would even go as far as enable it unconditionally (not sure how can be done in platform conditional way, if it can be at all).
We enable ChainDMA for CAV2.5, ACE1 (MTL) and ACE2 (LNL) in HDA topologies (sof-hda-generic-idisp, sof-hda-generic, etc)

@ujfalusi
Copy link
Contributor Author

ujfalusi commented Dec 4, 2023

Closing, replaced by: #8568

@ujfalusi ujfalusi closed this Dec 4, 2023
@ujfalusi ujfalusi deleted the peter/pr/sof-mtl-rt713-l0-rt1316-l12-rt1713-l3_chaindma branch March 20, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants