LCOV - code coverage report
Current view: top level - drivers/common/cnxk - roc_nix_npc.c (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 49 0.0 %
Date: 2024-12-01 18:57:19 Functions: 0 5 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 24 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(C) 2021 Marvell.
       3                 :            :  */
       4                 :            : 
       5                 :            : #include "roc_api.h"
       6                 :            : #include "roc_priv.h"
       7                 :            : 
       8                 :            : int
       9                 :          0 : roc_nix_npc_promisc_ena_dis(struct roc_nix *roc_nix, int enable)
      10                 :            : {
      11                 :            :         struct nix *nix = roc_nix_to_nix_priv(roc_nix);
      12                 :            :         struct dev *dev = &nix->dev;
      13                 :          0 :         struct mbox *mbox = mbox_get(dev->mbox);
      14                 :            :         struct nix_rx_mode *req;
      15                 :            :         int rc = -ENOSPC;
      16                 :            : 
      17         [ #  # ]:          0 :         if (roc_nix_is_vf_or_sdp(roc_nix)) {
      18                 :            :                 rc = NIX_ERR_PARAM;
      19                 :          0 :                 goto exit;
      20                 :            :         }
      21                 :            : 
      22                 :          0 :         req = mbox_alloc_msg_nix_set_rx_mode(mbox);
      23         [ #  # ]:          0 :         if (req == NULL)
      24                 :          0 :                 goto exit;
      25                 :            : 
      26         [ #  # ]:          0 :         if (enable)
      27                 :          0 :                 req->mode = NIX_RX_MODE_UCAST | NIX_RX_MODE_PROMISC;
      28                 :            : 
      29                 :          0 :         rc = mbox_process(mbox);
      30                 :          0 : exit:
      31                 :            :         mbox_put(mbox);
      32                 :          0 :         return rc;
      33                 :            : }
      34                 :            : 
      35                 :            : int
      36                 :          0 : roc_nix_npc_mac_addr_set(struct roc_nix *roc_nix, uint8_t addr[])
      37                 :            : {
      38                 :            :         struct nix *nix = roc_nix_to_nix_priv(roc_nix);
      39                 :            :         struct dev *dev = &nix->dev;
      40                 :          0 :         struct mbox *mbox = mbox_get(dev->mbox);
      41                 :            :         struct nix_set_mac_addr *req;
      42                 :            :         int rc;
      43                 :            : 
      44                 :          0 :         req = mbox_alloc_msg_nix_set_mac_addr(mbox);
      45         [ #  # ]:          0 :         mbox_memcpy(req->mac_addr, addr, PLT_ETHER_ADDR_LEN);
      46                 :          0 :         rc = mbox_process(mbox);
      47                 :            :         mbox_put(mbox);
      48                 :          0 :         return rc;
      49                 :            : }
      50                 :            : 
      51                 :            : int
      52                 :          0 : roc_nix_npc_mac_addr_get(struct roc_nix *roc_nix, uint8_t *addr)
      53                 :            : {
      54                 :            :         struct nix *nix = roc_nix_to_nix_priv(roc_nix);
      55                 :            :         struct dev *dev = &nix->dev;
      56                 :          0 :         struct mbox *mbox = mbox_get(dev->mbox);
      57                 :            :         struct nix_get_mac_addr_rsp *rsp;
      58                 :            :         int rc;
      59                 :            : 
      60                 :          0 :         mbox_alloc_msg_nix_get_mac_addr(mbox);
      61                 :            :         rc = mbox_process_msg(mbox, (void *)&rsp);
      62         [ #  # ]:          0 :         if (rc)
      63                 :          0 :                 goto exit;
      64                 :            : 
      65         [ #  # ]:          0 :         mbox_memcpy(addr, rsp->mac_addr, PLT_ETHER_ADDR_LEN);
      66                 :            :         rc = 0;
      67                 :          0 : exit:
      68                 :            :         mbox_put(mbox);
      69                 :          0 :         return rc;
      70                 :            : }
      71                 :            : 
      72                 :            : int
      73                 :          0 : roc_nix_npc_rx_ena_dis(struct roc_nix *roc_nix, bool enable)
      74                 :            : {
      75                 :            :         struct nix *nix = roc_nix_to_nix_priv(roc_nix);
      76                 :            :         struct dev *dev = &nix->dev;
      77                 :          0 :         struct mbox *mbox = mbox_get(dev->mbox);
      78                 :            :         int rc;
      79                 :            : 
      80         [ #  # ]:          0 :         if (enable)
      81                 :          0 :                 mbox_alloc_msg_nix_lf_start_rx(mbox);
      82                 :            :         else
      83                 :          0 :                 mbox_alloc_msg_nix_lf_stop_rx(mbox);
      84                 :            : 
      85                 :          0 :         rc = mbox_process(mbox);
      86         [ #  # ]:          0 :         if (!rc)
      87                 :          0 :                 roc_nix->io_enabled = enable;
      88                 :            : 
      89                 :            :         mbox_put(mbox);
      90                 :          0 :         return rc;
      91                 :            : }
      92                 :            : 
      93                 :            : int
      94                 :          0 : roc_nix_npc_mcast_config(struct roc_nix *roc_nix, bool mcast_enable,
      95                 :            :                          bool prom_enable)
      96                 :            : 
      97                 :            : {
      98                 :            :         struct nix *nix = roc_nix_to_nix_priv(roc_nix);
      99                 :            :         struct dev *dev = &nix->dev;
     100                 :          0 :         struct mbox *mbox = mbox_get(dev->mbox);
     101                 :            :         struct nix_rx_mode *req;
     102                 :            :         int rc = -ENOSPC;
     103                 :            : 
     104         [ #  # ]:          0 :         if (roc_nix_is_vf_or_sdp(roc_nix)) {
     105                 :            :                 rc = 0;
     106                 :          0 :                 goto exit;
     107                 :            :         }
     108                 :            : 
     109                 :          0 :         req = mbox_alloc_msg_nix_set_rx_mode(mbox);
     110         [ #  # ]:          0 :         if (req == NULL)
     111                 :          0 :                 goto exit;
     112                 :            : 
     113         [ #  # ]:          0 :         if (mcast_enable)
     114                 :          0 :                 req->mode = NIX_RX_MODE_ALLMULTI;
     115         [ #  # ]:          0 :         if (prom_enable)
     116                 :          0 :                 req->mode = NIX_RX_MODE_PROMISC;
     117                 :            : 
     118                 :          0 :         rc = mbox_process(mbox);
     119                 :          0 : exit:
     120                 :            :         mbox_put(mbox);
     121                 :          0 :         return rc;
     122                 :            : }

Generated by: LCOV version 1.14