On 7/20/19 2:45 PM, Cezary Rojewski wrote:
Existing IPC framework omits crucial part of the entire communication: reply header. Some IPCs cannot function at all without the access to said header. Update the sst-ipc with new sst_ipc_message structure to represent both request and reply allowing reply-processing handlers to save received responses.
I don't get the idea at all.
the DSP provides rx_data and a size. If there is a header at the start of the IPC data in some cases, why can't you cast and extract the header when it's needed for your SKL usages? Why does adding a header make the IPC work better?
I have the feeling this is blurring layers between receiving data and processing it in platform-specific ways, and I am nervous about touching Baytrail and Broadwell legacy, which are way past maintenance mode and should be deprecated really.
And last this patchset does not apply on top of Mark's tree?
Despite the range of changes required for model to be updated, no functional changes are made for core hanswell, baytrail and skylake message handlers. Reply-processing handlers now save received response header yet no usage is added by default.
To allow for future changes, righful kings of IPC kingdom need to be put back on the throne. This update addresses one of them: LARGE_CONFIG_GET.
Cezary Rojewski (5): ASoC: Intel: Update request-reply IPC model ASoC: Intel: Haswell: Align with updated request-reply model ASoC: Intel: Baytrail: Align with updated request-reply model ASoC: Intel: Skylake: Align with updated request-reply model ASoC: Intel: Skylake: large_config_get overhaul
sound/soc/intel/baytrail/sst-baytrail-ipc.c | 65 ++++---- sound/soc/intel/common/sst-ipc.c | 68 ++++---- sound/soc/intel/common/sst-ipc.h | 27 ++-- sound/soc/intel/haswell/sst-haswell-ipc.c | 164 +++++++++++--------- sound/soc/intel/skylake/cnl-sst.c | 6 +- sound/soc/intel/skylake/skl-messages.c | 3 +- sound/soc/intel/skylake/skl-sst-ipc.c | 152 ++++++++++-------- sound/soc/intel/skylake/skl-sst-ipc.h | 3 +- 8 files changed, 259 insertions(+), 229 deletions(-)