From patchwork Tue Feb 11 08:19:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandu Babu Namburu X-Patchwork-Id: 65721 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9DC3AA051C; Tue, 11 Feb 2020 09:20:04 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B5E722BE9; Tue, 11 Feb 2020 09:20:03 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2054.outbound.protection.outlook.com [40.107.243.54]) by dpdk.org (Postfix) with ESMTP id 579BB2BD8 for ; Tue, 11 Feb 2020 09:20:02 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I9rfOst5PpmI6HNlZlAnu1zQZ+FvCz0tIMgKlOe8SfmbvMI4fLYIJQDFVSRXA+sv+aK2pwQlboY7cJDGPXQvr8iiXajehVCasY9Qwqd/5MH62g75iYSD3aSsgRLMBUxNNJoYjQdSBt8C3vdMhC5SXQPRjDN4ryVdTnojytviL1oGvRSIxhUPAxVMltuoC2WTIQzL3KnPZ/JI7wVa2ZY12KEqpSmN7vfRp5+FqCIDnpOgLG8MnOVxU3DTqX9yKdjoQ9WAQIY/6EVOLLI8DorSQFU1XpjHgzqaV04VE3bvbrnIeVW8crRa4ltMS/JUgYIWMLU2ZrKk+D+WEIhqSgwSKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z983bg4K+WcRA9ZTK/DNlnkZLl3qhaUjgrkX+82NGi4=; b=bh6zwlD/iMwFAu/zcdTB9PkW/t3wUKoBtPkpDj8fYxBkvscRofrt6K4lO1Yyh9buc47a74NieiTAbpcIV3RvrofP/BwKdv8L7d42B81lDlLggwpW1HutEr85AxGQ3H9+L+gkTqTQlZtkQ0CC9YqvBJhkVKIgXuDY56DP+VajBl8TcuLZedS3SlfLIuW3UyoMAZkPcsxEGwhgHTHPfm0dHbw5nzS6fgSLNAZGnJOM64rADZE1kqGXkBYdczSXy8o760jL/uKrzIDgdorE0aV6PplXewdHVtTsaN2TLOQDo1MxifV4bmA4SVj3rPEQgAZVm9E0NuTFOD3sGKWmV0yzYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z983bg4K+WcRA9ZTK/DNlnkZLl3qhaUjgrkX+82NGi4=; b=J3AIH6q7wnMyhVtGClOKdpnWlkEpxrn77GeFli1Tj71/hA3uxLH+MDlcCgW0tLOZBuHn27zsd7FpcNPoYEMtvreVfO2teJBT/nR0ZPVleh0YSCi9/JmrtWpZAqyiwMh1MppVGVLIhLLO2R0aogmd/5P1kFxKtej7B7G089xdfo8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=chandu@amd.com; Received: from MN2PR12MB3021.namprd12.prod.outlook.com (20.178.240.158) by MN2PR12MB4109.namprd12.prod.outlook.com (52.135.50.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.23; Tue, 11 Feb 2020 08:20:00 +0000 Received: from MN2PR12MB3021.namprd12.prod.outlook.com ([fe80::9d79:4bf9:c31d:a53b]) by MN2PR12MB3021.namprd12.prod.outlook.com ([fe80::9d79:4bf9:c31d:a53b%3]) with mapi id 15.20.2707.030; Tue, 11 Feb 2020 08:20:00 +0000 From: cnamburu@amd.com To: dev@dpdk.org Cc: Ravi1.Kumar@amd.com, Amaranath.Somalapuram@amd.com Date: Tue, 11 Feb 2020 13:49:39 +0530 Message-Id: <20200211081939.17793-1-cnamburu@amd.com> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: MA1PR01CA0110.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:1::26) To MN2PR12MB3021.namprd12.prod.outlook.com (2603:10b6:208:c2::30) MIME-Version: 1.0 Received: from cae-Wallaby.amd.com (165.204.156.251) by MA1PR01CA0110.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:1::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.24 via Frontend Transport; Tue, 11 Feb 2020 08:19:59 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [165.204.156.251] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 374903b3-1bc1-4f01-a9a3-08d7aecb300d X-MS-TrafficTypeDiagnostic: MN2PR12MB4109:|MN2PR12MB4109: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:206; X-Forefront-PRVS: 0310C78181 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(39860400002)(396003)(136003)(366004)(346002)(199004)(189003)(66556008)(16526019)(186003)(2906002)(66476007)(4326008)(2616005)(956004)(66946007)(316002)(5660300002)(81166006)(81156014)(478600001)(6666004)(8676002)(6486002)(9686003)(8936002)(1076003)(30864003)(52116002)(7696005)(6916009)(36756003)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR12MB4109; H:MN2PR12MB3021.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FMoQtbXGiYclInu0BT9PLTWIFjXNEl/8grX6L+wl9R2kL8EZ07l6EgutX/sLNcXeWWNsIMGBmKb8TVvTt1ZLb0Wn2yBnoq3tDgd/eMB8Oc0Hw8l3g2bllKPNcDDP6kcQx+l1WMLpMJTSO2url9Or8pJiSuXbkT0zERI2qnQVIuumb6lhMa4Uo94B5HOmGbc6C5Ei7a+MqFHHKNrbC2ejUWuqQdE19S8HITdM9T58PzkLZ+lJBJ4CMwW9B84tcJmMkV0hG2QHZwwqoZJ86CUrY6zf46NucYgsovdULzvPnY16iWXRh3dM9QTHCuswaP5Z51fS3ZhSV2MuSBqSvyFYnb7GLXLvEYS+CyUWXK7DBcRaEwumcKLX+UhI7oczyf0uERS7UJQs1MQ1ZDyGnO9dUE4w+yLIZQ5Rhux4YtCcj0svpZLD+WjcadIyB1WqT/Qj X-MS-Exchange-AntiSpam-MessageData: 9kwOucgTkZ/by6reo8HXe9QuNPdc4z4eIvVBmUl+zOVdHoorNbn8ivqSmeTCdzV5l/ij1pcEiZKBdD3g+6WyBREpp7MRaEj7tLF+bFCuQliRspV6+azoegyem1TmGJKtnWXJeV7gaBD6zOON+lw+Sw== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 374903b3-1bc1-4f01-a9a3-08d7aecb300d X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2020 08:20:00.7478 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DytV4vdGNZm8F2cSbhbRQ0Oay1pd74S/rivroMO1q0htMPnTEJrMmLfQiAFqEOO9XszbqMZNq/weY1iyCp1sRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4109 Subject: [dpdk-dev] [PATCH v1] net/axgbe: add debug logs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Chandu Babu N Add debug logs in various modules in axgbe Signed-off-by: Chandu Babu N Acked-by: Ravi Kumar --- drivers/net/axgbe/axgbe_dev.c | 17 ++++++++-- drivers/net/axgbe/axgbe_ethdev.c | 2 ++ drivers/net/axgbe/axgbe_i2c.c | 10 ++++++ drivers/net/axgbe/axgbe_mdio.c | 51 +++++++++++++++++++++++++++++- drivers/net/axgbe/axgbe_phy_impl.c | 43 ++++++++++++++++++++++++- 5 files changed, 119 insertions(+), 4 deletions(-) diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 83089f20d..2e796c0b3 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -260,6 +260,9 @@ static int axgbe_enable_tx_flow_control(struct axgbe_port *pdata) ehfc = 1; AXGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQOMR, EHFC, ehfc); + + PMD_DRV_LOG(DEBUG, "flow control %s for RXq%u\n", + ehfc ? "enabled" : "disabled", i); } /* Set MAC flow control */ @@ -915,6 +918,9 @@ static void axgbe_config_rx_fifo_size(struct axgbe_port *pdata) /*Calculate and config Flow control threshold*/ axgbe_calculate_flow_control_threshold(pdata); axgbe_config_flow_control_threshold(pdata); + + PMD_DRV_LOG(DEBUG, "%d Rx hardware queues, %d byte fifo per queue\n", + pdata->rx_q_count, q_fifo_size); } static void axgbe_config_tx_fifo_size(struct axgbe_port *pdata) @@ -938,6 +944,9 @@ static void axgbe_config_tx_fifo_size(struct axgbe_port *pdata) for (i = 0; i < pdata->tx_q_count; i++) AXGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_TQOMR, TQS, p_fifo); + + PMD_DRV_LOG(DEBUG, "%d Tx hardware queues, %d byte fifo per queue\n", + pdata->tx_q_count, q_fifo_size); } static void axgbe_config_queue_mapping(struct axgbe_port *pdata) @@ -952,12 +961,16 @@ static void axgbe_config_queue_mapping(struct axgbe_port *pdata) qptc_extra = pdata->tx_q_count % pdata->hw_feat.tc_cnt; for (i = 0, queue = 0; i < pdata->hw_feat.tc_cnt; i++) { - for (j = 0; j < qptc; j++) + for (j = 0; j < qptc; j++) { + PMD_DRV_LOG(DEBUG, "TXq%u mapped to TC%u\n", queue, i); AXGMAC_MTL_IOWRITE_BITS(pdata, queue, MTL_Q_TQOMR, Q2TCMAP, i); - if (i < qptc_extra) + } + if (i < qptc_extra) { + PMD_DRV_LOG(DEBUG, "TXq%u mapped to TC%u\n", queue, i); AXGMAC_MTL_IOWRITE_BITS(pdata, queue, MTL_Q_TQOMR, Q2TCMAP, i); + } } if (pdata->rss_enable) { diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c index d0b6f091f..7445c544d 100644 --- a/drivers/net/axgbe/axgbe_ethdev.c +++ b/drivers/net/axgbe/axgbe_ethdev.c @@ -201,12 +201,14 @@ axgbe_dev_interrupt_handler(void *param) pdata->phy_if.an_isr(pdata); /*DMA related interrupts*/ dma_isr = AXGMAC_IOREAD(pdata, DMA_ISR); + PMD_DRV_LOG(DEBUG, "DMA_ISR=%#010x\n", dma_isr); if (dma_isr) { if (dma_isr & 1) { dma_ch_isr = AXGMAC_DMA_IOREAD((struct axgbe_rx_queue *) pdata->rx_queues[0], DMA_CH_SR); + PMD_DRV_LOG(DEBUG, "DMA_CH0_ISR=%#010x\n", dma_ch_isr); AXGMAC_DMA_IOWRITE((struct axgbe_rx_queue *) pdata->rx_queues[0], DMA_CH_SR, dma_ch_isr); diff --git a/drivers/net/axgbe/axgbe_i2c.c b/drivers/net/axgbe/axgbe_i2c.c index 204ec3679..ab3738a12 100644 --- a/drivers/net/axgbe/axgbe_i2c.c +++ b/drivers/net/axgbe/axgbe_i2c.c @@ -162,9 +162,15 @@ static int axgbe_i2c_isr(struct axgbe_port *pdata) isr = XI2C_IOREAD(pdata, IC_RAW_INTR_STAT); + PMD_DRV_LOG(DEBUG, "I2C interrupt received: status=%#010x\n", isr); + axgbe_i2c_clear_isr_interrupts(pdata, isr); if (isr & AXGBE_INTR_TX_ABRT) { + PMD_DRV_LOG(DEBUG, + "I2C TX_ABRT received (%#010x) for target %#04x\n", + state->tx_abort_source, state->op->target); + axgbe_i2c_disable_interrupts(pdata); state->ret = -EIO; @@ -285,6 +291,8 @@ static void axgbe_i2c_stop(struct axgbe_port *pdata) if (!pdata->i2c.started) return; + PMD_DRV_LOG(DEBUG, "stopping I2C\n"); + pdata->i2c.started = 0; axgbe_i2c_disable_interrupts(pdata); axgbe_i2c_disable(pdata); @@ -296,6 +304,8 @@ static int axgbe_i2c_start(struct axgbe_port *pdata) if (pdata->i2c.started) return 0; + PMD_DRV_LOG(DEBUG, "starting I2C\n"); + pdata->i2c.started = 1; return 0; diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 4b280b72d..0f226c3f2 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -300,6 +300,8 @@ static void axgbe_an73_restart(struct axgbe_port *pdata) { axgbe_an73_enable_interrupts(pdata); axgbe_an73_set(pdata, true, true); + + PMD_DRV_LOG(DEBUG, "CL73 AN enabled/restarted\n"); } static void axgbe_an73_disable(struct axgbe_port *pdata) @@ -307,6 +309,8 @@ static void axgbe_an73_disable(struct axgbe_port *pdata) axgbe_an73_set(pdata, false, false); axgbe_an73_disable_interrupts(pdata); pdata->an_start = 0; + + PMD_DRV_LOG(DEBUG, "CL73 AN disabled\n"); } static void axgbe_an_restart(struct axgbe_port *pdata) @@ -384,6 +388,8 @@ static enum axgbe_an axgbe_an73_tx_training(struct axgbe_port *pdata, XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); + PMD_DRV_LOG(DEBUG, "KR training initiated\n"); + if (pdata->phy_if.phy_impl.kr_training_post) pdata->phy_if.phy_impl.kr_training_post(pdata); } @@ -466,6 +472,9 @@ static enum axgbe_an axgbe_an73_page_received(struct axgbe_port *pdata) pdata->kx_state = AXGBE_RX_BPA; pdata->an_start = rte_get_timer_cycles(); + + PMD_DRV_LOG(NOTICE, + "CL73 AN timed out, resetting state\n"); } } @@ -515,6 +524,26 @@ static enum axgbe_an axgbe_an73_incompat_link(struct axgbe_port *pdata) return AXGBE_AN_INCOMPAT_LINK; } +static const char *axgbe_state_as_string(enum axgbe_an state) +{ + switch (state) { + case AXGBE_AN_READY: + return "Ready"; + case AXGBE_AN_PAGE_RECEIVED: + return "Page-Received"; + case AXGBE_AN_INCOMPAT_LINK: + return "Incompatible-Link"; + case AXGBE_AN_COMPLETE: + return "Complete"; + case AXGBE_AN_NO_LINK: + return "No-Link"; + case AXGBE_AN_ERROR: + return "Error"; + default: + return "Undefined"; + } +} + static void axgbe_an73_state_machine(struct axgbe_port *pdata) { enum axgbe_an cur_state = pdata->an_state; @@ -536,6 +565,9 @@ static void axgbe_an73_state_machine(struct axgbe_port *pdata) pdata->an_state = AXGBE_AN_ERROR; } + PMD_DRV_LOG(DEBUG, "CL73 AN : %s\n", + axgbe_state_as_string(pdata->an_state)); + again: cur_state = pdata->an_state; @@ -581,6 +613,9 @@ static void axgbe_an73_state_machine(struct axgbe_port *pdata) pdata->an_start = 0; if (pdata->phy_if.phy_impl.an_post) pdata->phy_if.phy_impl.an_post(pdata); + + PMD_DRV_LOG(DEBUG, "CL73 AN result: %s\n", + axgbe_state_as_string(pdata->an_result)); } if (cur_state != pdata->an_state) @@ -685,6 +720,8 @@ static void axgbe_an37_isr(struct axgbe_port *pdata) static void axgbe_an_isr(struct axgbe_port *pdata) { + PMD_DRV_LOG(DEBUG, "AN interrupt received\n"); + switch (pdata->an_mode) { case AXGBE_AN_MODE_CL73: case AXGBE_AN_MODE_CL73_REDRV: @@ -792,6 +829,8 @@ static void axgbe_an73_init(struct axgbe_port *pdata) reg &= ~AXGBE_XNP_NP_EXCHANGE; XMDIO_WRITE(pdata, MDIO_MMD_AN, MDIO_AN_ADVERTISE, reg); + + PMD_DRV_LOG(DEBUG, "CL73 AN initialized\n"); } static void axgbe_an_init(struct axgbe_port *pdata) @@ -843,6 +882,8 @@ static int axgbe_phy_config_fixed(struct axgbe_port *pdata) { enum axgbe_mode mode; + PMD_DRV_LOG(DEBUG, "fixed PHY configuration\n"); + /* Disable auto-negotiation */ axgbe_an_disable(pdata); @@ -886,6 +927,9 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata) ret = axgbe_phy_config_fixed(pdata); if (ret || !pdata->kr_redrv) return ret; + PMD_DRV_LOG(DEBUG, "AN redriver support\n"); + } else { + PMD_DRV_LOG(DEBUG, "AN PHY configuration\n"); } /* Disable auto-negotiation interrupt */ @@ -959,8 +1003,10 @@ static void axgbe_check_link_timeout(struct axgbe_port *pdata) link_timeout = pdata->link_check + (AXGBE_LINK_TIMEOUT * 2 * rte_get_timer_hz()); ticks = rte_get_timer_cycles(); - if (time_after(ticks, link_timeout)) + if (time_after(ticks, link_timeout)) { + PMD_DRV_LOG(NOTICE, "AN link timeout\n"); axgbe_phy_config_aneg(pdata); + } } static enum axgbe_mode axgbe_phy_status_aneg(struct axgbe_port *pdata) @@ -1088,6 +1134,7 @@ static void axgbe_phy_status(struct axgbe_port *pdata) static void axgbe_phy_stop(struct axgbe_port *pdata) { + PMD_DRV_LOG(DEBUG, "stopping PHY\n"); if (!pdata->phy_started) return; /* Indicate the PHY is down */ @@ -1103,6 +1150,8 @@ static int axgbe_phy_start(struct axgbe_port *pdata) { int ret; + PMD_DRV_LOG(DEBUG, "starting PHY\n"); + ret = pdata->phy_if.phy_impl.start(pdata); if (ret) return ret; diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index a324a2bc9..02236ec19 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -790,6 +790,32 @@ static void axgbe_phy_sfp_reset(struct axgbe_phy_data *phy_data) phy_data->sfp_speed = AXGBE_SFP_SPEED_UNKNOWN; } +static const char *axgbe_base_as_string(enum axgbe_sfp_base sfp_base) +{ + switch (sfp_base) { + case AXGBE_SFP_BASE_1000_T: + return "1G_T"; + case AXGBE_SFP_BASE_1000_SX: + return "1G_SX"; + case AXGBE_SFP_BASE_1000_LX: + return "1G_LX"; + case AXGBE_SFP_BASE_1000_CX: + return "1G_CX"; + case AXGBE_SFP_BASE_10000_SR: + return "10G_SR"; + case AXGBE_SFP_BASE_10000_LR: + return "10G_LR"; + case AXGBE_SFP_BASE_10000_LRM: + return "10G_LRM"; + case AXGBE_SFP_BASE_10000_ER: + return "10G_ER"; + case AXGBE_SFP_BASE_10000_CR: + return "10G_CR"; + default: + return "Unknown"; + } +} + static void axgbe_phy_sfp_detect(struct axgbe_port *pdata) { struct axgbe_phy_data *phy_data = pdata->phy_data; @@ -820,6 +846,9 @@ static void axgbe_phy_sfp_detect(struct axgbe_port *pdata) axgbe_phy_sfp_parse_eeprom(pdata); axgbe_phy_sfp_external_phy(pdata); + PMD_DRV_LOG(DEBUG, "SFP Base: %s\n", + axgbe_base_as_string(phy_data->sfp_base)); + put: axgbe_phy_sfp_phy_settings(pdata); axgbe_phy_put_comm_ownership(pdata); @@ -1169,7 +1198,10 @@ static void axgbe_phy_set_redrv_mode(struct axgbe_port *pdata) static void axgbe_phy_start_ratechange(struct axgbe_port *pdata) { - if (!XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) + /* Log if a previous command did not complete */ + if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) + PMD_DRV_LOG(NOTICE, "firmware mailbox not ready for command\n"); + else return; } @@ -1185,6 +1217,7 @@ static void axgbe_phy_complete_ratechange(struct axgbe_port *pdata) rte_delay_us(1500); } + PMD_DRV_LOG(NOTICE, "firmware mailbox command did not complete\n"); } static void axgbe_phy_rrc(struct axgbe_port *pdata) @@ -1204,6 +1237,8 @@ static void axgbe_phy_rrc(struct axgbe_port *pdata) XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); axgbe_phy_complete_ratechange(pdata); + + PMD_DRV_LOG(DEBUG, "receiver reset complete\n"); } static void axgbe_phy_power_off(struct axgbe_port *pdata) @@ -1218,6 +1253,8 @@ static void axgbe_phy_power_off(struct axgbe_port *pdata) XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); axgbe_phy_complete_ratechange(pdata); phy_data->cur_mode = AXGBE_MODE_UNKNOWN; + + PMD_DRV_LOG(DEBUG, "phy powered off\n"); } static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) @@ -1249,6 +1286,8 @@ static void axgbe_phy_sfi_mode(struct axgbe_port *pdata) XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); axgbe_phy_complete_ratechange(pdata); phy_data->cur_mode = AXGBE_MODE_SFI; + + PMD_DRV_LOG(DEBUG, "10GbE SFI mode set\n"); } static void axgbe_phy_kr_mode(struct axgbe_port *pdata) @@ -1271,6 +1310,8 @@ static void axgbe_phy_kr_mode(struct axgbe_port *pdata) XP_IOWRITE_BITS(pdata, XP_DRIVER_INT_REQ, REQUEST, 1); axgbe_phy_complete_ratechange(pdata); phy_data->cur_mode = AXGBE_MODE_KR; + + PMD_DRV_LOG(DEBUG, "10GbE KR mode set\n"); } static void axgbe_phy_kx_2500_mode(struct axgbe_port *pdata)