Uh oh!
There was an error while loading. Please reload this page.
ASoC: SOF: make sof_ipc_cc_version to fixed length and fix ABI mismatch - #1890
Conversation
aiChaoSONG
commented
Mar 13, 2020
@xiulipan Catch a typo in commit message: troble -> trouble. I am a little confused by "static" here, I think it is actually "fixed" length |
xiulipan
commented
Mar 13, 2020
@aiChaoSONG thanks, updated |
lyakh
left a comment
There was a problem hiding this comment.
...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.
Uh oh!
There was an error while loading. Please reload this page.
plbossart
left a comment
There was a problem hiding this comment.
this needs more explanations, sorry
Uh oh!
There was an error while loading. Please reload this page.
xiulipan
commented
Mar 16, 2020
@plbossart@kv2019i@lyakh comment updated, please check if this would explain the issue. |
kv2019i
left a comment
There was a problem hiding this comment.
Commit message still needs work.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
xiulipan
commented
Mar 17, 2020
@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
846fb7fComparelgirdwood
commented
Mar 17, 2020
@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. |
plbossart
commented
Mar 17, 2020
Right, so let's capture that in the commit message. |
xiulipan
commented
Mar 18, 2020
@plbossart@kv2019i@lgirdwood update the comments with ABI version 3.15.0 |
kv2019i
left a comment
There was a problem hiding this comment.
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.
Uh oh!
There was an error while loading. Please reload this page.
xiulipan
commented
Mar 26, 2020
@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.
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.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| /* SOF ABI version major, minor and patch numbers */ | ||
| #define SOF_ABI_MAJOR 3 | ||
| #define SOF_ABI_MINOR 13 | ||
| #define SOF_ABI_MINOR 15 |
There was a problem hiding this comment.
@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.
xiulipan
commented
Mar 26, 2020
@kv2019i PR updated, thanks for comments advice. |
kv2019i
left a comment
There was a problem hiding this comment.
@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.
| /* SOF ABI version major, minor and patch numbers */ | ||
| #define SOF_ABI_MAJOR 3 | ||
| #define SOF_ABI_MINOR 13 | ||
| #define SOF_ABI_MINOR 15 |
There was a problem hiding this comment.
@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.
xiulipan
commented
Mar 26, 2020
@kv2019i Thanks for the proposal. |
kv2019i
left a comment
There was a problem hiding this comment.
@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
xiulipan
commented
Mar 27, 2020
@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? |
kv2019i
commented
Mar 27, 2020
@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. |
xiulipan
commented
Mar 28, 2020
@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. |
xiulipan
commented
Mar 28, 2020
@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>
xiulipan
commented
Mar 31, 2020
@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.
Yes, good now! Thanks @xiulipan FYI @lgirdwood
kv2019i
commented
Mar 31, 2020
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. |
kv2019i
commented
Mar 31, 2020
@plbossart@lyakh You have pending review comments open. We are in a bit of a hurry with this one... |
lgirdwood
commented
Mar 31, 2020
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