1. 14 9月, 2021 2 次提交
    • G
      net: hns3: PF support get multicast MAC address space assigned by firmware · 5c56ff48
      Guangbin Huang 提交于
      The new firmware supports to divides the whole multicast MAC address space
      equally to functions of all PFs, and calculates the space size of each PF
      according to its function number.
      
      To support this feature, PF driver adds querying multicast MAC address
      space size from firmware and limits used number according to space size.
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5c56ff48
    • G
      net: hns3: PF support get unicast MAC address space assigned by firmware · e435a6b5
      Guangbin Huang 提交于
      Currently, there are two ways for PF to set the unicast MAC address space
      size: specified by config parameters in firmware or set to default value.
      
      That's mean if the config parameters in firmware is zero, driver will
      divide the whole unicast MAC address space equally to 8 PFs. However, in
      this case, the unicast MAC address space will be wasted a lot when the
      hardware actually has less then 8 PFs. And in the other hand, if one PF has
      much more VFs than other PFs, then each function of this PF will has much
      less address space than other PFs.
      
      In order to ameliorate the above two situations, introduce the third way
      of unicast MAC address space assignment: firmware divides the whole unicast
      MAC address space equally to functions of all PFs, and calculates the space
      size of each PF according to its function number. PF queries the space size
      by the querying device specification command when in initialization
      process.
      
      The third way assignment is lower priority than specified by config
      parameters, only if the config parameters is zero can be used, and if
      firmware does not support the third way assignment, then driver still
      divides the whole unicast MAC address space equally to 8 PFs.
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e435a6b5
  2. 31 8月, 2021 1 次提交
  3. 24 8月, 2021 1 次提交
  4. 17 8月, 2021 1 次提交
  5. 29 6月, 2021 2 次提交
  6. 16 6月, 2021 2 次提交
  7. 12 6月, 2021 2 次提交
  8. 09 6月, 2021 1 次提交
  9. 08 6月, 2021 1 次提交
  10. 01 6月, 2021 3 次提交
    • J
      net: hns3: add debugfs support for vlan configuration · 0ca821da
      Jian Shen 提交于
      Add debugfs support for vlan configuraion. create a single file
      "vlan_config" for it, and query it by command "cat vlan_config",
      return the result to userspace.
      
      The new display style is below:
      $ cat vlan_config
      I_PORT_VLAN_FILTER: on
      E_PORT_VLAN_FILTER: off
      FUNC_ID  I_VF_VLAN_FILTER  E_VF_VLAN_FILTER  PORT_VLAN_FILTER_BYPASS
      pf       off               on                off
      vf0      off               on                off
      FUNC_ID  PVID    ACCEPT_TAG1  ACCEPT_TAG2  ACCEPT_UNTAG1  ACCEPT_UNTAG2
      pf       0       on           on           on             on
      vf0      0       on           on           on             on
      Signed-off-by: NJian Shen <shenjian15@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      0ca821da
    • J
      net: hns3: add query basic info support for VF · 32e6d104
      Jian Shen 提交于
      There are some features of VF depend on PF, so it's necessary
      for VF to know whether PF supports. For compatibility, modify
      the mailbox HCLGE_MBX_GET_TCINFO, extend its function, use to
      get the basic information of PF, including mailbox api version
      and PF capabilities.
      Signed-off-by: NJian Shen <shenjian15@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      32e6d104
    • J
      net: hns3: add support for modify VLAN filter state · 2ba30662
      Jian Shen 提交于
      Previously, with hardware limitation, the port VLAN filter are
      effective for both PF and its VFs simultaneously, so a single
      function is not able to enable/disable separately, and the VLAN
      filter state is default enabled. Now some device supports each
      function to bypass port VLAN filter, then each function can
      switch VLAN filter separately. Add capability flag to check
      whether the device supports modify VLAN filter state. If flag
      on, user will be able to modify the VLAN filter state by ethtool
      -K.
      
      Furtherly, the default VLAN filter state is also changed
      according to whether non-zero VLAN used. Then the device can
      receive packet with any VLAN tag if only VLAN 0 used.
      
      The function hclge_need_enable_vport_vlan_filter() is used to
      help implement above changes. And the VLAN filter handle for
      promisc mode can also be simplified by this function.
      Signed-off-by: NJian Shen <shenjian15@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      2ba30662
  11. 21 5月, 2021 14 次提交
    • Y
      net: hns3: remove the useless debugfs file node cmd · b4689aaf
      Yufeng Mo 提交于
      Currently, all debugfs commands have been reconstructed, and the
      debugfs file node cmd is useless. So remove this debugfs file node.
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4689aaf
    • Y
      net: hns3: refactor dump serv info of debugfs · 058c3be9
      Yufeng Mo 提交于
      Currently, the debugfs command for serv info is implemented by
      "echo xxxx > cmd", and record the inforamtion in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "serv_info" for it, and query it by command "cat serv_info",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat service_task_info
      local_clock: [  114.203321]
      delta: 784(ms)
      last_service_task_processed: 4294918512(jiffies)
      last_service_task_cnt: 4
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      058c3be9
    • Jiaran Zhang's avatar
      net: hns3: refactor dump mac tnl status of debugfs · 7b07ab06
      Jiaran Zhang 提交于
      Currently, the debugfs command for dump mac tnl status is
      implemented by "echo xxxx > cmd", and record the information
      in dmesg. It's unnecessary and heavy. To improve it, create
      a single file "mac_tnl_status" for it, and query it by command
      "cat mac_tnl_status", return the result to userspace, rather
      than record in dmesg.
      
      The display style is below:
      $ cat mac_tnl_status
      Recently generated mac tnl interruption:
      [0111204.175437] status = 0x30
      [0154120.329912] status = 0x30
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7b07ab06
    • G
      net: hns3: refactor dump qos buf cfg of debugfs · 95b19586
      Guangbin Huang 提交于
      Currently, user gets qos buffer config by implementing debugfs command
      "echo dump qos buf cfg > cmd", this command will dump info in dmesg.
      It's unnecessary and heavy.
      
      To optimize it, create a single file "qos_buf_cfg" in tm directory
      and use cat command to get info. It will return info to userspace,
      rather than record in dmesg.
      
      The display style is below:
      $ cat qos_buf_cfg
      tx_packet_buf_tc_0: 0x120
      tx_packet_buf_tc_1: 0x120
      tx_packet_buf_tc_2: 0x120
      tx_packet_buf_tc_3: 0x120
      tx_packet_buf_tc_4: 0x0
      tx_packet_buf_tc_5: 0x0
      tx_packet_buf_tc_6: 0x0
      tx_packet_buf_tc_7: 0x0
      ......
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95b19586
    • G
      net: hns3: refactor dump qos pri map of debugfs · 28d3bada
      Guangbin Huang 提交于
      Currently, user gets priority map by implementing debugfs command
      "echo dump qos pri map > cmd", this command will dump info in dmesg.
      It's unnecessary and heavy.
      
      To optimize it, create a single file "qos_pri_map" in tm directory
      and use cat command to get info. It will return info to userspace,
      rather than record in dmesg.
      
      The display style is below:
      $ cat qos_pri_map
      vlan_to_pri: 0
      PRI    TC
      0       0
      1       1
      2       2
      3       3
      4       0
      5       1
      6       2
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      28d3bada
    • G
      net: hns3: refactor dump qos pause cfg of debugfs · 6571ec2e
      Guangbin Huang 提交于
      Currently, user gets pause config by implementing debugfs command
      "echo dump qos pause cfg > cmd", this command will dump info in dmesg.
      It's unnecessary and heavy.
      
      To optimize it, create a single file "qos_pause_cfg" in tm directory
      and use cat command to get info. It will return info to userspace,
      rather than record in dmesg.
      
      The display style is below:
      $ cat qos_pause_cfg
      pause_trans_gap: 0x7f
      pause_trans_time: 0xffff
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6571ec2e
    • G
      net: hns3: refactor dump tc of debugfs · 0e32038d
      Guangbin Huang 提交于
      Currently, user gets tc schedule info by implementing debugfs command
      "echo dump tc > cmd", this command will dump info in dmesg. It's
      unnecessary and heavy.
      
      To optimize it, create a single file "tc_sch_info" and use cat command
      to get info. It will return info to userspace, rather than record in
      dmesg.
      
      The display style is below:
      $ cat tc_sch_info
      enabled tc number: 4
      weight_offset: 14
      TC    MODE  WEIGHT
      0     dwrr     25
      1     dwrr     25
      2     dwrr     25
      3     dwrr     25
      4     dwrr      0
      5     dwrr      0
      6     dwrr      0
      7     dwrr      0
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0e32038d
    • G
      net: hns3: refactor dump tm of debugfs · cad7c215
      Guangbin Huang 提交于
      Currently, user gets some tm info by implementing debugfs command
      "echo dump tm > cmd", this command will dump info in dmesg. It's
      unnecessary and heavy.
      
      In addition, the info of this command mixes info of qset, priority,
      pg and port. Qset and priority have their own command to get info of
      themself, so can remove info of qset and priority from this command.
      
      To optimize it, create two new files "tm_pg", "tm_port" in tm directory
      and use cat command to separately get info of pg and port.
      
      The display style is below:
      $ cat tm_pg
      ID  PRI_MAP  MODE DWRR  C_IR_B  C_IR_U  C_IR_S  C_BS_B  C_BS_S ...
      00   0x1f    dwrr  1       75       9       0      31      20  ...
      
      $ cat tm_port
      IR_B  IR_U  IR_S  BS_B  BS_S  FLAG  RATE(Mbps)
      75     9     0    31    20    1     200000
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cad7c215
    • G
      net: hns3: refactor dump tm map of debugfs · 7679f28e
      Guangbin Huang 提交于
      Currently, the debugfs command for tm map is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "tm_map" for it, and query it by command "cat tm_map",
      return the result to userspace, rather than record in dmesg.
      
      As user can't specify queue id in cat command, driver will return info
      of all queue id.
      
      The display style is below:
      $ cat tm_map
      queue_id   qset_id   pri_id   tc_id
      0000         0000      00       00
      INDEX | TM BP QSET MAPPING:
      0000  | 00000000:00000000:00000000:00000000:00000000:00000000:00000000
      0256  | 00000000:00000000:00000000:00000000:00000000:00000002:00000000
      0512  | 00000000:00000000:00000000:00000004:00000000:00000000:00000000
      0768  | 00000000:00000008:00000000:00000000:00000000:00000000:00000000
      Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7679f28e
    • H
      net: hns3: refactor dump fd tcam of debugfs · b5a0b70d
      Hao Chen 提交于
      Currently, the debugfs command for fd tcam is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "fd_tcam" for it, and query it by command "cat fd_tcam",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat fd_tcam
      read result tcam key x(31):
      00000000
      00000000
      00000000
      08000000
      00000600
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      read result tcam key y(31):
      00000000
      00000000
      00000000
      f7ff0000
      0000f900
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      00000000
      0000fff8
      Signed-off-by: NHao Chen <chenhao288@hisilicon.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b5a0b70d
    • H
      net: hns3: refactor queue info of debugfs · e44c495d
      Hao Chen 提交于
      Currently, the debugfs command for queue info is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create two files
      "rx_queue_info" and "tx_queue_info" for it, and query it
      by command "cat rx_queue_info" and "cat tx_queue_info",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat rx_queue_info
      QUEUE_ID  BD_NUM  BD_LEN  TAIL  HEAD  FBDNUM  PKTNUM   ...
      0           0       0     0     0       0       0      ...
      1           0       0     0     0       0       0      ...
      2           0       0     0     0       0       0      ...
      
      $ cat tx_queue_info
      QUEUE_ID  BD_NUM  TC  TAIL  HEAD  FBDNUM  OFFSET  PKTNUM  ...
      0           0     0     0     0       0       0        0  ...
      1           0     0     0     0       0       0        0  ...
      2           0     0     0     0       0       0        0  ...
      Signed-off-by: NHao Chen <chenhao288@hisilicon.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e44c495d
    • H
      net: hns3: refactor queue map of debugfs · d2f737cf
      Hao Chen 提交于
      Currently, the debugfs command for queue map is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "queue_map" for it, and query it by command "cat queue_map",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat queue_map
      local_queue_id   global_queue_id   vector_id
      0                0                 341
      Signed-off-by: NHao Chen <chenhao288@hisilicon.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d2f737cf
    • Y
      net: hns3: refactor dump reg dcb info of debugfs · 365e860a
      Yufeng Mo 提交于
      Currently, the debugfs command for reg dcb info is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "dcb" for it, and query it by command "cat dcb",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat dcb
      qset_id  roce_qset_mask  nic_qset_mask  qset_shaping_pass  qset_bp_status
      0000           0x1            0x1             0x1               0x0
      0001           0x1            0x1             0x1               0x0
      0002           0x1            0x1             0x1               0x0
      0003           0x1            0x1             0x1               0x0
      0004           0x1            0x1             0x1               0x0
      0005           0x1            0x1             0x1               0x0
      0006           0x1            0x1             0x1               0x0
      0007           0x1            0x1             0x1               0x0
      pri_id  pri_mask  pri_cshaping_pass  pri_pshaping_pass
      000       0x1           0x0                0x1
      001       0x1           0x0                0x0
      002       0x1           0x0                0x0
      003       0x1           0x0                0x0
      004       0x1           0x0                0x0
      005       0x1           0x0                0x0
      006       0x1           0x0                0x0
      007       0x1           0x0                0x0
      pg_id  pg_mask  pg_cshaping_pass  pg_pshaping_pass
      000      0x1           0x0               0x1
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      365e860a
    • Y
      net: hns3: refactor dump reg of debugfs · d96b0e59
      Yufeng Mo 提交于
      Currently, the debugfs command for reg is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create some files
      "bios_common/ssu/igu_egu/rpu/ncsi/rtc/ppp/rcb/tqp/mac" for it,
      and query it by command "cat xxx", return the result to
      userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat bios_common
      BP_CPU_STATE: 0x0
      DFX_MSIX_INFO_NIC_0: 0xc000
      DFX_MSIX_INFO_NIC_1: 0x0
      DFX_MSIX_INFO_NIC_2: 0x0
      DFX_MSIX_INFO_NIC_3: 0x0
      DFX_MSIX_INFO_ROC_0: 0xc000
      DFX_MSIX_INFO_ROC_1: 0x0
      DFX_MSIX_INFO_ROC_2: 0x0
      DFX_MSIX_INFO_ROC_3: 0x0
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d96b0e59
  12. 15 5月, 2021 10 次提交
    • Jiaran Zhang's avatar
      net: hns3: refactor dump ncl config of debugfs · e76e6886
      Jiaran Zhang 提交于
      Currently, the debugfs command for ncl config is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "ncl_config" for it, and query it by command "cat ncl_config",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $cat ncl_config
      offset | data
      0x0000 | 0x00000028
      0x0004 | 0x00000400
      0x0008 | 0x08040201
      0x000c | 0x00000000
      0x0010 | 0x00040004
      0x0014 | 0x00040004
      0x0018 | 0x00000000
      0x001c | 0x00000000
      0x0020 | 0x00040004
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e76e6886
    • Jiaran Zhang's avatar
      net: hns3: refactor dump m7 info of debugfs · 0b198b0d
      Jiaran Zhang 提交于
      Currently, the debugfs command for m7 info is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "imp_info" for it, and query it by command "cat imp_info",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $cat imp_info
      offset | data
      0x0000 | 0x00000000  0x00000000
      0x0008 | 0x00000000  0x00000000
      0x0010 | 0x00000000  0x00000001
      0x0018 | 0x00000000  0x00000000
      0x0020 | 0x00000000  0x00000000
      0x0028 | 0x00000000  0x00000000
      0x0030 | 0x00000000  0x00000000
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b198b0d
    • Jiaran Zhang's avatar
      net: hns3: refactor dump reset info of debugfs · 1a7ff828
      Jiaran Zhang 提交于
      Currently, the debugfs command for reset info is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "reset_info" for it, and query it by command "cat reset_info",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $cat reset_info
      PF reset count: 0
      FLR reset count: 0
      GLOBAL reset count: 0
      IMP reset count: 0
      reset done count: 0
      HW reset done count: 0
      reset count: 0
      reset fail count: 0
      vector0 interrupt enable status: 0x1
      reset interrupt source: 0x0
      reset interrupt status: 0x0
      RAS interrupt status:0x0
      hardware reset status: 0x0
      handshake status: 0x80
      function reset status: 0x0
      
      Change to the "hclge_show_rst_info" in the "hclge_reset_err_handle",
      when the reset fails, display reset info immediately.
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a7ff828
    • Jiaran Zhang's avatar
      net: hns3: refactor dump intr of debugfs · 9149ca0f
      Jiaran Zhang 提交于
      Currently, the debugfs command for intr is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "interrupt_info" for it, and query it by command "cat interrupt_info",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $cat interrupt_info
      num_nic_msi: 65
      num_roce_msi: 65
      num_msi_used: 2
      num_msi_left: 128
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9149ca0f
    • Y
      net: hns3: refactor dump loopback of debugfs · d658ff34
      Yufeng Mo 提交于
      Currently, the debugfs command for loopback is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "loopback" for it, and query it by command "cat loopback",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat loopback
      mac id: 0
      app loopback: off
      serdes serial loopback: off
      serdes parallel loopback: off
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d658ff34
    • Y
      net: hns3: refactor dump mng tbl of debugfs · 8ddfd9c4
      Yufeng Mo 提交于
      Currently, the debugfs command for mng tbl is implemented by
      "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create a single file
      "mng_tbl" for it, and query it by command "cat mng_tbl",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat mng_tbl
      entry  mac_addr          mask  ether  mask  vlan  mask  i_map ...
      00     00:00:00:00:00:00 0     88cc   0     0000  1     0f    ...
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ddfd9c4
    • H
      net: hns3: refactor dump mac list of debugfs · 1556ea91
      Huazhong Tan 提交于
      Currently, the debugfs command for mac list info is implemented
      by "echo xxxx > cmd", and record the information in dmesg. It's
      unnecessary and heavy. To improve it, create two files "uc" and
      "mc" under directory "mac_list" for it, and query mac list info
      by "cat mac_list/uc" and "mac_list/mc", return the result to
      userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat mac_list/uc
      UC MAC_LIST:
      FUNC_ID  MAC_ADDR            STATE
      pf       00:18:2d:00:00:71   ACTIVE
      
      $ cat mac_list/mc
      MC MAC_LIST:
      FUNC_ID  MAC_ADDR            STATE
      pf       01:80:c2:00:00:21   ACTIVE
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1556ea91
    • H
      net: hns3: refactor dump bd info of debugfs · 77e91848
      Huazhong Tan 提交于
      Currently, the debugfs command for bd info is implemented
      by "echo xxxx > cmd", and record the information in dmesg.
      It's unnecessary and heavy.
      
      To improve it, add two debugfs directories "tx_bd_info" and
      "rx_bd_info", and create a file for each queue under these
      two directories, and query the bd info of specific queue by
      "cat tx_bd_info/tx_bd_queue*" or "cat rx_bd_info/rx_bd_queue*",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat rx_bd_info/rx_bd_queue0
      Queue 0 rx bd info:
      BD_IDX   L234_INFO  PKT_LEN   SIZE...
      0        0x0             60     60...
      1        0x0           1512   1512...
      
      $ cat tx_bd_info/tx_bd_queue0
      Queue 0 tx bd info:
      BD_IDX     ADDRESS  VLAN_TAG  SIZE...
      0          0x0          0        0...
      1          0x0          0        0...
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      77e91848
    • Jiaran Zhang's avatar
      net: hns3: refactor dev capability and dev spec of debugfs · c929bc2a
      Jiaran Zhang 提交于
      Currently, the debugfs command for dev capability and dev spec
      are implemented by "echo xxxx > cmd", and record the information
      in dmesg. It's unnecessary and heavy. To improve it, create a
      single file "dev_info" for them, and query them by command
      "cat dev_info", return the result to userspace, rather than
      record in dmesg.
      
      The display style is below:
      $cat dev_info
      dev capability:
      support FD: yes
      support GRO: yes
      support FEC: yes
      support UDP GSO: no
      support PTP: no
      support INT QL: no
      support HW TX csum: no
      support UDP tunnel csum: no
      support TX push: no
      support imp-controlled PHY: no
      support rxd advanced layout: no
      
      dev spec:
      MAC entry num: 0
      MNG entry num: 0
      MAX non tso bd num: 8
      RSS ind tbl size: 512
      RSS key size: 40
      RSS size: 1
      Allocated RSS size: 0
      Task queue pairs numbers: 1
      RX buffer length: 2048
      Desc num per TX queue: 1024
      Desc num per RX queue: 1024
      Total number of enabled TCs: 1
      MAX INT QL: 0
      MAX INT GL: 8160
      MAX TM RATE: 100000
      MAX QSET number: 1024
      Signed-off-by: Jiaran Zhang's avatarJiaran Zhang <zhangjiaran@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c929bc2a
    • Y
      net: hns3: refactor the debugfs process · 5e69ea7e
      Yufeng Mo 提交于
      Currently, each debugfs command needs to create a file to get
      the information. To better support more debugfs commands, the
      debugfs process is reconstructed, including the process of
      creating dentries and files, and obtaining information.
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e69ea7e