root/drivers/net/ethernet/intel/ice/ice_osdep.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /* Copyright (c) 2018, Intel Corporation. */
   3 
   4 #ifndef _ICE_OSDEP_H_
   5 #define _ICE_OSDEP_H_
   6 
   7 #include <linux/types.h>
   8 #include <linux/io.h>
   9 #ifndef CONFIG_64BIT
  10 #include <linux/io-64-nonatomic-lo-hi.h>
  11 #endif
  12 
  13 #define wr32(a, reg, value)     writel((value), ((a)->hw_addr + (reg)))
  14 #define rd32(a, reg)            readl((a)->hw_addr + (reg))
  15 #define wr64(a, reg, value)     writeq((value), ((a)->hw_addr + (reg)))
  16 #define rd64(a, reg)            readq((a)->hw_addr + (reg))
  17 
  18 #define ice_flush(a)            rd32((a), GLGEN_STAT)
  19 #define ICE_M(m, s)             ((m) << (s))
  20 
  21 struct ice_dma_mem {
  22         void *va;
  23         dma_addr_t pa;
  24         size_t size;
  25 };
  26 
  27 #define ice_hw_to_dev(ptr)      \
  28         (&(container_of((ptr), struct ice_pf, hw))->pdev->dev)
  29 
  30 #ifdef CONFIG_DYNAMIC_DEBUG
  31 #define ice_debug(hw, type, fmt, args...) \
  32         dev_dbg(ice_hw_to_dev(hw), fmt, ##args)
  33 
  34 #define ice_debug_array(hw, type, rowsize, groupsize, buf, len) \
  35         print_hex_dump_debug(KBUILD_MODNAME " ",                \
  36                              DUMP_PREFIX_OFFSET, rowsize,       \
  37                              groupsize, buf, len, false)
  38 #else
  39 #define ice_debug(hw, type, fmt, args...)                       \
  40 do {                                                            \
  41         if ((type) & (hw)->debug_mask)                          \
  42                 dev_info(ice_hw_to_dev(hw), fmt, ##args);       \
  43 } while (0)
  44 
  45 #ifdef DEBUG
  46 #define ice_debug_array(hw, type, rowsize, groupsize, buf, len) \
  47 do {                                                            \
  48         if ((type) & (hw)->debug_mask)                          \
  49                 print_hex_dump_debug(KBUILD_MODNAME,            \
  50                                      DUMP_PREFIX_OFFSET,        \
  51                                      rowsize, groupsize, buf,   \
  52                                      len, false);               \
  53 } while (0)
  54 #else
  55 #define ice_debug_array(hw, type, rowsize, groupsize, buf, len) \
  56 do {                                                            \
  57         struct ice_hw *hw_l = hw;                               \
  58         if ((type) & (hw_l)->debug_mask) {                      \
  59                 u16 len_l = len;                                \
  60                 u8 *buf_l = buf;                                \
  61                 int i;                                          \
  62                 for (i = 0; i < (len_l - 16); i += 16)          \
  63                         ice_debug(hw_l, type, "0x%04X  %16ph\n",\
  64                                   i, ((buf_l) + i));            \
  65                 if (i < len_l)                                  \
  66                         ice_debug(hw_l, type, "0x%04X  %*ph\n", \
  67                                   i, ((len_l) - i), ((buf_l) + i));\
  68         }                                                       \
  69 } while (0)
  70 #endif /* DEBUG */
  71 #endif /* CONFIG_DYNAMIC_DEBUG */
  72 
  73 #endif /* _ICE_OSDEP_H_ */

/* [<][>][^][v][top][bottom][index][help] */