forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 144
SOF client support (auxiliary bus) #3007
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
ujfalusi
wants to merge
32
commits into
thesofproject:topic/sof-dev
from
ujfalusi:peter/sof/pr/sof_clients_02
Closed
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
a87a2b5
ASoC: SOF: Move the definition of enum snd_sof_fw_state to global header
ujfalusi 4d512ec
ASoC: SOF: Introduce a macro to set the firmware state
ujfalusi 44b2a43
ASoC: SOF: debug: Print out the fw_state along with the DSP dump
ujfalusi 9115f5b
ASoC: SOF: Introduce new firmware state: SOF_FW_CRASHED
ujfalusi 476d4c0
ASoC: soc-component: Add support module get/put on open for compresse…
ujfalusi 7274b1c
ASoC: SOF: Introduce IPC SOF client support
ranj063 6a772ce
ASoC: SOF: core/ops: Add support for client registration
ranj063 a858cfa
ASoC: SOF: core: Unregister machine driver before IPC and debugfs
ujfalusi 49abfdc
ASoC: SOF: ipc: Read and pass the whole message to handlers for IPC e…
ujfalusi 11f3b3a
ASoC: SOF: clients: Add support for IPC rx and firmware state change
ujfalusi 20c9323
ASoC: SOF: clients: Add support for auxdev suspend/resume handling
ujfalusi 9e32894
ASoC: SOF: clients: Add API to get the SOF firmware version
ujfalusi bcaad35
ASoC: SOF: clients: Add API to manage the module refcount of SOF core
ujfalusi 92a48c2
ASoC: SOF: intel: hda-trace: Pass the dma buffer pointer to hda_dsp_t…
ujfalusi 9e675f2
ASoC: SOF: Split up utils.c into sof-utils and iomem-utils
ujfalusi deb5a0c
ASoC: SOF: Convert the generic IPC flood test into SOF client
ranj063 cba8df9
ASoC: SOF: sof-client-ipc-test: Protection against removal while in use
ujfalusi 64a91b8
ASoC: SOF: sof-client-ipc-test: Block the test if the firmware has cr…
ujfalusi 5f585a8
ASoC: SOF: Convert the generic probe support to SOF client
ujfalusi d6a888d
ASoC: SOF: sof-client-probes: Add module parameter to enable probes s…
ujfalusi 6677eec
ASoC: SOF: sof-client-probes: Protection against removal while in use
ujfalusi 68d6c63
ASoC: SOF: sof-client-probes: Block the capture if the firmware is cr…
ujfalusi 39459f7
ASoC: SOF: Add optional SOF client for dma-trace support
ujfalusi 9e6b984
ASoC: SOF: imx: Enable SOF client version of dma-trace
ujfalusi e8bab41
ASoC: SOF: Switch to the client driver for dma-trace support
ujfalusi 5c75bc5
ASoC: SOF: sof-client-dma-trace: Add protection against file/module r…
ujfalusi b3089af
ASoC: SOF: sof-client-dma-trace: Block the dtrace if the firmware has…
ujfalusi b269552
ASoC: SOF: sof-client-dma-trace: Simplify count adjustment in trace_read
ujfalusi fd4a66c
ASoC: SOF: sof-client-dma-trace: Coding style cleanups
ujfalusi 5e3f492
ASoC: SOF: sof-client-ipc-test: Code cleanup for consistency
ujfalusi f763eea
ASoC: SOF: sof-client-probes: Code cleanup for consistency
ujfalusi 3bd20bb
ASoC: SOF: sof-client-dma-trace: Code cleanup for consistency
ujfalusi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: Why is this different from the regular components?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
snd_soc_component_module_get()is used for compressed only viasnd_soc_component_module_get_when_probe()wrapper where thesubstreamparameter is NULL. We can not use thesnd_soc_component_module_get_when_open()with compress stream as:expects snd_pcm_substream and not snd_compr_stream.
I should have used
snd_soc_component_compr_module_get_when_open()andsnd_soc_component_compr_module_put_when_close()to make it a cleanerIt might worth adding another mark to
struct snd_soc_component, likestruct snd_compr_stream *mark_compr_module;or
convert the
struct snd_pcm_substream *mark_module;tovoid *mark_module;or
convert all marks to
void *IN the case of the later two the
snd_soc_component_module_get() should havevoid *for the substream, probably named asmark`There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we try to send it upstream to get feedback which way this should be?
I have now the renamed version locally, introducing
snd_soc_component_compr_module_get_when_open()andsnd_soc_component_compr_module_put_when_close()We piggyback on
compr_openmark to manage the module_get/put to avoid introducing bigger changes for the framework and at the end the same thing is done for the normal components.