Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751616AbbHTFFu (ORCPT ); Thu, 20 Aug 2015 01:05:50 -0400 Received: from mail-am1on0074.outbound.protection.outlook.com ([157.56.112.74]:31280 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751523AbbHTFFq (ORCPT ); Thu, 20 Aug 2015 01:05:46 -0400 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; synopsys.com; dkim=none (message not signed) header.d=none; From: Noam Camus To: , CC: , , , , Noam Camus Subject: [v2 1/5] NET: nps_enet: replace use of cause register Date: Thu, 20 Aug 2015 08:00:01 +0300 Message-ID: <1440046805-24459-2-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1440046805-24459-1-git-send-email-noamc@ezchip.com> References: <20150817.103607.1737876155019074073.davem@davemloft.net> <1440046805-24459-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-21758.005 X-TM-AS-Result: No--1.971500-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD035;1:EcRXtGzBorWZc12ot3zvZ5O5BPTah630GgHZz/T/z8VDj+BC7d7QC9LISj1lB+wvtzoXOcQBZJqKvpi+T6jSutInfzfiGd2iC5bMr4Jmo404Py+7tkzncXYepxTgUWbeRKguSl4sGJE3UGO8MNZoQnyA3vR4cc6SUfX+o/1UWYdXzZPbknoVPWDpYI/oGMBKOwjvyQFYWczqyE135PkZrvNex8eX66ssiMdiHn9EudPqVspCXqwUlP7qfNjvznb8qbGovFIUjGk57aRty0YmOAYl9CHmjpj0HeLNgUn8/zdxDD561ujPURP3BmqntDvhy9NL54vYxxKMwscrcnCh+ZIe8YSnxITLpSAthfCKdvrODikvfABCiAxA5SqIPsIY X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(2980300002)(339900001)(3050300001)(189002)(199003)(189998001)(105606002)(104016003)(50466002)(19580405001)(5001860100001)(106466001)(107886002)(46102003)(49486002)(229853001)(5001770100001)(36756003)(5001970100001)(6806004)(5003940100001)(4001540100001)(85426001)(64706001)(50986999)(33646002)(86362001)(77156002)(19580395003)(48376002)(5001830100001)(50226001)(92566002)(76176999)(77096005)(87936001)(47776003)(2950100001)(62966003)(5007970100001)(4001430100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR02MB180;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;2:V7ozvyf1lkXQb/SVDb34FC1AvrgZLu1+65iub0Ddb1Y5kGX75OgVEHwlvIAi1dH/l5X1AmT0WwFLcXOm/19/KyzHkjarE039Pp/fXAJWTBUAg5f56JiwDWvFen8tw0CWHjWrN0vRoIoBOUrYgfZCeOF/rWa5j/Bxbe6kExSqwwk=;3:1lV1K2CVJvVE5wbtF/wwWXEvf6rza9WCOH1+7tnHy/Wu+xT0bAc20XC3/tnim3zkP02wRANEkQGN/kQMazij9aHi4eOvGBaDBXM1kl43928/hJqom8D+jpylL1qinE2lKIDHuZ7b6zeJ6kdyTxho5a0/RMN7M1xosyWl8AXyTyb6/1SARg5eaUWEPkZlSUYdVRbNmMHU93XXyentqF86w4q98rWH7ND0bJIajjM/Pn0=;25:6H3+ECT92cG+BAKeAu8grJ1L1JPMZ9WDiqm8EBlhQv76zsvHZkGKez0YUnbScAmX++F696O0b/BV8AS2pvRx9285aSkOXNyWEc9DhfBzkcrGW82zFMn6uNQuTbCyBYVX9HPRzehsDyyndcDTYXlRH+aqg1KeaxO9dfm98tYEeqLAHN7igPlNqqGu7JkCs8quasyUAJRZxLcB8ZIqLCmnzUZTazh8BkY1Bv5XmGcNUBweNeixa6Tajzio+UJjHL0pRyy/ggk6Y7/NsOD6RjDLFw==;20:zgLJRRcXCMeGKwvO/62SNEAvGXLsF4H4Hve8QKzdNMGSBcuBuMANupUDfmv9GRqafRyh0y9l1U9AIjhc1e8+6ZA7xK45ipyJYW5S/qsyGKbXENoiIilhQjIKX8l6QSYTlEy88kPHnMT5ivHT17GmCvQTshLNlzeHs4gIqJDpOuY= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB180; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:AM3PR02MB180;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB180; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;4:Sv8/D4ePpYFi8xgnmOIATPSHaFXZfQWh49QiDtxOvfaS1ylsneGIheJi3t4O6CkX8CPGSSWLVVJydq78VKwrEbBYAq8jOcFXHEegUCrSoQ6W52RPzKLaOhBrPYuYU2QLPcswXTk7kJhk21LzuW1FUHA3aZAh5d4MU8yx2kNadanY1i62D9otNLL02c0qvtaKKG+ZCkjjGeTE7/W7HLN3nxC7Cwi3FsCgqgqV3LqmANewSRjWaHsC4lOEh04CyO1vC5syezDtP4apEIzREEPil7irw2Ztw+E4R3D/lq+PFs1EoTgRE9IX/HKWKv3WIWRu X-Forefront-PRVS: 0674DC6DD3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM3PR02MB180;23:f3oKjJytrxVikUkqDeK28HEofy6A3MMnE0Xx9gqQch?= =?us-ascii?Q?gsnA/HCt5M7MAu9gNAFdarEXfTRutz7XC9mFwglp4bJDl4zOOcL5tS+wj7BN?= =?us-ascii?Q?FCet8x08MXR5FTJKO5g2OvmTNicfiMNH/UxFKNy9SbS8pcvQZIt+s9k8ylyI?= =?us-ascii?Q?7ddlqln7XYUvNhLtUQW2mA5O43AKAmyXdHd2jqoNGPzrw8cFHdB5fT9MZacQ?= =?us-ascii?Q?Qa8gzDDRGySWZC7m36KB0njyMLsTHHZLe84hf4vInKXReka+i//36wJ3qSPY?= =?us-ascii?Q?BNC6kfG4XaGnrUYfSr639SoiJf7G2HzNLVxVH+u5DJxtlyegXcSPGONAuXxa?= =?us-ascii?Q?Sf0oX7aTjmz74sxJnPosq8oUyrsHf3Wh/lcqAshebtG8IR1r4MZFw0e8Jd/6?= =?us-ascii?Q?DR6vlVyxQERE0jZ4MTZj1h05ju+WOPV+fe6fpo/tYB7JAzMqCX7ZqtoCC2KW?= =?us-ascii?Q?xONs3PWN0HwuXGYwuhyzr+vgvb7W1vtDOE8isv2yNvcfPhoTq3NEJMcgMPVk?= =?us-ascii?Q?qiD3Pn8WtP7PR5WNdXW/8hPw/OVLjLxwuvjlP9GTA4bBtBlUmYIrExFKoHuO?= =?us-ascii?Q?qkDWGKjLKBBefzVRUq6hhHga2xba2ZDDCVo2Kl4VQTmoa412MGiEefWGnDKC?= =?us-ascii?Q?HnKwEqCjZ+eImvpKSuX4LQbRFCgUtWZiV+fJGOV6tFQRHS4eQ8e/IFCagK0P?= =?us-ascii?Q?WRZyu5Io9SKHkQO6b327YHUFY58z5lZaD5HtoHaP4CQvpGjrYLaXf7M2IJOM?= =?us-ascii?Q?uWjmfMcEC0uQ9B9v/uD9BeL9WetYv4WLE3zuvRLPQvx5ae2TXPlY9Jjwofi/?= =?us-ascii?Q?ujQxhFJCK/31gr9+hot5S7wPOr7phmX0xEcmOGBZ7IMzPU8GF/kwKg47EM3z?= =?us-ascii?Q?ye2ILH/Jzc7VnU0OTRo0M8J5FVFas0wdxkGsj+QFKUfdARjm4qeZQ2ySSMYJ?= =?us-ascii?Q?jCNRxbM3fo73tQ3Ck011z+0NpHjfRnm0x1XCIGq+6BmoXAktZDCuouS3cUqR?= =?us-ascii?Q?o+6A9UDa0urFWIK1emTdm8RaokOrmugt9tYPoANyrRcIDpE906gsA1oTxuwO?= =?us-ascii?Q?kcdmdBk/mN+qqir0HkfjWbkTEInHlp53Aix8HVpxFHdDi9Ldv+7Lh4XqOoN5?= =?us-ascii?Q?UQ3+yVwwMrYktwE5YnvAifBoSgcVqh6waLyyNFQLat2CYaA7wE1MtQE010aq?= =?us-ascii?Q?mJsZlIY+de56zfKr7bD8Rtlt+QqmP7ugi0CC440b7fYRi6+f9+TzlNwlP9cB?= =?us-ascii?Q?NipW8K1Z+/g7LzvUaPzffmzYOEX9/H3B7VWRBt?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB180;5:sOaHp0YK/Ur9BnOEiKm62QCR2Qmu66ZIPTfwZAjwFGNnOp5uoHH/H/G/4BTS8CZxPFX3xzsxwypFbtCJ4syu/jloZgJAmo0yUY1QclwuohPjxgeSbYZF861+6zVEu4Fqk+8Z29NRCIcA70THuNK0hA==;24:L7i5NbXv5UQ4QhQ6d6+bvQNgJN0wmXE2WxCNqTM5iB4jgqBfaoNZ0GevHm7LwCoWPT+QX9ooAJpw1w6cx4vufx76vHYkub8v9b2+UlJOfaA=;20:RmVd5rhN8aUXznJraun1Asqni/7iptLBE9Ax8LX73G2XeekBG2luADRCeURqWWt/BDAFwjkYGALn842ykaFUaw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2015 05:05:42.9255 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[212.179.42.66];Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR02MB180 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2748 Lines: 81 From: Noam Camus When interrupt is received we read directly from control register for RX/TX instead of reading cause register since this register fails to indicate TX done when TX interrupt is "edge mode". Signed-off-by: Noam Camus --- drivers/net/ethernet/ezchip/nps_enet.c | 9 +++++---- drivers/net/ethernet/ezchip/nps_enet.h | 20 -------------------- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/drivers/net/ethernet/ezchip/nps_enet.c b/drivers/net/ethernet/ezchip/nps_enet.c index 24a85b2..0e652b4 100644 --- a/drivers/net/ethernet/ezchip/nps_enet.c +++ b/drivers/net/ethernet/ezchip/nps_enet.c @@ -211,12 +211,13 @@ static irqreturn_t nps_enet_irq_handler(s32 irq, void *dev_instance) { struct net_device *ndev = dev_instance; struct nps_enet_priv *priv = netdev_priv(ndev); - struct nps_enet_buf_int_cause buf_int_cause; + struct nps_enet_rx_ctl rx_ctrl; + struct nps_enet_tx_ctl tx_ctrl; - buf_int_cause.value = - nps_enet_reg_get(priv, NPS_ENET_REG_BUF_INT_CAUSE); + rx_ctrl.value = nps_enet_reg_get(priv, NPS_ENET_REG_RX_CTL); + tx_ctrl.value = nps_enet_reg_get(priv, NPS_ENET_REG_TX_CTL); - if (buf_int_cause.tx_done || buf_int_cause.rx_rdy) + if ((!tx_ctrl.ct && priv->tx_packet_sent) || rx_ctrl.cr) if (likely(napi_schedule_prep(&priv->napi))) { nps_enet_reg_set(priv, NPS_ENET_REG_BUF_INT_ENABLE, 0); __napi_schedule(&priv->napi); diff --git a/drivers/net/ethernet/ezchip/nps_enet.h b/drivers/net/ethernet/ezchip/nps_enet.h index fc45c9d..6703674 100644 --- a/drivers/net/ethernet/ezchip/nps_enet.h +++ b/drivers/net/ethernet/ezchip/nps_enet.h @@ -36,7 +36,6 @@ #define NPS_ENET_REG_RX_CTL 0x810 #define NPS_ENET_REG_RX_BUF 0x818 #define NPS_ENET_REG_BUF_INT_ENABLE 0x8C0 -#define NPS_ENET_REG_BUF_INT_CAUSE 0x8C4 #define NPS_ENET_REG_GE_MAC_CFG_0 0x1000 #define NPS_ENET_REG_GE_MAC_CFG_1 0x1004 #define NPS_ENET_REG_GE_MAC_CFG_2 0x1008 @@ -108,25 +107,6 @@ struct nps_enet_buf_int_enable { }; }; -/* Interrupt cause for data buffer events register */ -struct nps_enet_buf_int_cause { - union { - /* tx_done: Interrupt in the case when current frame was - * read from TX buffer. - * rx_rdy: Interrupt in the case when new frame is ready - * in RX buffer. - */ - struct { - u32 - __reserved:30, - tx_done:1, - rx_rdy:1; - }; - - u32 value; - }; -}; - /* Gbps Eth MAC Configuration 0 register */ struct nps_enet_ge_mac_cfg_0 { union { -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/