sof: coherent: Don't mark "struct coherent" as packed

On 64-bit systems (i.e: i.MX93), marking "struct coherent"
as packed leads to compilation warnings such as:

"warning: taking address of packed member of 'struct coherent'
may result in an unaligned pointer value"

This is because the "list" attribute is found at offset 36,
which is not 8B-aligned. In contrast, 32-bit systems
don't have this problem as the "list" attribute is found at
offset 24 which is 4B-aligned.

Since marking "struct coherent" as packed doesn't seem to
be necessary, remove this to fix the compilation warnings.
On 32-bit systems, 'pahole' shows no difference between
the 'packed' and the non-'packed' cases as the fields are
already naturally aligned at the moment.

A more detailed discussion regarding this issue can be
found here: https://github.com/thesofproject/sof/pull/8521.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit is contained in:
Laurentiu Mihalcea 2023-11-27 11:02:22 +02:00 committed by Kai Vehmanen
parent 4509d7c0c0
commit d42911d974
1 changed files with 1 additions and 1 deletions

View File

@ -17,7 +17,7 @@
#include <sof/lib/memory.h>
#include <sof/lib/cpu.h>
#define __coherent __attribute__((packed, aligned(DCACHE_LINE_SIZE)))
#define __coherent __aligned(DCACHE_LINE_SIZE)
/*
* The coherent API allows optimized access to memory by multiple cores, using