Skip to content

FROMLIST: soundwire: qcom: Add set_channel_map support to SWR master DAI - #1412

Open
mohsRafi wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:swr_channel_map
Open

mohsRafi wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:swr_channel_map

Conversation

@mohsRafi

@mohsRafi mohsRafi commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Added qcom_swrm_set_channel_map api to set the master channel mask for
TX and RX paths based on the provided slots.

Added a new field ch_mask to the qcom_swrm_port_config structure.
This field is used to store the master channel mask, which allows more
flexible to configure channel mask in runtime for specific active
soundwire ports.

CRs-Fixed: 4736620
Link: https://lore.kernel.org/all/20261105-soundwire_channel_map-v2-2-5efe2021552a@oss.qualcomm.com/

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4736620 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4736620

Please ensure the CR has a change task associated with at least one of the entities for this branch.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4736620 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4736620

Please ensure the CR has a change task associated with at least one of the entities for this branch.

mohsRafi please make sure this is taken care of.

Add .set_channel_map support to the SWR master DAI so the ASoC
layer can program per-port channel masks used by port_enable().

Fix several issues in channel map handling: clip programming to
available ports to avoid out-of-bounds access, use 1-based port
indexing, and store TX/RX masks separately. Also track per-direction
validity and select the effective mask based on port role to avoid
incorrect precedence and ensure full-width masks are preserved.
Fall back to the SDW stream-provided channel mask when no mapping is
configured preserving existing behaviour.

Link: https://lore.kernel.org/all/20261105-soundwire_channel_map-v2-2-5efe2021552a@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
@qcomlnxci
qcomlnxci requested a review from a team November 6, 2026 05:18
@mohsRafi

mohsRafi commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4736620 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4736620

Please ensure the CR has a change task associated with at least one of the entities for this branch.

Fixed

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1412

PR: #1412
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/42205683891

# Error File:Line PR-introduced? Root Cause
1 'struct qcom_swrm_ctrl' has no member named 'nports' drivers/soundwire/qcom.c:1414 Yes New function qcom_swrm_set_channel_map references non-existent struct member ctrl->nports

Verdict

1 compilation error is introduced by this PR. The error blocks both standard and RT kernel builds.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1412

PR: #1412
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/42205683891

# Error File:Line PR-introduced? Root Cause
1 'struct qcom_swrm_ctrl' has no member named 'nports' drivers/soundwire/qcom.c:1414 Yes New function qcom_swrm_set_channel_map() references non-existent field ctrl->nports

Verdict

1 of 1 errors is introduced by this PR.

📎 Detailed analysis: Full report

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fix compilation issue

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.

4 participants