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