[dpdk-dev] [PATCH] common/octeontx2: fix msix offset structure fields

Jerin Jacob jerinjacobk at gmail.com
Tue Nov 17 17:55:47 CET 2020


On Mon, Nov 16, 2020 at 8:12 PM Harman Kalra <hkalra at marvell.com> wrote:
>
> 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")
>
> Signed-off-by: Harman Kalra <hkalra at marvell.com>


Acked-by: Jerin Jacob <jerinj at marvell.com>
Applied to dpdk-next-net-mrvl/for-main. Thanks


> ---
>  drivers/common/octeontx2/otx2_mbox.h | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/common/octeontx2/otx2_mbox.h b/drivers/common/octeontx2/otx2_mbox.h
> index 9a1e8a7ea..f6d884c19 100644
> --- a/drivers/common/octeontx2/otx2_mbox.h
> +++ b/drivers/common/octeontx2/otx2_mbox.h
> @@ -90,7 +90,7 @@ struct mbox_msghdr {
>  #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 */
> @@ -454,17 +454,17 @@ struct msix_offset_rsp {
>         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];
> -       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];
> --
> 2.18.0
>


More information about the dev mailing list