Skip to content

Conversation

@ktrzcinx
Copy link
Member

@ktrzcinx ktrzcinx commented May 8, 2020

This step is needed to add possibility to pack sof_ipc_window inside
another one - for example for extended manifest.
Using structures with contant size is less tricky and properly supported by
each toolchain by contrast to variable size elements.
This is minor ABI change - bacward compatibility is kept.

Signed-off-by: Karol Trzcinski karolx.trzcinski@linux.intel.com

PR in FW:
thesofproject/sof#2906

@ktrzcinx ktrzcinx requested a review from ranj063 May 11, 2020 07:56
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how far are we with standardising our ABI changes? Haven't we yet agreed to first require a documented RFC for all changes?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RFC as issue is good pre-work, we have work done here already so you can comment/ACK/NACK in PR

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lyakh We agreed just that we need reviews from both sides, we don't have standarised flow for 'documenting', how would you like this to look? Author already wrote what he is bumping and why, however it may be not so 'detailed', cos he wrote that just backward compatibility is kept. Do you need it to be more detailed or maybe you need some other info?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jajanusz Having an implementation along with the ABI change is good IMHO. Without one, studying even an extended documentation might be difficult trying to understand whether the proposed change will really work. The change in this PR isn't particularly difficult either, so, I don't think it needs more documentation than is already provided. But the PR lacks both an ABI tag and an [RFC] keyword, so it could easily be missed.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lyakh @jajanusz The new ABI process is still under discussion, it's not verified. Once we merge the sof-docs PR, then we can start following the new one, but until then, we do ABI changes with old rules.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mmh, correct me if I'm wrong. This calculation now makes w_size = sizeof(struct sof_ipc_window) + sizeof(w->window) * w->num_windows so now it includes SOF_IPC_MAX_ELEMS of struct sof_ipc_window_elem plus w->num_windows of them? Is this really what we need?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I should use ext_hdr->hdr.size to get proper size.

@ktrzcinx ktrzcinx added the ABI involves ABI changes, need extra attention label May 11, 2020
@ktrzcinx ktrzcinx changed the title ASoC: SOF: IPC: make sof_ipc_window monosized [RFC] ASoC: SOF: IPC: make sof_ipc_window monosized May 11, 2020
@ktrzcinx ktrzcinx requested a review from lyakh May 11, 2020 11:35
lyakh
lyakh previously approved these changes May 12, 2020
@ranj063
Copy link
Collaborator

ranj063 commented May 12, 2020

@ktrzcinx the ext_man series is not upstream yet. So can this be submitted as another fixup for the series instead of an incremental patch?

Also could you please address Marc's other comment here #2095 (comment).

We cannot afford to falter with this series again.

@ktrzcinx
Copy link
Member Author

@ranj063 Method of handling SOF_EXT_MAN_ELEM_WINDOW in kernel is untouched in this commit, it's a way to overcome FW toolchain limitation during building ext_manifest. Moreover it's related with IPC and ABI bump, it's why I push it as incremental patch

@ranj063
Copy link
Collaborator

ranj063 commented May 13, 2020

@ranj063 Method of handling SOF_EXT_MAN_ELEM_WINDOW in kernel is untouched in this commit, it's a way to overcome FW toolchain limitation during building ext_manifest. Moreover it's related with IPC and ABI bump, it's why I push it as incremental patch

@ktrzcinx ack, sounds good.

@ktrzcinx ktrzcinx changed the title [RFC] ASoC: SOF: IPC: make sof_ipc_window monosized ASoC: SOF: IPC: make sof_ipc_window monosized May 14, 2020
ranj063
ranj063 previously approved these changes May 14, 2020
kv2019i
kv2019i previously approved these changes Jun 4, 2020
Copy link
Collaborator

@kv2019i kv2019i left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack, looks good to me.

@ktrzcinx ktrzcinx dismissed stale reviews from kv2019i, ranj063, and lyakh via ab37d90 June 4, 2020 12:33
Copy link
Member

@plbossart plbossart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sold on the explanation below.

Also please fix typos in commit message
backwards

This step is needed to add possibility to pack sof_ipc_window inside
another one in used FW build tools - for example in extended manifest.
Structure reusability leads to easy parsing function reuse, so source code
is shorter and easier to maintain.
Using structures with constant size is less tricky and properly supported by
each toolchain by contrast to variable size elements.
This is minor ABI change - backward compatibility is kept.

Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
@ktrzcinx
Copy link
Member Author

ktrzcinx commented Jun 5, 2020

@plbossart fixed typo and little extended commit description.

@lgirdwood lgirdwood added this to the ABI-3.17 milestone Jun 12, 2020
@lgirdwood
Copy link
Member

@kv2019i FW side now merged.

@plbossart plbossart merged commit 5ccbf60 into thesofproject:topic/sof-dev Jun 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ABI involves ABI changes, need extra attention

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants