> +static inline void
> +write_txd(volatile void *txd, uint64_t qw0, uint64_t qw1)
> +{
> + uint64_t *txd_qw = __rte_assume_aligned(RTE_CAST_PTR(void *,
> txd), 16);
> +
> + txd_qw[0] = rte_cpu_to_le_64(qw0);
> + txd_qw[1] = rte_cpu_to_le_64(qw1);
> +}
How about using __rte_aligned() instead, something like this (untested):
struct __rte_aligned(16) txd_t {
uint64_t qw0;
uint64_t qw1;
};
*RTE_CAST_PTR(volatile struct txd_t *, txd) = {
rte_cpu_to_le_64(qw0),
rte_cpu_to_le_64(qw1)
};
And why strip the "volatile"?