Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752617AbbHQGAU (ORCPT ); Mon, 17 Aug 2015 02:00:20 -0400 Received: from mail-db3on0085.outbound.protection.outlook.com ([157.55.234.85]:45440 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752385AbbHQGAR (ORCPT ); Mon, 17 Aug 2015 02:00:17 -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: [v1 1/6] NET: nps_enet: replace use of cause register Date: Mon, 17 Aug 2015 08:58:34 +0300 Message-ID: <1439791119-26892-2-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1439791119-26892-1-git-send-email-noamc@ezchip.com> References: <1439791119-26892-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-21750.005 X-TM-AS-Result: No--1.823100-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;AM1FFO11FD051;1:ecGOnEu0C/rX5ExTYaPdRmTVD+ygR3WNCSPJaRNERYgNcNrFGNDPY9kctutzFvrm50nSqtGd9crSvUgemo6YJQ4Riegcuw5K305CmzkxuZ4SMqTQ71h4HoKItiHigta/v6CpqLCwQqnpFRFgkwb606QUpKVSeAhvGfSpa5izsFrfGs21t1IvYYexY8hAICAjFCh2ymc9zCyxckMCKx8lDh9ZAPl7mpj3K0dDJc+ZHrNzipJ+v8vaxbUoXpPYbPTFbxkWaGObH3OFmjasQApKQDwiiJe3JZIo5SNFNK2nZlIow8RPeyEVi0ftCIPG2GzSuURxqF/yzQq3ggaUvpZLuq2+ae0i67Mosid+6h9zUxhLnfZg6GF0ECqwvzq4GpNv X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(339900001)(3050300001)(199003)(189002)(189998001)(49486002)(85426001)(62966003)(36756003)(104016003)(229853001)(33646002)(77156002)(92566002)(64706001)(2950100001)(77096005)(47776003)(50466002)(50226001)(19580395003)(48376002)(50986999)(86362001)(76176999)(6806004)(87936001)(19580405001)(5001770100001)(4001540100001)(5003940100001)(5001860100001)(5001830100001)(5001970100001)(106466001)(105606002)(107886002)(46102003)(4001430100001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR02MB189;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;2:+yGcobuc5cEiGEdxLRc6OTatxJ+Z+zJjhTEqBMHEQ5+X+XvRhNjaJlKHZq7+ROw7nwUSpbg/AiEzSALjfhwrFJsnSM4nUYgD5Dw3+hNfiTI0fVZZC/gXDP/XC4s5yHdeqHrTaH/wYF5XsPfYnPSLCpXFoWv7lryDtdOGnbVRFrI=;3:QoQyyKUbB1pDspA+gv5eSYEdwqoioACIG2GsoORFUMIvigLxREjGhfoRffF1ydTz0DZce94DqxKune1sSif2pUAfwVn6W0beLQRqQMyKqQKtOb2vsQQcG9854Y7nZdWIzkprtkQRjb3cu2fCVuRlp9GUQgq7uCbl7IcKu8GYTxsADfndiDOhEd2ZzkuDanWFkTsqAKco2+RSZ5pFytZ0Nw/1VVL2m8nS4+DDbeioVBk=;25:HdzcYTekVlA8ScYP6iSHTuYSFuR0v+xFy6hY+KM3FJb3z+GYtdCXb1304flQrtuJHSXuyvf+QfXWKY3BmJWTtkJ3zJ6nOn/psdA7lqqdvviQ0EFe1RBe4QIGGT18lFHGmjqBlULyAr9wVLp/pDmRswNmIBdZ6kXlonO80DsWI+0Xy0xiOcvqDGPx9NIV4uUqVzXGVKCjYoUb9NsjN4vq3pWt6UhZRclsdjqpo0UhrA4i3Ww5NeLM4AySdo9Zo30gj93eWGiPe/Y8/A7EuaDd1A==;20:hAw1p9B0qucmkTEf88uCXzrArkxCJLihIm8OUskFiCXWkgjofuHO+oj9laggLeR8D1p4q7r7qpTmqNoBQBliafuBnR+JVX5lAdYPM0ngB/Wtxm5R68RC2LLKHIy/MsvhZZ6nKjyNfXZR+sLES1hFShLKcHxfLUGtER+2AMCfNqU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB189; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:DB4PR02MB189;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB189; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;4:TVS/umqOLeoypgFDsmvWsFksVqwA/KuNyD898DPsUFuTv/Tk4DTVdqsQgo4ygKq83z+GcSBoQl/bFstvuw2UDtTic7xTo0xvNzuj/VdJLsUBEx6AOaXAGPc8X3MiM7okpaUHNWo6hqYxR3XrbQEND/H+K80UMnMu0K5haTzRdLsk9WeEijYS1EyzZziyPiuHv1RhLbfSwVsPIbw72fZa8Lnqrf8tHeegMogY7/e12wgiyL7gmtxGw5b0ROIxlnb+jMpgZQjldRgg4Py4PN8djZ9iWxX053hk3WRzH/WImliYsRfbKBG9QHYLWZD+srpE X-Forefront-PRVS: 0671F32598 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB4PR02MB189;23:dLE+raXAVNgcSFZV3yjvSnBiNYu70cHlrPuiZn5cDK?= =?us-ascii?Q?XtpN9+FniHiaURz+yxUdP7VdjCWXAcf/QT44Z8qHmOJEp9Jbe2C4c+FeAQ4O?= =?us-ascii?Q?J5SBOUdViInpuSDEH4kvOpGtjg3peIzySlqiT1D9fNORta2cDsyjVDKfmylx?= =?us-ascii?Q?32brrRzFyZrjW81fNZbUR2Soy8Pkz5psNC5c6bAaI+kQH7zzKOYmMarESJoP?= =?us-ascii?Q?bFolAlbseNDETSDOp/clu7YgA8OzC/o6eiw7Ncucel4N7piTBgcMawCHVzwF?= =?us-ascii?Q?zQVIVcVPhDolHBDfM+p1b6pN8jvkDR8L4O/YF/4Xt3I6H3cpGiT6wG0GqwfT?= =?us-ascii?Q?TXYc0tf1eyoJyYjRqZr0Pngu/Wk0nR3NAkT6zS1/jmSk7YBQJYdgRYykXAVE?= =?us-ascii?Q?51ajWgAh0Cv/TT38VuHoC4GxFwz5G6nTx0OMkh+qHFeazqtr1D6FzGIq56aq?= =?us-ascii?Q?Yp9fuUSqHMGsnEqN1pwPNCPiR3lb8BMjOBZKuem+FhnGbpJ+TNpt4nnQ+WD1?= =?us-ascii?Q?oLlxmPbiFOSMM9LOddo5VxB4cAUFa9vOhXGpQw2sIhAROvEa/IZbBexPcHim?= =?us-ascii?Q?2tQL22AL10J2ASgZbamA8Ke7uxJmCRyTwy9bN22LxQ++/kdVgFuxhE+7gbRB?= =?us-ascii?Q?JrXc0f6kPHIyAtUcH0F9pj/Vpl+dEZMGtSfVoxRSUrKIziZoEFEUJe+FVMev?= =?us-ascii?Q?kkC5VuERuLgIoezKI2O9DVRPj0XKXDG98YF1mvGIUrjelT0aVpJZbQPOxAmJ?= =?us-ascii?Q?POj53cVab+WhFV4oK5Beibp2/Avhry0aWlHgUQK48cE97MK6DJ/f0R2O5HdN?= =?us-ascii?Q?Z2j8Y0YCOaa6gmqCINN9fdrePK7vSK7GU0RnvjNOqElDh9kC0bV75f8iidvV?= =?us-ascii?Q?zvT489SDzBRPuoZJc/nIOfN3RRO5rrsSz0r18Wz9UnhglUO5vnWKqOL/zDSR?= =?us-ascii?Q?b2LyitlVKErAfDcOJcCrgK8E5NADiJmDoM62fGAu8pqNXM5Of3p18X1/aqlm?= =?us-ascii?Q?cRpHXvlgKlqzApCx/lF5Bsj2we/IBYxWw013Zu9pb7U16iZOpRJLTZwIkDmL?= =?us-ascii?Q?CPFduL9EuHAtPkuhgc4bRL8arNMCjm1RnO6tOOl1oda5XA820eJaR1rCakg7?= =?us-ascii?Q?UvHFctIhI0AJn/no2rJANryN2/kfp1?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;5:ANqlSPNMwfPX+hkqInXKT1Lr3U+gydaMo5hPoyYuvA1nngKX0k7glfR7xmPmsPl8Cb2o9T+htzWPrZ987oddn+j+6H9b4eXP9RDhUSmAiI72RNemudPMQzzXpn2/wl9f5Ms08eTF5BRfvXvJAbXEVQ==;24:51AjqVDvSuTnya1Z49ckzz4y+093AumoIQRcoAKBas42SqYgw8X2KnFHJa2c2NzN8M8pVjlZOir38lSzvBX9q4RBFBBnmSA8VLvswVLqYiI=;20:kiyhOMVxttMm9XaFVaVNIF6gtVPyVjv6/2Xss/KOhm3la2fK6pZmpJb2g5T8t9zLLqc2lxl7SbAXu6zu/Wcazg== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2015 06:00:13.5949 (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: DB4PR02MB189 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/