octeontx2-af: Enable hardware timestamping for VFs
authorSubbaraya Sundeep <sbhatta@marvell.com>
Wed, 11 Oct 2023 12:15:51 +0000 (17:45 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Oct 2023 23:58:38 +0000 (16:58 -0700)
Currently for VFs, mailbox returns ENODEV error when hardware timestamping
enable is requested. This patch fixes this issue. Modified this patch to
return EPERM error for the PF/VFs which are not attached to CGX/RPM.

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: Sai Krishna <saikrishnag@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20231011121551.1205211-1-saikrishnag@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c

index f2b1edf1bb43c0e67e7cffaf47fa78d66397cd74..15a319684ed364f5c89df0e8b591309b8f9ec1d3 100644 (file)
@@ -756,12 +756,11 @@ static int rvu_cgx_ptp_rx_cfg(struct rvu *rvu, u16 pcifunc, bool enable)
        if (!is_mac_feature_supported(rvu, pf, RVU_LMAC_FEAT_PTP))
                return 0;
 
-       /* This msg is expected only from PFs that are mapped to CGX LMACs,
+       /* This msg is expected only from PF/VFs that are mapped to CGX/RPM LMACs,
         * if received from other PF/VF simply ACK, nothing to do.
         */
-       if ((pcifunc & RVU_PFVF_FUNC_MASK) ||
-           !is_pf_cgxmapped(rvu, pf))
-               return -ENODEV;
+       if (!is_pf_cgxmapped(rvu, pf))
+               return -EPERM;
 
        rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id);
        cgxd = rvu_cgx_pdata(cgx_id, rvu);