Commit dbaae5bb authored by Guangbin Huang's avatar Guangbin Huang Committed by David S. Miller

net: hns3: dump tqp enable status in debugfs

Adds debugfs to dump tqp enable status.
Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b4442ec5
...@@ -130,6 +130,9 @@ enum HNAE3_DEV_CAP_BITS { ...@@ -130,6 +130,9 @@ enum HNAE3_DEV_CAP_BITS {
#define hnae3_dev_stash_supported(hdev) \ #define hnae3_dev_stash_supported(hdev) \
test_bit(HNAE3_DEV_SUPPORT_STASH_B, (hdev)->ae_dev->caps) test_bit(HNAE3_DEV_SUPPORT_STASH_B, (hdev)->ae_dev->caps)
#define hnae3_ae_dev_tqp_txrx_indep_supported(ae_dev) \
test_bit(HNAE3_DEV_SUPPORT_TQP_TXRX_INDEP_B, (ae_dev)->caps)
#define ring_ptr_move_fw(ring, p) \ #define ring_ptr_move_fw(ring, p) \
((ring)->p = ((ring)->p + 1) % (ring)->desc_num) ((ring)->p = ((ring)->p + 1) % (ring)->desc_num)
#define ring_ptr_move_bw(ring, p) \ #define ring_ptr_move_bw(ring, p) \
......
...@@ -15,6 +15,7 @@ static struct dentry *hns3_dbgfs_root; ...@@ -15,6 +15,7 @@ static struct dentry *hns3_dbgfs_root;
static int hns3_dbg_queue_info(struct hnae3_handle *h, static int hns3_dbg_queue_info(struct hnae3_handle *h,
const char *cmd_buf) const char *cmd_buf)
{ {
struct hnae3_ae_dev *ae_dev = pci_get_drvdata(h->pdev);
struct hns3_nic_priv *priv = h->priv; struct hns3_nic_priv *priv = h->priv;
struct hns3_enet_ring *ring; struct hns3_enet_ring *ring;
u32 base_add_l, base_add_h; u32 base_add_l, base_add_h;
...@@ -118,8 +119,25 @@ static int hns3_dbg_queue_info(struct hnae3_handle *h, ...@@ -118,8 +119,25 @@ static int hns3_dbg_queue_info(struct hnae3_handle *h,
value = readl_relaxed(ring->tqp->io_base + value = readl_relaxed(ring->tqp->io_base +
HNS3_RING_TX_RING_PKTNUM_RECORD_REG); HNS3_RING_TX_RING_PKTNUM_RECORD_REG);
dev_info(&h->pdev->dev, "TX(%u) RING PKTNUM: %u\n\n", i, dev_info(&h->pdev->dev, "TX(%u) RING PKTNUM: %u\n", i, value);
value);
value = readl_relaxed(ring->tqp->io_base + HNS3_RING_EN_REG);
dev_info(&h->pdev->dev, "TX/RX(%u) RING EN: %s\n", i,
value ? "enable" : "disable");
if (hnae3_ae_dev_tqp_txrx_indep_supported(ae_dev)) {
value = readl_relaxed(ring->tqp->io_base +
HNS3_RING_TX_EN_REG);
dev_info(&h->pdev->dev, "TX(%u) RING EN: %s\n", i,
value ? "enable" : "disable");
value = readl_relaxed(ring->tqp->io_base +
HNS3_RING_RX_EN_REG);
dev_info(&h->pdev->dev, "RX(%u) RING EN: %s\n", i,
value ? "enable" : "disable");
}
dev_info(&h->pdev->dev, "\n");
} }
return 0; return 0;
......
...@@ -43,6 +43,8 @@ enum hns3_nic_state { ...@@ -43,6 +43,8 @@ enum hns3_nic_state {
#define HNS3_RING_TX_RING_EBD_OFFSET_REG 0x00070 #define HNS3_RING_TX_RING_EBD_OFFSET_REG 0x00070
#define HNS3_RING_TX_RING_BD_ERR_REG 0x00074 #define HNS3_RING_TX_RING_BD_ERR_REG 0x00074
#define HNS3_RING_EN_REG 0x00090 #define HNS3_RING_EN_REG 0x00090
#define HNS3_RING_RX_EN_REG 0x00098
#define HNS3_RING_TX_EN_REG 0x000D4
#define HNS3_RX_HEAD_SIZE 256 #define HNS3_RX_HEAD_SIZE 256
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment