From patchwork Mon Nov 19 21:18:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Salil Mehta X-Patchwork-Id: 151525 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp3185666ljp; Mon, 19 Nov 2018 13:21:24 -0800 (PST) X-Google-Smtp-Source: AJdET5d+dN2PevqLMXsZrIQQAH7K+fdbC5sL6w6bv15PA4eWpYp3be6nX63oNEAp9+f/plwkf3px X-Received: by 2002:a65:5a8e:: with SMTP id c14mr21476691pgt.137.1542662483921; Mon, 19 Nov 2018 13:21:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542662483; cv=none; d=google.com; s=arc-20160816; b=WeD3sxUBMQeCinUEgIV9IGpgKsDnUFruPwbRgBCo/KBzldl7imRH0/dp3ZB/1gdvLi 1ahdW6iOwHZjAH6DkHcg/d81Q03/q9hYbrG093jtaE5OOVJpj3erNxBYVlG4JkQPoLGq ZPMOMgyahdKbKbp4CnRUL468IOQUAkrRdqda2PN7a+gqD4Eio82hzfAZpReWYYtkhm+0 XxYcZAAJ6eDIv5hsbnW0LPXoGnaRYdGcJ3RTW8mLU8fug5Ld4cm1cD2FqTvuPPhWNjY1 8Yf4RkQ9OHSK2imSauEufbkdoFD0U6n29t+fLMa3cLeAuSBPBkrD7v4KZQLEi2jma6YH EM+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=RydlvTts3P8qohqnQfB+kK23wghBuQW8gyk7aTlc0XE=; b=O0u6FpZ6byH1PaOrbIkpyuOZg21YYgBcCJLFM/dAAeCTV+tQiOXF1zd1Hl+3711TtE N5agtCK4dbael2uRWxeOsCI6qTG2WWOiGDmP6e3skwmRraz1z4mf6nn4YIYMj1lwoJ3Y ssX8z+FAzakGkbsRp4g0BWatDjLOEICve+0hik34HpuZApY/Xg+Ti9rROzNyBb81PYl/ 5rfT91Yjq5RQo7VGqkYXGyhSimof+Pnxia/oRHd3q9cc43B6h1BWZfNIdVrzTWnXZH7w qjW2kviBeJW8m/J0L27Wawlnd4KDjI6y65RreGDbVI4jtmhT+ICBv9l4bR86X9IydaZy uMvA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s11si40394906pgi.324.2018.11.19.13.21.23; Mon, 19 Nov 2018 13:21:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731132AbeKTHqx (ORCPT + 10 others); Tue, 20 Nov 2018 02:46:53 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:51383 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730141AbeKTHqw (ORCPT ); Tue, 20 Nov 2018 02:46:52 -0500 Received: from DGGEMS410-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 5104A3517B7A; Tue, 20 Nov 2018 05:21:20 +0800 (CST) Received: from S00293818-DELL1.china.huawei.com (10.47.88.214) by DGGEMS410-HUB.china.huawei.com (10.3.19.210) with Microsoft SMTP Server id 14.3.408.0; Tue, 20 Nov 2018 05:21:11 +0800 From: Salil Mehta To: CC: , , , , , , , liuzhongzhu Subject: [PATCH net-next 6/8] net: hns3: Add pause config info query function Date: Mon, 19 Nov 2018 21:18:43 +0000 Message-ID: <20181119211845.23168-7-salil.mehta@huawei.com> X-Mailer: git-send-email 2.8.3 In-Reply-To: <20181119211845.23168-1-salil.mehta@huawei.com> References: <20181119211845.23168-1-salil.mehta@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.47.88.214] X-CFilter-Loop: Reflected Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: liuzhongzhu This patch prints qos pause config information. debugfs command: echo dump qos pause cfg > cmd Sample Command: root@(none)# echo dump qos pause cfg > cmd hns3 0000:7d:00.0: dump qos pause cfg hns3 0000:7d:00.0: pause_trans_gap: 0xff hns3 0000:7d:00.0: pause_trans_time: 0xffff root@(none)# Signed-off-by: liuzhongzhu Signed-off-by: Salil Mehta --- .../ethernet/hisilicon/hns3/hns3_debugfs.c | 1 + .../hisilicon/hns3/hns3pf/hclge_debugfs.c | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) -- 2.17.1 diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c index 5e938879ca66..83ca76849be4 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c @@ -132,6 +132,7 @@ static void hns3_dbg_help(struct hnae3_handle *h) dev_info(&h->pdev->dev, "dump fd tcam\n"); dev_info(&h->pdev->dev, "dump tc\n"); dev_info(&h->pdev->dev, "dump tm\n"); + dev_info(&h->pdev->dev, "dump qos pause cfg\n"); } static ssize_t hns3_dbg_cmd_read(struct file *filp, char __user *buffer, diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c index e6f70260fd9d..3dc1c69269ee 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c @@ -242,6 +242,29 @@ static void hclge_dbg_dump_tm(struct hclge_dev *hdev) cmd, ret); } +static void hclge_dbg_dump_qos_pause_cfg(struct hclge_dev *hdev) +{ + struct hclge_cfg_pause_param_cmd *pause_param; + struct hclge_desc desc; + int ret; + + hclge_cmd_setup_basic_desc(&desc, HCLGE_OPC_CFG_MAC_PARA, true); + + ret = hclge_cmd_send(&hdev->hw, &desc, 1); + if (ret) { + dev_err(&hdev->pdev->dev, "dump checksum fail, status is %d.\n", + ret); + return; + } + + pause_param = (struct hclge_cfg_pause_param_cmd *)desc.data; + dev_info(&hdev->pdev->dev, "dump qos pause cfg\n"); + dev_info(&hdev->pdev->dev, "pause_trans_gap: 0x%x\n", + pause_param->pause_trans_gap); + dev_info(&hdev->pdev->dev, "pause_trans_time: 0x%x\n", + pause_param->pause_trans_time); +} + static void hclge_dbg_fd_tcam_read(struct hclge_dev *hdev, u8 stage, bool sel_x, u32 loc) { @@ -307,6 +330,8 @@ int hclge_dbg_run_cmd(struct hnae3_handle *handle, char *cmd_buf) hclge_dbg_dump_tc(hdev); } else if (strncmp(cmd_buf, "dump tm", 7) == 0) { hclge_dbg_dump_tm(hdev); + } else if (strncmp(cmd_buf, "dump qos pause cfg", 18) == 0) { + hclge_dbg_dump_qos_pause_cfg(hdev); } else { dev_info(&hdev->pdev->dev, "unknown command\n"); return -EINVAL;