From patchwork Sat Aug 12 01:29:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 800795 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="OKGRNeZ2"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xTknC6RJxz9t2Z for ; Sat, 12 Aug 2017 11:29:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752038AbdHLB33 (ORCPT ); Fri, 11 Aug 2017 21:29:29 -0400 Received: from mail-dm3nam03on0050.outbound.protection.outlook.com ([104.47.41.50]:11670 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751770AbdHLB30 (ORCPT ); Fri, 11 Aug 2017 21:29:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=EWIfQ41JwBXhBCuIUZUFVF7RYZzTAoLh6n99TsRmiUY=; b=OKGRNeZ2nqbZN0f1u6jmEqw0RjsMJGhw+79a31u5jz452wtwoVxUULTvx+nq2CDHZSKtgingornQWNNQHD6c1IhSYA8dsr05S5PihHadZHQmyU87Br3pdmUqLvuu7L6x8Tz4S97wyHRaxdyhpzL4xUT7QofbdNSRJsF447y6yn0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; Received: from localhost (50.233.148.156) by MWHPR07MB3183.namprd07.prod.outlook.com (10.172.96.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Sat, 12 Aug 2017 01:29:23 +0000 Date: Fri, 11 Aug 2017 18:29:18 -0700 From: Felix Manlunas To: davem@davemloft.net Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com, derek.chickles@cavium.com, satananda.burla@cavium.com, intiyaz.basha@cavium.com Subject: [PATCH net-next 6/8] liquidio: moved liquidio_napi_poll to lio_core.c Message-ID: <20170812012918.GA2588@felix-thinkpad.cavium.com> References: <20170812012818.GA2505@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20170812012818.GA2505@felix-thinkpad.cavium.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: MWHPR08CA0011.namprd08.prod.outlook.com (10.174.103.152) To MWHPR07MB3183.namprd07.prod.outlook.com (10.172.96.141) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9a58935b-fb29-4b6a-e4c8-08d4e1219033 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR07MB3183; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3183; 3:luRX/MC5pIY7GxJtuOLRbk0m8ILQcrqz59WkEejsWmlJzQmALmaeksrWdJubt60cGmynBoIlGthLa3T6iYgGCBpOzpw8OxAj+KInnnsrVooj4zoTjR0Qqv+xSxI1EimufnFpmAmbpAQbbvnDhonkekI/4WlngepMgBcOxrmhhi2F/g3BXup1dBAlGxRNqjYAU8dV2iSs185upd6el54D8PxiLvUW8I7sH8LWIeVny1CExNQzqyYPzirhKeeBuhxL; 25:jwyVgB3MognJMsJA41wcSuiJLfhEWMn15/FhdBqFb4zoZpFfJrMjRDpYXYK8KvAdmRFom2BEaHGEnYj7refTL5EchATL0v1rd1uIvwNRjCAMt3oeQ5PB6jeDjrsZNMkHa1o9uv7QPTqTSKA9fRIsPldKW7sQWKZSkXpGloSRVPikc22/KHl1bTltYAGoju4dPwvC4lsjmDOeKdoOBkB5aFhM7tQNLPqadsbiyuzna9rhof+H5kNhzziSjC6OBaEU+Q+3RlBnzPA2qx7fetmhi5JIjc2ICkMJzNNNcxwl5g+lGN8IcKbF9QgZkY2eSkZh5/UC6BUnRZDjMBlfhUNSbQ==; 31:b/S+CrCaRCPkRwvNr6XP1XxUGOqS/vG6I5tomwITbkrBS9eBOT2skCHqIC5xg/SXTlkmEwWsLbMxxKBXiRv0dsOhfUFl0F2qazRZuXYWGYYkOToIVar9YiJF4wJ6SUB5EfV96WQNTfioJgvCgE1nr+m9SBHTzhKOeu41ZOjaY+5CpbejrbyIeTDUXZHufQCK7GYCL3+zTIQrWCI+8P4belIXb5UHPT9xc9OPODaNUNc= X-MS-TrafficTypeDiagnostic: MWHPR07MB3183: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3183; 20:xtCkAlft5YiPrPetp7/HxrS2EEn8oZzPXsk8X6KZcuPF/zFuXH2ruit5coM5HrjvelYp0GybhXblPx58kkGnQl5DSJzw+BhZOcbs/q70MWhqhWlslTU371Afo4T5Um2uCReOtSp1EYuLHQmSxUg0+G+ld2LNN0anH50uGuxe0UWrIGr3u8DhGwAbB0psOeHAW9nuWGN8qiAhHWQD0VL1+JkmYAKDU1OrBrZlsJWCQzLPdmf/glDQDb9HPZfNthTXRhXEUsYrZHJomF6N8/UpdsSTZh4diNja9gb8MZ2pSPLDHzXuri32IY6gHhdcqu1/JpD6ois/0vRhXEfQD0B/P2Zhyqdr5VGxDO+IZOQaXVhHjjpgEJEERedvQLLjw1/d6IVRyJp8QQuD6zYhrRDzcDpwSzvIO8ebEfZQsHcrZgjG4fJN81l9LhwBCC0CuMp3keYl40NQvzaNIEMoxJkIfKXZVAoIpW0Ud6TvYZnFa2gdNPXraHIQpLhlmY0ftzLK; 4:HdjpZG6DX17Em2iZy6995xWikmzYM5K6cTGYU9ocpYZFoB/l7wtR+4u+eKcMxjMotk3iwvw+3uUTMCUhA3yk3AHIk/GW9yQaAhNs8nVwIvYUhf2jqVYp+moJMofKQVn0ZAazdOylG+tXPekWQeSJTmh+QpLcyCqPrcT8Cnt+iRMV9q0kwfMlSZ4c2rL0lk85bOIofEqr339YMvSodH5bING8KOorPkgAURc2gOxKA9U6PIruTFwLGs8eyFAZ/ANr/9fK7ZTO9AIiBz3kCrpPBO4Ox9C7ZkEtgTiMkkf0T3U= X-Exchange-Antispam-Report-Test: UriScan:(17755550239193); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3183; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3183; X-Forefront-PRVS: 039735BC4E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(6069001)(189002)(199003)(6496005)(6116002)(107886003)(3846002)(110136004)(1076002)(575784001)(7350300001)(53936002)(101416001)(76176999)(23726003)(81156014)(25786009)(81166006)(4326008)(478600001)(83506001)(5660300001)(42186005)(86362001)(2950100002)(2361001)(6486002)(76506005)(47776003)(72206003)(8676002)(189998001)(33656002)(7736002)(2351001)(106356001)(4001350100001)(50466002)(97736004)(105586002)(2906002)(66066001)(54356999)(6666003)(68736007)(305945005)(6916009)(50986999)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3183; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR07MB3183; 23:4jt+ZlT+lVL9nMqXrtdQ/9DlNeuMirOxaHfVCLTlS?= =?us-ascii?Q?ed7qjje0EdTzPrptgjhe/BI/YcrZI5jayDimOrYrpxJIgQZde/FssvV99WQe?= =?us-ascii?Q?0sEeUbUwNO520T29sPLt/c7OlMBkXd2ucBH+g9UTz1VO89Pa27LFVEvsDoA7?= =?us-ascii?Q?XajE3WzuRJNFSpBgcltl8IuNtGEdwk8Z5TNWKymXt3KgScRNrZfAoVWjG0E0?= =?us-ascii?Q?4WccJYVyDq/SF70y5bu//HyLB3aQ5fZf9C+Ynj+p6H/KGTH6sA+2bgP4xNPI?= =?us-ascii?Q?WJeYlEx7mBUJ3wQeqoXPacJsL6iCiZI/uPf3KSH6xRSklB9yDlAW9mlKm6pD?= =?us-ascii?Q?euc7veLoTd8POtEkOImub016SZBYQ6UxYJYxbODjxI+UrDmM9INNSCmqleTq?= =?us-ascii?Q?W3o+oNuZRgj6FAJ/y5WU3VQ2KP6sOsEtpV8G9UmO0tPm1/AFUp1FajGHXbha?= =?us-ascii?Q?J+CM5r9xHpp2yw9NKYbuaa57w8DIQPaNC8gwuCAYs6ICMch2k0YZhmbvT4W0?= =?us-ascii?Q?45QWM+CiisUxdILO23ErKlispEgPrnaP5rUe6KH3wE1TM5Wi5172AFgDsuVo?= =?us-ascii?Q?KYj0uOTUC3Nfp5JIqAUW+RcyJZSpxQVfqB0zq0C1KdwBItm2SMSFTKCiAEJH?= =?us-ascii?Q?dvTV/n60UtkIvd1p1zlo8ZmwENwk7iGugCdmgx1g4LNDIoNyFja1NhF8HtQK?= =?us-ascii?Q?xSjTAPwCZ4d0PNigvzomF6Jo/x40a0o54NTvjkFP4I9bpx9AJKB2O2qXqbPf?= =?us-ascii?Q?T0IdU3Z1GxvipffKRyNPKOJRZRxJRWHOwyulfaHZ4taS3oOhr6MUgLU8cQGB?= =?us-ascii?Q?4nAYeDUAqCpV/8g8DzPorY8rTCNbudYIBEVVY+zzCJNjbd5GrD2S3Rb7FqwJ?= =?us-ascii?Q?yEgeTvLd6HOYFaLAw7HBiSbuGCKS/8Hu441nYdCuGORmWjj7Uoqjw0mu9Jo/?= =?us-ascii?Q?gISV0MkvVTmy8OWqDjVywzjndFhCE/2ZndVrBw8EDuGCit3VuzMLfbxBGMvd?= =?us-ascii?Q?FrRnLAkKwP6evLUiYDp5OBG+Prp7jpEiaqoZbgb/FbLDXpMU6mf139S4xFZ+?= =?us-ascii?Q?7is+7Cxb+RdR7Y+cFO6Qw3Vr85BzlyJxr72IMGf967cYNEH8wq6YxVadqKpZ?= =?us-ascii?Q?juE7UbvRC+exPy/b3g5wUkyilB10OGBYZOw587q286z6PffhuIg2uxuxuI7W?= =?us-ascii?Q?Oo2wMK6Af6Hs996Hq4614T2jCR7cUfpmDRndIzCzq9UQV3YUFWCe1vWLMgou?= =?us-ascii?Q?YvYe02eI+4nAItmcTU=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3183; 6:5GzsQVGIKaU09lGgA59aGBhHyZ0GDges0Fjdm8px+sXF7bmBzVMVDqTHth1IUxqSmXk2hkOvvv0iJ/1KqEFDLGGm5kPMHkl27DamhcBKLygXPdWZoc8hd+OX29nCBQp0ARvhva3I48ec9OGHgmcJNzv5MpXEX8ixqCAk5HZIwsSJ4YHbxj8ddaHhcfZkRwhaeWDpQObXHdA8f/ZSudtxE/Ra550osaVXcQ78LwoR7arznQAbF2zA+KKJ3+19g/ltg9vXs2X1DebCsVvUPDC6blojStUEopViXzg7XZsztrlQokTBoIKferOkTyCn8HKfz0Cq/D/aef5segKA46UwJw==; 5:DAfIT1JQ9iQrat4lMyBGbrHAnamcXrv07ikfTmNKjBveL/ZmSkAhIsT9mCsRiyQGle6fO1egsKHbJv/adDQgP0q5WpaknhfJr3TLs0Wc83yOsKI88f+a1G9DlsfXLMJI3RexQpm0aqK8JITVrgcpxQ==; 24:KLJTS33EtmIQuQebW1AMVMCsyhK2gs5YIiwlNE2oUj1ZtnOa1bHhkkgqCD47gOiY94pHbJSw+yt4Y9Xce2gC4gkWsqPZ59Cl82KNJMicY9s=; 7:/JHpwNy7RU+tOnhyIJ3SIq+ouG8k5OLABsTuEc7cBCvCH6hQngRx3fezXgadgeHmeYGylhhh3SXrO+zGTy1YQdZyvrNVYmprqqOv7DHy8eaVi5KS5JKKcDnkvlSNTMafYZ09NixEpWrGa9AC/YrTtQgN5j+Ma28Rzt/11/WoOrb89RzXF3WwmVWtGhtVy1IaG/dze8rMTVCHJXt/EsXki/fQ4ewZaZAZMao3pLWZqbc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2017 01:29:23.4322 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3183 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Intiyaz Basha Moving common liquidio_napi_poll to lio_core.c Signed-off-by: Intiyaz Basha Signed-off-by: Felix Manlunas --- drivers/net/ethernet/cavium/liquidio/lio_core.c | 61 +++++++++++++++++++++- drivers/net/ethernet/cavium/liquidio/lio_main.c | 52 ------------------ drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 54 ------------------- .../net/ethernet/cavium/liquidio/octeon_network.h | 2 +- 4 files changed, 61 insertions(+), 108 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_core.c b/drivers/net/ethernet/cavium/liquidio/lio_core.c index 8cba927..2030c25 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_core.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_core.c @@ -366,7 +366,7 @@ void cleanup_rx_oom_poll_fn(struct net_device *netdev) } /* Runs in interrupt context. */ -void lio_update_txq_status(struct octeon_device *oct, int iq_num) +static void lio_update_txq_status(struct octeon_device *oct, int iq_num) { struct octeon_instr_queue *iq = oct->instr_queue[iq_num]; struct net_device *netdev; @@ -620,3 +620,62 @@ void liquidio_napi_drv_callback(void *arg) smp_call_function_single_async(droq->cpu_id, csd); } } + +/** + * \brief Entry point for NAPI polling + * @param napi NAPI structure + * @param budget maximum number of items to process + */ +int liquidio_napi_poll(struct napi_struct *napi, int budget) +{ + struct octeon_instr_queue *iq; + struct octeon_device *oct; + struct octeon_droq *droq; + int tx_done = 0, iq_no; + int work_done; + + droq = container_of(napi, struct octeon_droq, napi); + oct = droq->oct_dev; + iq_no = droq->q_no; + + /* Handle Droq descriptors */ + work_done = octeon_process_droq_poll_cmd(oct, droq->q_no, + POLL_EVENT_PROCESS_PKTS, + budget); + + /* Flush the instruction queue */ + iq = oct->instr_queue[iq_no]; + if (iq) { + /* TODO: move this check to inside octeon_flush_iq, + * once check_db_timeout is removed + */ + if (atomic_read(&iq->instr_pending)) + /* Process iq buffers with in the budget limits */ + tx_done = octeon_flush_iq(oct, iq, budget); + else + tx_done = 1; + /* Update iq read-index rather than waiting for next interrupt. + * Return back if tx_done is false. + */ + /* sub-queue status update */ + lio_update_txq_status(oct, iq_no); + } else { + dev_err(&oct->pci_dev->dev, "%s: iq (%d) num invalid\n", + __func__, iq_no); + } + +#define MAX_REG_CNT 2000000U + /* force enable interrupt if reg cnts are high to avoid wraparound */ + if (((work_done < budget) && (tx_done)) || + (iq->pkt_in_done >= MAX_REG_CNT) || + (droq->pkt_count >= MAX_REG_CNT)) { + tx_done = 1; + napi_complete_done(napi, work_done); + + octeon_process_droq_poll_cmd(droq->oct_dev, droq->q_no, + POLL_EVENT_ENABLE_INTR, 0); + return 0; + } + + return (!tx_done) ? (budget) : (work_done); +} diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index 4241949..b00d199 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -2229,58 +2229,6 @@ static void if_cfg_callback(struct octeon_device *oct, } /** - * \brief Entry point for NAPI polling - * @param napi NAPI structure - * @param budget maximum number of items to process - */ -static int liquidio_napi_poll(struct napi_struct *napi, int budget) -{ - struct octeon_droq *droq; - int work_done; - int tx_done = 0, iq_no; - struct octeon_instr_queue *iq; - struct octeon_device *oct; - - droq = container_of(napi, struct octeon_droq, napi); - oct = droq->oct_dev; - iq_no = droq->q_no; - /* Handle Droq descriptors */ - work_done = octeon_process_droq_poll_cmd(oct, droq->q_no, - POLL_EVENT_PROCESS_PKTS, - budget); - - /* Flush the instruction queue */ - iq = oct->instr_queue[iq_no]; - if (iq) { - if (atomic_read(&iq->instr_pending)) - /* Process iq buffers with in the budget limits */ - tx_done = octeon_flush_iq(oct, iq, budget); - else - tx_done = 1; - /* Update iq read-index rather than waiting for next interrupt. - * Return back if tx_done is false. - */ - lio_update_txq_status(oct, iq_no); - } else { - dev_err(&oct->pci_dev->dev, "%s: iq (%d) num invalid\n", - __func__, iq_no); - } - - /* force enable interrupt if reg cnts are high to avoid wraparound */ - if ((work_done < budget && tx_done) || - (iq && iq->pkt_in_done >= MAX_REG_CNT) || - (droq->pkt_count >= MAX_REG_CNT)) { - tx_done = 1; - napi_complete_done(napi, work_done); - octeon_process_droq_poll_cmd(droq->oct_dev, droq->q_no, - POLL_EVENT_ENABLE_INTR, 0); - return 0; - } - - return (!tx_done) ? (budget) : (work_done); -} - -/** * \brief Setup input and output queues * @param octeon_dev octeon device * @param ifidx Interface Index diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c index 2663bd6..0bd0c30 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c @@ -1377,60 +1377,6 @@ static void if_cfg_callback(struct octeon_device *oct, } /** - * \brief Entry point for NAPI polling - * @param napi NAPI structure - * @param budget maximum number of items to process - */ -static int liquidio_napi_poll(struct napi_struct *napi, int budget) -{ - struct octeon_instr_queue *iq; - struct octeon_device *oct; - struct octeon_droq *droq; - int tx_done = 0, iq_no; - int work_done; - - droq = container_of(napi, struct octeon_droq, napi); - oct = droq->oct_dev; - iq_no = droq->q_no; - - /* Handle Droq descriptors */ - work_done = octeon_process_droq_poll_cmd(oct, droq->q_no, - POLL_EVENT_PROCESS_PKTS, - budget); - - /* Flush the instruction queue */ - iq = oct->instr_queue[iq_no]; - if (iq) { - if (atomic_read(&iq->instr_pending)) - /* Process iq buffers with in the budget limits */ - tx_done = octeon_flush_iq(oct, iq, budget); - else - tx_done = 1; - - /* Update iq read-index rather than waiting for next interrupt. - * Return back if tx_done is false. - */ - lio_update_txq_status(oct, iq_no); - } else { - dev_err(&oct->pci_dev->dev, "%s: iq (%d) num invalid\n", - __func__, iq_no); - } - - /* force enable interrupt if reg cnts are high to avoid wraparound */ - if ((work_done < budget && tx_done) || - (iq && iq->pkt_in_done >= MAX_REG_CNT) || - (droq->pkt_count >= MAX_REG_CNT)) { - tx_done = 1; - napi_complete_done(napi, work_done); - octeon_process_droq_poll_cmd(droq->oct_dev, droq->q_no, - POLL_EVENT_ENABLE_INTR, 0); - return 0; - } - - return (!tx_done) ? (budget) : (work_done); -} - -/** * \brief Setup input and output queues * @param octeon_dev octeon device * @param ifidx Interface index diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_network.h b/drivers/net/ethernet/cavium/liquidio/octeon_network.h index 076fdfc..b6597ef 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_network.h +++ b/drivers/net/ethernet/cavium/liquidio/octeon_network.h @@ -474,7 +474,6 @@ static inline int wait_for_pending_requests(struct octeon_device *oct) return 0; } -void lio_update_txq_status(struct octeon_device *oct, int iq_num); int octeon_setup_droq(struct octeon_device *oct, int q_no, int num_descs, int desc_size, void *app_ctx); void @@ -485,4 +484,5 @@ liquidio_push_packet(u32 octeon_id __attribute__((unused)), void *param, void *arg); void liquidio_napi_drv_callback(void *arg); +int liquidio_napi_poll(struct napi_struct *napi, int budget); #endif