LCOV - code coverage report
Current view: top level - drivers/net/ice/base - ice_tmatch.h (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 11 0.0 %
Date: 2024-12-01 18:57:19 Functions: 0 1 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 12 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(c) 2001-2023 Intel Corporation
       3                 :            :  */
       4                 :            : 
       5                 :            : #ifndef _ICE_TMATCH_H_
       6                 :            : #define _ICE_TMATCH_H_
       7                 :            : 
       8                 :            : static inline
       9                 :            : bool ice_ternary_match_byte(u8 key, u8 key_inv, u8 pat)
      10                 :            : {
      11                 :            :         u8 k1, k2, v;
      12                 :            :         int i;
      13                 :            : 
      14         [ #  # ]:          0 :         for (i = 0; i < 8; i++) {
      15                 :          0 :                 k1 = (u8)(key & (1 << i));
      16                 :          0 :                 k2 = (u8)(key_inv & (1 << i));
      17                 :          0 :                 v = (u8)(pat & (1 << i));
      18                 :            : 
      19         [ #  # ]:          0 :                 if (k1 != 0 && k2 != 0)
      20                 :          0 :                         continue;
      21         [ #  # ]:          0 :                 if (k1 == 0 && k2 == 0)
      22                 :            :                         return false;
      23                 :            : 
      24         [ #  # ]:          0 :                 if (k1 == v)
      25                 :            :                         return false;
      26                 :            :         }
      27                 :            : 
      28                 :            :         return true;
      29                 :            : }
      30                 :            : 
      31                 :            : static inline
      32                 :          0 : bool ice_ternary_match(const u8 *key, const u8 *key_inv,
      33                 :            :                        const u8 *pat, int len)
      34                 :            : {
      35                 :            :         int i;
      36                 :            : 
      37         [ #  # ]:          0 :         for (i = 0; i < len; i++)
      38         [ #  # ]:          0 :                 if (!ice_ternary_match_byte(key[i], key_inv[i], pat[i]))
      39                 :            :                         return false;
      40                 :            : 
      41                 :            :         return true;
      42                 :            : }
      43                 :            : 
      44                 :            : #endif /* _ICE_TMATCH_H_ */

Generated by: LCOV version 1.14