LCOV - code coverage report
Current view: top level - drivers/net/rnp - rnp_link.h (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 4 0.0 %
Date: 2025-07-01 21:32:37 Functions: 0 0 -
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 4 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(C) 2023 Mucse IC Design Ltd.
       3                 :            :  */
       4                 :            : 
       5                 :            : #ifndef _RNP_LINK_H_
       6                 :            : #define _RNP_LINK_H_
       7                 :            : 
       8                 :            : #define RNP_DEVICE_LINK         (0x3000c)
       9                 :            : #define RNP_DEVICE_LINK_EX      (0xa800 + 64 * 64 - 4)
      10                 :            : #define RNP_LINK_NOCHANGED(lane_bit, change_lane) \
      11                 :            :         (!((RTE_BIT32(lane_bit)) & (change_lane)))
      12                 :            : #define RNP_LINK_DUPLEX_ATTR_EN         (0xA0000000)
      13                 :            : #define RNP_SPEED_META_VALID(magic)     (!!((magic) == UINT32_C(0xA0000000)))
      14                 :            : #define RNP_LINK_STATE(n)               RTE_BIT32(n)
      15                 :            : #define RNP_LINK_DUPLEX_STATE(sp, n)    ((sp) & RTE_BIT32((24) + (n)))
      16                 :            : #define RNP_ALARM_INTERVAL      (50000) /* unit us */
      17                 :            : enum rnp_lane_speed {
      18                 :            :         RNP_LANE_SPEED_10M = 0,
      19                 :            :         RNP_LANE_SPEED_100M,
      20                 :            :         RNP_LANE_SPEED_1G,
      21                 :            :         RNP_LANE_SPEED_10G,
      22                 :            :         RNP_LANE_SPEED_25G,
      23                 :            :         RNP_LANE_SPEED_40G,
      24                 :            : };
      25                 :            : 
      26                 :            : #define RNP_SPEED_CODE_S(n)             ((8) + ((4) * (n)))
      27                 :            : #define RNP_SPEED_CODE_START(n)         ((8) + ((4) * (n)))
      28                 :            : #define RNP_SPEED_CODE_END(n)           ((11) + ((4) * (n)))
      29                 :            : static inline uint32_t
      30                 :            : rnpce_link_speed_code(uint32_t link_state, uint16_t lane_id)
      31                 :            : {
      32                 :            :         uint32_t start, end;
      33                 :            :         uint32_t speed_code;
      34                 :            : 
      35                 :          0 :         start = RNP_SPEED_CODE_START(lane_id);
      36                 :          0 :         end = RNP_SPEED_CODE_END(lane_id);
      37                 :          0 :         link_state &= RTE_GENMASK32(end, start);
      38   [ #  #  #  # ]:          0 :         speed_code = link_state >> RNP_SPEED_CODE_S(lane_id);
      39                 :            : 
      40                 :            :         return speed_code;
      41                 :            : }
      42                 :            : 
      43                 :            : void rnp_link_event(struct rnp_eth_adapter *adapter,
      44                 :            :                     struct rnp_mbx_fw_cmd_req *req);
      45                 :            : int rnp_dev_link_update(struct rte_eth_dev *eth_dev,
      46                 :            :                         int wait_to_complete);
      47                 :            : void rnp_run_link_poll_task(struct rnp_eth_port *port);
      48                 :            : void rnp_cancel_link_poll_task(struct rnp_eth_port *port);
      49                 :            : int rnp_dev_set_link_up(struct rte_eth_dev *eth_dev);
      50                 :            : int rnp_dev_set_link_down(struct rte_eth_dev *eth_dev);
      51                 :            : 
      52                 :            : #endif /* _RNP_LINK_H_ */

Generated by: LCOV version 1.14