From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ariel Elior Subject: [PATCH net-next v2 6/6] qede: Register l2 queues with doorbell overflow recovery mechanism Date: Mon, 22 Oct 2018 19:40:45 +0300 Message-ID: <20181022164045.25393-7-Ariel.Elior@cavium.com> References: <20181022164045.25393-1-Ariel.Elior@cavium.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , Ariel Elior , "Michal Kalderon" , Tomer Tayar To: Return-path: Received: from mail-by2nam01on0076.outbound.protection.outlook.com ([104.47.34.76]:16755 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728489AbeJWBCA (ORCPT ); Mon, 22 Oct 2018 21:02:00 -0400 In-Reply-To: <20181022164045.25393-1-Ariel.Elior@cavium.com> Sender: netdev-owner@vger.kernel.org List-ID: All L2 queues funnel through this flow, so this would cover the regular RSS queues, as well queues created for VFs, mqos queues, xdp queues, etc. Signed-off-by: Ariel Elior Signed-off-by: Michal Kalderon Signed-off-by: Tomer Tayar --- drivers/net/ethernet/qlogic/qede/qede_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 46d0f2e..1c4cea8 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -1774,6 +1774,10 @@ static int qede_drain_txq(struct qede_dev *edev, static int qede_stop_txq(struct qede_dev *edev, struct qede_tx_queue *txq, int rss_id) { + /* delete doorbell from doorbell recovery mechanism */ + edev->ops->common->db_recovery_del(edev->cdev, txq->doorbell_addr, + &txq->tx_db); + return edev->ops->q_tx_stop(edev->cdev, rss_id, txq->handle); } @@ -1910,6 +1914,11 @@ static int qede_start_txq(struct qede_dev *edev, DQ_XCM_ETH_TX_BD_PROD_CMD); txq->tx_db.data.agg_flags = DQ_XCM_ETH_DQ_CF_CMD; + /* register doorbell with doorbell recovery mechanism */ + rc = edev->ops->common->db_recovery_add(edev->cdev, txq->doorbell_addr, + &txq->tx_db, DB_REC_WIDTH_32B, + DB_REC_KERNEL); + return rc; } -- 1.8.3.1