Repository navigation
Conversation
In commit 14c4e86 ("audio: base_fw: add platform layer to IPC4 hw_config data"), the platform specific code was moved to platform layer. This commit implements a lighter weight abstraction for the moved code. Instead of using the platform layer, the Intel specific vendor code is added directly in base_fw_intel.c and guarded by a Kconfig. All other IPC4 build targets will use an empty implementation. This avoids the need to add a platform definition for all IPC4 targets. The common implementation in base_fw.c is sufficient to cover all mandatory functionality required e.g. by the upstream SOF Linux driver's IPC4 implementation. The interfaces are renamed to refer to "vendor" instead of "platform", to avoid any confusion with the platform layer with the new implementation. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
kv2019i
requested review from
RanderWang,
dbaluta,
lbetlej,
lgirdwood,
marc-hb,
marcinszkudlinski,
mmaka1,
pblaszko and
plbossart
as code owners
May 7, 2024 10:53
Collaborator
Author
|
For background, this is a follow-up agreed in #9060 (review) @lgirdwood more in line now? this requires addition of new build time conditionals (Kconfig in this PR) as we can't use the platform selection to choose the implemetnation, but given we only have two implementations, this is pretty light. If longterm, there are not going to be many build targets that need to variate this, this approach will be better. If we end up having customizations for majority of build targets, then (re)using platform layer would be better. @thesofproject/nxp please chime in, you are the first non-intel target this affects. |
1 task done
Use tabs for indentation consistently. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Collaborator
Author
|
V2:
|
Collaborator
Author
|
CI fails are caused by #9101 , rest are good. Waiting for reviews... |
lyakh
approved these changes
May 8, 2024
dnikodem
approved these changes
May 8, 2024
lgirdwood
approved these changes
May 8, 2024
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.
In commit 14c4e86 ("audio: base_fw: add platform layer to IPC4 hw_config data"), the platform specific code was moved to platform layer.
This commit implements a lighter weight abstraction for the moved code. Instead of using the platform layer, the Intel specific vendor code is added directly in base_fw_intel.c and guarded by a Kconfig. All other IPC4 build targets will use an empty implementation.
This avoids the need to add a platform definition for all IPC4 targets. The common implementation in base_fw.c is sufficient to cover all mandatory functionality required e.g. by the upstream SOF Linux driver's IPC4 implementation.
The interfaces are renamed to refer to "vendor" instead of "platform", to avoid any confusion with the platform layer with the new implementation.