-
Notifications
You must be signed in to change notification settings - Fork 140
ASoC: SOF: make sof_ipc_cc_version to fixed length and fix ABI mismatch #1890
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
Conversation
|
@xiulipan Catch a typo in commit message: troble -> trouble. I am a little confused by "static" here, I think it is actually "fixed" length |
|
@aiChaoSONG thanks, updated |
lyakh
left a comment
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.
...provided 24 characters are enough - this should be good. But two notes:
- I still don't understand why our ABI headers aren't under
include/uapi - strictly speaking
charisn't a proper type for fixed-size objects,uint8_tor__u8should be used instead. But that can be a separate patch.
plbossart
left a comment
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.
this needs more explanations, sorry
|
@plbossart @kv2019i @lyakh comment updated, please check if this would explain the issue. |
kv2019i
left a comment
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.
Commit message still needs work.
|
@kv2019i @plbossart Thanks for point out the problem. I think the comment may be more fit for FW side. I will try to refine the comment here to explain the change is align with FW. |
d8ccf94 to
846fb7f
Compare
|
@plbossart @kv2019i there are bug in the Cadence compiler that give us different linkage section sizes and some offsets in packed data compared to GCC. Specifying a size here aligns XCC with GCC output. |
Right, so let's capture that in the commit message. |
|
@plbossart @kv2019i @lgirdwood update the comments with ABI version 3.15.0 |
kv2019i
left a comment
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.
Now commit message has all the info. As this is a fairly complex rootcause, let's iterate on the language a bit more, but close to merging.
|
@plbossart @kv2019i @lyakh @lgirdwood update commits and merge with ABI fix patches to make ABI change in order. |
kv2019i
left a comment
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.
Many good updates. I still have a few minor nits on the commit messages and we need to resolve the debug API ABI version alignment, please see inline.
include/uapi/sound/sof/abi.h
Outdated
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.
@xiulipan @lgirdwood We have a conflict still here:
- this kernel patch is set debug ABI to 15
- FW patch was merged with ABI 14 thesofproject/sof@e6940da
- ABI classifier states this is ABI 15
I would propose to change classifier and kernel patch to ABI14 to match the already merged FW. Please ack.
|
@kv2019i PR updated, thanks for comments advice. |
kv2019i
left a comment
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.
@xiulipan Thanks, commit messages now look good! Please check my proposal for ABI versioning. If @lgirdwood approves, let's do this and get this PR to ready and bump ABI to 16 in kernel as well.
include/uapi/sound/sof/abi.h
Outdated
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.
@xiulipan @lgirdwood This PR anyways includes all changes from ABI13-14-15-16, so this is mostly to get the history records and git commit messages accurate. I'd change this commit in the series to assign ABI14 as that's how the FW was merged. And then align rest of the series as per ABI classifier (and unmerged patches). We'll end up with bumping ABI to 16 in this series in any case.
|
@kv2019i Thanks for the proposal. |
kv2019i
left a comment
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.
@xiulipan Can you fix the "ASoC: SOF: add debug ABI version" to set version to 3.14.0 to match the merged FW patch thesofproject/sof#2398
I think that's the only change we still need to merge this. @lyakh @lgirdwood @plbossart please comment if you disagree on this
|
@kv2019i The point here is probe support do not have an ABI version, do we need add one for it or ignore the ABI version for it? |
|
@xiulipan wrote:
? the FW patch clearly modifies ABI version to 3.14.0 -> thesofproject/sof@e6940da And in your kernel commit message for debug interface, you state "This change main ABI to 3.15.0 and you modify the header to ABI 15. So I don't want to have merged FW and kernel patches to have conflicting information. The FW patch was now merged as 14, so kernel should not claim 15 either. Or just don't touch the ABI at all in this patch and only bump in the follow-up patches. |
lgirdwood
left a comment
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.
@xiulipan this needs split into 3 PRs, one for each ABI bump then mapped into ABI tool. We should then be good to merge all PRs.
|
@lgirdwood Got that, but It may got some conflict on the ABI number change. As both PR will base on ABI 13. The merge conflict can not be avoided. Other wise, we need to rebase each PR after the merge. |
|
@lgirdwood ABI 3.14 #1946 |
Use uint8_t to replace char in packed ABI structs to have fixed length for struct. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Use uint8_t to replace char in packed ABI structs to have fixed length for struct. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Use uint8_t to replace char in packed ABI structs to have fixed length for struct. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Align struct sof_ipc_cc_version to firmware definition in SOF ABI 3.15.0. The struct definition was changed due to errors in FW build. The Cadence XCC compiler produces incorrect linkage section sizes, when a variable length array is used in the compiler version struct. The firmware definition was changed to a fixed 32 byte compiler description string. This length covers all released firmware binaries and thus only a minor ABI change is needed. As the same structure is used in IPC messages between driver and firmware, the kernel needs to be aligned to firmware change. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
|
@lgirdwood @kv2019i Update and rebase as requested. Ping for review and merge. |
|
@kv2019i @plbossart FW and kernel now aligned at 14, this and thesofproject/sof#2522 will then align at 15 and everything thereafter will be 16 onwards |
kv2019i
left a comment
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.
Yes, good now! Thanks @xiulipan FYI @lgirdwood
|
NOTE: now that sof-logger starts to work again, we have some failures reported, but as sof-logger has been out-of-business for some days now, it's impossible to tell when it broke. Better to merge this (to get the logs) and sort out any errors as a next step. |
|
@plbossart @lyakh You have pending review comments open. We are in a bit of a hurry with this one... |
|
Now just waiting on Internal CI completing on FW side. Will merge both when it's done. |
Add probe support from thesofproject/sof#2338 ABI version 3.14.0
Add debug ABI version from thesofproject/sof#2398 ABI version 3.15.0
Align struct sof_ipc_cc_version to firmware definition in SOF ABI 3.16.0.
The struct definition was changed due to errors in FW build.
The Cadence XCC compiler produces incorrect linkage section sizes, when a
variable length array is used in the compiler version struct. The firmware
definition was changed to a fixed 32 byte compiler description string.
This length covers all released firmware binaries and thus only a minor
ABI change is needed.
As the same structure is used in IPC messages between driver and firmware,
the kernel needs to be aligned to firmware change.
Signed-off-by: Pan Xiuli xiuli.pan@linux.intel.com
FW change is thesofproject/sof#2522