[Sound-open-firmware] Commit c80270e7e49 (" ipc: structures should all be aligned on 4 bytes") causes issues on i.MX8

Girdwood, Liam R liam.r.girdwood at intel.com
Tue May 11 17:14:42 CEST 2021


Hi Daniel,

On Tue, 2021-05-11 at 15:02 +0000, Daniel Baluta wrote:
> Hi Liam,
> 
> I noticed this SOF commit: 
> 
> commit c80270e7e49d26a34fe284d1868e7d9cb80104f1Author: Liam Girdwood
> <liam.r.girdwood at linux.intel.com>
> Date:   Sat Apr 3 21:22:21 2021 +0100
> 
>     ipc: structures should all be aligned on 4 bytes
>     
>     Give the compiler a chance to further optimise IPC data access
> since it's
>     all on a 4 byte alignment.
>     
>     Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
> 
> 
> It looks like it triggers some issues on i.MX8. 
> 
> Is there any equivalent for Linux kernel? Some structures are shared
> with the kernel
> and on arm64 it assumes default alignment as 8 hence I get a mismatch
> at least when
> printing DAI / Host position
> 
> 
> +       dev_info(sdev->dev, "posn : host 0x%llx dai 0x%llx wall
> 0x%llx no_per %d\n",
> +                posn.host_posn, posn.dai_posn, posn.wallclock,
> stream->substream->runtime->no_period_wakeup);
> 

It looks like the uint64_t on the sof_ipc_stream_position are not
aligned on 8 bytes (with the packing, there are 7 * uint32_t before
them) and the ARM compiler is expecting a 8 byte alingment for uint64 ?

I'm not sure why this is showing up now as the "packed" attribute would
force the uint64_t to be aligned on 4 bytes instead of 8 here.

Btw, have you tried setting aligned(8) here ? or tried removing the
aligned(4) for stream_posn ?

Liam

> thanks,
> Daniel.
> 

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the Sound-open-firmware mailing list