ALSA/ASoC: SOF: Intel: Use PIO mode fro HDA commands instead of CORB on Lunar Lake#4844
Merged
lgirdwood merged 5 commits intothesofproject:topic/sof-devfrom Mar 22, 2024
Conversation
c7fc542 to
48dacbe
Compare
lgirdwood
previously approved these changes
Mar 5, 2024
48dacbe to
3ff99ba
Compare
plbossart
reviewed
Mar 5, 2024
ranj063
reviewed
Mar 5, 2024
3ff99ba to
4eaf1eb
Compare
Collaborator
Author
|
Changes since v1:
|
4eaf1eb to
24ac85a
Compare
Collaborator
Author
|
Changes since v2:
|
24ac85a to
763f5fd
Compare
Add AZX_DCAPS_PIO_COMMANDS quirk (bit 31) and use_pio_for_commands flag to be able to select PIO mode as alternative for CORB based command sending while retaining the RIRB functionality to receive unsolicited responses. This mode differs from the azx single_cmd mode when RIRB is disabled. The mixed mode is needed on Lunar Lake family because it is recommended to use Immediate Command Response (PIO mode) instead of CORB for HDA commands. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
…s mode In case the use_pio_for_commands flag is set we must not enable the CORB DMA to make sure that it is not interfering with the immediate command mode. Convert the snd_hdac_bus_send_cmd/snd_hdac_bus_get_response as wrappers to call either the PIO or CORB based command handling depending on the use_pio_for_commands flag. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
…mode Set the use_pio_for_commands flag in case AZX_DCAPS_PIO_COMMANDS quirk is enabled. When the PIO command mode is used we can re-use the existing azx_single_send_cmd() / azx_single_get_response() functions safely as the CORB DMA is not going to be enabled in snd_hdac_bus_init_cmd_io(). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
It is recommended that on Lunar Lake the PIO (immediate command response) is used instead of CORB/RIRB for commands/verbs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
It is recommended that on Lunar Lake the PIO (immediate command response) is used instead of CORB/RIRB for commands/verbs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Collaborator
Author
|
Changes since v3:
|
plbossart
approved these changes
Mar 11, 2024
bardliao
approved these changes
Mar 20, 2024
Member
|
@ujfalusi should we merge this? |
Collaborator
Author
I think we should and send it for 6.10 as early as possible to get feedback on the legacy HDA change. |
lgirdwood
approved these changes
Mar 22, 2024
Collaborator
|
Revert just submitted in: ... to avoid these mass test failures: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It is recommended to use Immediate Command Response (PIO mode) instead of CORB on Lunar Lake family for HDA commands.
This PR adds support for PIO mode commands while keeping RIRB functionality for receiving URs