On Thu, 20 Feb 2025 23:03:49 +0100
Serhii Iliushyk <sil-...@napatech.com> wrote:

> +/*
> + * Send Tx data using the SPIM module and receive any data using the SPIS 
> module.
> + * The data are sent and received being wrapped into a SPI v3 container.
> + */
> +int nthw_spi_v3_transfer(nthw_spi_v3_t *p, uint16_t opcode, struct tx_rx_buf 
> *tx_buf,
> +     struct tx_rx_buf *rx_buf)
> +{
> +     const uint16_t max_payload_rx_size = rx_buf->size;
> +     int result = 0;
> +
> +#pragma pack(push, 1)
> +     union {
> +             uint32_t raw;
> +
> +             struct {
> +                     uint16_t opcode;
> +                     uint16_t size;
> +             };
> +     } spi_tx_hdr;
> +
> +     union {
> +             uint32_t raw;
> +
> +             struct {
> +                     uint16_t error_code;
> +                     uint16_t size;
> +             };
> +     } spi_rx_hdr;
> +
> +#pragma pack(pop)

Use of pragma's is strongly discouraged. For packed data use 
__rte_packed_begin, __rte_packed_end.
Not sure why packing is needed here at all. The union will result in the same

Reply via email to