Syncing the data types of msix offset mbox response structure
fields wrt rvu_pfvf structure as in msix offset mbox handler,
respective block LFs response field is initialised with rvu_pfvf
and mismatch in the data types of respective fields may lead
to issues.
This mismatch in data types resulted in a bug where no sso msix
offsets are returned. For 256 SSO hwgrps, 256 msix offsets
are required, but since num of sso lf field (rsp->sso) in
response structure is u8 and is initialised with same field
in pfvf structure viz u16, value 256 corresponds to 0 hence
no sso_msixoff.
Similar mbox changes are required in kernel side also which are
available in marvell SDK version SDK-11.0.
Fixes:
2b71657c8660 ("common/octeontx2: add mbox request and response definition")
Cc: stable@dpdk.org
Signed-off-by: Harman Kalra <hkalra@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
#define OTX2_MBOX_RSP_SIG (0xbeef)
/* Signature, for validating corrupted msgs */
uint16_t __otx2_io sig;
#define OTX2_MBOX_RSP_SIG (0xbeef)
/* Signature, for validating corrupted msgs */
uint16_t __otx2_io sig;
-#define OTX2_MBOX_VERSION (0x0009)
+#define OTX2_MBOX_VERSION (0x000a)
/* Version of msg's structure for this ID */
uint16_t __otx2_io ver;
/* Offset of next msg within mailbox region */
/* Version of msg's structure for this ID */
uint16_t __otx2_io ver;
/* Offset of next msg within mailbox region */
struct mbox_msghdr hdr;
uint16_t __otx2_io npa_msixoff;
uint16_t __otx2_io nix_msixoff;
struct mbox_msghdr hdr;
uint16_t __otx2_io npa_msixoff;
uint16_t __otx2_io nix_msixoff;
- uint8_t __otx2_io sso;
- uint8_t __otx2_io ssow;
- uint8_t __otx2_io timlfs;
- uint8_t __otx2_io cptlfs;
+ uint16_t __otx2_io sso;
+ uint16_t __otx2_io ssow;
+ uint16_t __otx2_io timlfs;
+ uint16_t __otx2_io cptlfs;
uint16_t __otx2_io sso_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ssow_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io timlf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io cptlf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io sso_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ssow_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io timlf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io cptlf_msixoff[MAX_RVU_BLKLF_CNT];
- uint8_t __otx2_io cpt1_lfs;
- uint8_t __otx2_io ree0_lfs;
- uint8_t __otx2_io ree1_lfs;
+ uint16_t __otx2_io cpt1_lfs;
+ uint16_t __otx2_io ree0_lfs;
+ uint16_t __otx2_io ree1_lfs;
uint16_t __otx2_io cpt1_lf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ree0_lf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ree1_lf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io cpt1_lf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ree0_lf_msixoff[MAX_RVU_BLKLF_CNT];
uint16_t __otx2_io ree1_lf_msixoff[MAX_RVU_BLKLF_CNT];