Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808609/?format=api
{ "id": 808609, "url": "http://patchwork.ozlabs.org/api/patches/808609/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1504258863-2058-4-git-send-email-claudiu.manoil@nxp.com/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1504258863-2058-4-git-send-email-claudiu.manoil@nxp.com>", "list_archive_url": null, "date": "2017-09-01T09:41:03", "name": "[net,3/3] gianfar: Refactor link flow control update (adjust_link)", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": true, "hash": "9e46cba3d696d54dc487d1bb747d0da4eae6eab1", "submitter": { "id": 68115, "url": "http://patchwork.ozlabs.org/api/people/68115/?format=api", "name": "Claudiu Manoil", "email": "claudiu.manoil@nxp.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1504258863-2058-4-git-send-email-claudiu.manoil@nxp.com/mbox/", "series": [ { "id": 987, "url": "http://patchwork.ozlabs.org/api/series/987/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=987", "date": "2017-09-01T09:41:00", "name": "gianfar: Tx flow control fix (adjust_link)", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/987/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808609/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808609/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)", "spf=fail (sender IP is 192.88.158.2)\n\tsmtp.mailfrom=nxp.com; davemloft.net; dkim=none (message not signed)\n\theader.d=none; davemloft.net;\n\tdmarc=fail action=none header.from=nxp.com; " ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xkDlQ46p6z9sPk\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 1 Sep 2017 19:41:22 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751868AbdIAJlU (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 1 Sep 2017 05:41:20 -0400", "from mail-sn1nam01on0079.outbound.protection.outlook.com\n\t([104.47.32.79]:53471\n\t\"EHLO NAM01-SN1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1751705AbdIAJlM (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tFri, 1 Sep 2017 05:41:12 -0400", "from BN6PR03CA0063.namprd03.prod.outlook.com (2603:10b6:404:4c::25)\n\tby SN2PR03MB2271.namprd03.prod.outlook.com (2603:10b6:804:d::16) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tFri, 1 Sep 2017 09:41:11 +0000", "from BY2FFO11FD046.protection.gbl (2a01:111:f400:7c0c::173) by\n\tBN6PR03CA0063.outlook.office365.com (2603:10b6:404:4c::25) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via\n\tFrontend Transport; Fri, 1 Sep 2017 09:41:10 +0000", "from az84smr01.freescale.net (192.88.158.2) by\n\tBY2FFO11FD046.mail.protection.outlook.com (10.1.15.170) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11\n\tvia Frontend Transport; Fri, 1 Sep 2017 09:41:10 +0000", "from fsr-ub1664-016.ea.freescale.net\n\t(fsr-ub1664-016.ea.freescale.net [10.171.71.216])\n\tby az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv819f4K1024510; Fri, 1 Sep 2017 02:41:09 -0700" ], "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.158.2 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.158.2; helo=az84smr01.freescale.net;", "From": "Claudiu Manoil <claudiu.manoil@nxp.com>", "To": "<netdev@vger.kernel.org>", "CC": "\"David S . Miller\" <davem@davemloft.net>", "Subject": "[net 3/3] gianfar: Refactor link flow control update (adjust_link)", "Date": "Fri, 1 Sep 2017 12:41:03 +0300", "Message-ID": "<1504258863-2058-4-git-send-email-claudiu.manoil@nxp.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1504258863-2058-1-git-send-email-claudiu.manoil@nxp.com>", "References": "<1504258863-2058-1-git-send-email-claudiu.manoil@nxp.com>", "X-EOPAttributedMessage": "0", "X-Matching-Connectors": "131487324705332246;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()", "X-Forefront-Antispam-Report": "CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(50466002)(8936002)(33646002)(86362001)(2351001)(4326008)(305945005)(68736007)(498600001)(106466001)(105606002)(2906002)(48376002)(5660300001)(110136004)(36756003)(53936002)(69596002)(104016004)(85426001)(6666003)(77096006)(2950100002)(356003)(5003940100001)(6916009)(50226002)(50986999)(76176999)(8676002)(81156014)(97736004)(626005)(47776003)(81166006)(189998001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2271;\n\tH:az84smr01.freescale.net; FPR:; SPF:Fail;\n\tPTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ", "X-Microsoft-Exchange-Diagnostics": [ "1; BY2FFO11FD046;\n\t1:izdGu5xpwePSL2OaBk/twBbWJ03JLMf65GtpJwyWm3aurNDXvgIUb5rcFmRief+m/2Rbbpa/hgia+JzSi1G88ujJ1USdELhD0GZIp+7NyzmVcJqcflagIZXwQZCv6E9g", "1; SN2PR03MB2271;\n\t3:7Fl3EQJpDF4BqcRXgoKVeEZVAVfu+q6B053qn91XycvaNjbSC0lgdoiuTlWCnCaFsHtoWmcxEb2kpccixvfiWRSzQx87Z6cs2z9UW5yRaASXmvonsyUrTSnFyjR1Me0Lf1gQm//5inMc2qBOcDP78Lej4O0M2RYTt2FzllLiUEi/7U6u/gg+qoay3nOOTJDKnEXvRZ6ZXi/geW8UEFY5puFIJM7aZUc9EBMPReN0xWKu40oOJfL0KQC4obalZnvQ/ItAgleQ3MI4EAQmq998cw2mPaSoKTyXf4D0M+X/3IMEE5SGKUql7UKaWpaphNcrkyjfjn2b6Aiy3ll1CRrwJg==;\n\t25:gX9rRZydykR213jr6DVVRA8XjKX0D+20M4A03ekG3h5CX6sjyUgUsViJEg3oa7/9AgRDI+yw8655B1Tx9dTFN+IhfexXxL2//FdmWipdg9mjZeDYsxHftbt4PWCQQMclPXKXwF4kxeivgA7+NCCgV3MzE9hASBKte8GogUjHTjsCgTJEZ9IzuSCZAc3zVMxfMqbExH2D2NPJ5TepxhrVy7OSf62h2BunNi9sGsf8IBG6kEk40AWolyCmvYG+tYayLs9crpDY/WS00BgZW8dnid+zvU1oVjttXN2AJys20YF/MRUes4u9Fw5xgWuHv39PV+aos/ALSj6oiWmztGfsHA==;\n\t31:0wtdaz/1mDViX88kcNk0rtMQ28Im5UnMgCm1e6elkbPelXCFRQf14eROSNB1xHQp9DwzyfzmRIwp3jrWp7GdGAr07Qiq6xXCoxRx7AfwdA7EOdygbI5QQs7VlPymctJZCfgsY7Qzz6uQ3JSrZtu71KeoqpegN+sQDyK4YQ5xKDGITMMHELi28pwZXtyyXuAk4+VIrxWsb1YTOYsxlCOVfiAcCn0xnJSrI1MjlBR1kJk=", "1; SN2PR03MB2271;\n\t4:UUaAt8INNJTM8FxhYu/XZ1Jt40I84iOXOZss+yP/0zqXSQ8WeJhqahlTIdiun5zmSK6Pq4opZtV49bLjATlLM3DkulWRGHvgAzE03DSTkQm2m6mZJgkjSu2srl19BpETgspUwcaMtLY27xCz04c9sUjmjkKuUEzME1usuK7rC0azE7fPVPtg5kR5UOwoJP0rwvH0nQvYnQ1YajsOoyacl4LhSbicS9dXTM7jKclajY7o6dcbpNrRguyEY1jXLFotDEOYkQTDQmlvkhOj6TTsDOp1V/IINFIXTyk3pB13YKE=", "1; SN2PR03MB2271;\n\t23:CpTfi3qLinz90wCT8A+xwagupsC8DUZQ82NC98qwB1WbytzIZ8hg9amOnjTF4Pvu1YE+JdaYyMW/RFSFivyFcsa1Z4dZqg5S/gzZKboelCq0QqXtpYrbqKKwvgv045toJg9XA6n0WjWasGnj1GXmrt5+yIIVJLQlzkhDnPVbD/Eom6sQ4glNC3dEBQbUmqBDdpyKB5q1+7Z9XgiPH1ckcKVhR2zcqiuvOb+T1G2TpG6LCHWrAkykH7n6dwfTu7r5+tjbJ+VKPXXkfu3Fv7dEdOT9/cqwlX8U0GMZFh8kBOYILzH9ysDF3hjLLXQpZdUbHq04/mneHXUa+w2KxkcMBWOUagV6GoWI1gSwaeIF1C90cbfq7i406wNQ4lBvhpTQYJnYfkg8QBZfhG6KUXHArOZxuV23z6+V9h7U5AplYZv/NR9x4VNJmbJGaC73VN1c9cxYZAHPFGX6o/+RP6vBPTo9PsZsCjH6IhKMk7cEw0iQ/pIHNXLbOImeXRrQYp5IHO05gPazposZpjJ1TfIDHbAAXuz5OcjMzN/kJNAurFNXQr/AYhUqohNyXjAL3vZUd7gDiVH2x5vJXELC8O/DP5cbKFOZ7W9XTpgz2ARHBS5/BlWVhmBft98Cwwc8LWantgshu5ehtH9RbvXFNP0XMA4hTKKao1um+yHZ5BV0dpnnqSAr7e/Se8M/xmqoQL6HVRYrlajCG1/l4AGvOqrb8t/ZI/Mp5X7wF0g0z05fFoHDDsvhWlBU5dkR/nwgMHs5cfo2YVZfbQdG6+8J1nLl1FVxOn+WMtuwgV/Wb51nlbSJSOUHj3x6tKUsglt5kw3JydT7PtPrBkejS9LWNNo7AmUx+ZZQtepXoyL6V5BCHsIw9QWhrm85A0X5h3xxngHe1UgLAQYdBp5imJmlzmaaq1wVTf2z6HY5yF2Um7TQ00w7ZiN8zDXhj+UVSAXdTA7EDdKnPqgRj9ya52Mz7H0xn++qQ24LRna61x3QZyicLwaNIxEAZ1Bm4prVgysThgxNdKjiWZlT7bH7o9W8teRh4wlVI4b0b0ghqf9kwxPJEcbGwcg8XBHe0eMhuvamOr05ZyqvriMUvUi1rJ+/CE6qzj+Mn3XQddqPwBD4cxkhKzo=", "1; SN2PR03MB2271;\n\t6:0BGfvwlXPoQsXH0z4dZ5qtV4RZ0elqtlU9L1lZzNCHo8jNaRv2whSHaleUzgmb2Eq2XOHDEWw6g46fkjAOP3JtkPNj/1Olc1qnhJzn/yyDyTflSTYKMJXeenCRGyFbUanyfAPs+gLyd3oZ+HDCVO94wrp5eA+6nGPLVnSol6bSr/x3TcMtruYYDG5WXV535aZRx/KLqhS3lKWZ7uYzEvBVJArogxJVEg5AMg0hCnj092+tj3ChC7/NgVYdm1dSg0RQ/rBsQLOAWex6FPuCQVXxq2fVyVS7lJydsKcEUqJ7sler+I5Fvo7RyHPK7LpOdL53oqpB8Bsx/nLBWKXjkjdw==;\n\t5:oIPm1mkz01pbkmr4TkWZSWgCE4PG2AxSWYmC3shUktA6fIqzILp5A4PYDbXgoENrG4ErdbAB/y5S0wWlPawPLYww02ABawrrCxRBUmH7ssVMSy77LlfjmEJy4hdPcELeH1vHF8iZtFoHfJuNN/ozhA==;\n\t24:KSZfj1erqrq152GXzq6G6gvyrj4eagEGeiCdKkVXWGHjYBDf5rcon6eoXN5CS8thNs5sp/qCAfelVUdlhEwcsbe/jGH2B1Ot/mnqYdF7RjA=;\n\t7:4krgLL2Ct75vsobXMTbv75V12zMrb4Pf6W1ZLHmImP34wCOVxV6ws9V+1T4byBKh/NiU87GTm82FqxyjM1KTEIgg0C0tq5xT1uu6VGQFYySCsZroWaq/wBkEJwn0PpgScTQYdH34tUsNRQZke6ZyLvckCgkhKh7xjH8ciOeQBS4mzAsgcxx0yECPkQO++PUAEh+XbNnkYePq1vEyEy6+kouUj4V1s6xMX45ajpnM90c=" ], "MIME-Version": "1.0", "Content-Type": "text/plain", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "7a248aca-7180-460b-bac5-08d4f11d93fb", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:SN2PR03MB2271; ", "X-MS-TrafficTypeDiagnostic": "SN2PR03MB2271:", "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);", "X-Microsoft-Antispam-PRVS": "<SN2PR03MB22714DB80AA5F113900441DB96920@SN2PR03MB2271.namprd03.prod.outlook.com>", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(5005006)(13018025)(13016025)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6055026)(6096035)(20161123561025)(20161123559100)(20161123565025)(20161123556025)(20161123563025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:SN2PR03MB2271; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:SN2PR03MB2271; ", "X-Forefront-PRVS": "0417A3FFD2", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Sep 2017 09:41:10.4084\n\t(UTC)", "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.158.2]; Helo=[az84smr01.freescale.net]", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN2PR03MB2271", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "Encapsulate link layer flow control logic. These settings\nare touching maccfg1 reg exclusively.\n\nSigned-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>\n---\n drivers/net/ethernet/freescale/gianfar.c | 68 ++++++++++++++++----------------\n 1 file changed, 34 insertions(+), 34 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c\nindex 46880a9..1648173 100644\n--- a/drivers/net/ethernet/freescale/gianfar.c\n+++ b/drivers/net/ethernet/freescale/gianfar.c\n@@ -3672,6 +3672,36 @@ static u32 gfar_get_flowctrl_cfg(struct gfar_private *priv)\n \treturn val;\n }\n \n+static void gfar_update_link_flowctrl(struct gfar_private *priv)\n+{\n+\tstruct gfar __iomem *regs = priv->gfargrp[0].regs;\n+\tu32 maccfg1, tx_flow_oldval;\n+\tint i;\n+\n+\tmaccfg1 = gfar_read(®s->maccfg1);\n+\ttx_flow_oldval = (maccfg1 & MACCFG1_TX_FLOW);\n+\n+\tmaccfg1 &= ~(MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);\n+\tmaccfg1 |= gfar_get_flowctrl_cfg(priv);\n+\n+\t/* Turn last free buffer recording on */\n+\tif ((maccfg1 & MACCFG1_TX_FLOW) && !tx_flow_oldval) {\n+\t\tfor (i = 0; i < priv->num_rx_queues; i++) {\n+\t\t\tu32 bdp_dma;\n+\n+\t\t\tbdp_dma = gfar_rxbd_dma_lastfree(priv->rx_queue[i]);\n+\t\t\tgfar_write(priv->rx_queue[i]->rfbptr, bdp_dma);\n+\t\t}\n+\n+\t\tpriv->tx_actual_en = 1;\n+\t}\n+\n+\tif (unlikely(!(maccfg1 & MACCFG1_TX_FLOW) && tx_flow_oldval))\n+\t\tpriv->tx_actual_en = 0;\n+\n+\tgfar_write(®s->maccfg1, maccfg1);\n+}\n+\n static void gfar_update_link_speed(struct gfar_private *priv)\n {\n \tstruct gfar __iomem *regs = priv->gfargrp[0].regs;\n@@ -3722,44 +3752,14 @@ static void gfar_update_link_speed(struct gfar_private *priv)\n \n static noinline void gfar_update_link_state(struct gfar_private *priv)\n {\n-\tstruct gfar __iomem *regs = priv->gfargrp[0].regs;\n-\tstruct net_device *ndev = priv->ndev;\n-\tstruct phy_device *phydev = ndev->phydev;\n-\tstruct gfar_priv_rx_q *rx_queue = NULL;\n-\tint i;\n-\n \tif (unlikely(test_bit(GFAR_RESETTING, &priv->state)))\n \t\treturn;\n \n-\tif (phydev->link) {\n-\t\tu32 tempval1 = gfar_read(®s->maccfg1);\n-\t\tu32 tx_flow_oldval = (tempval1 & MACCFG1_TX_FLOW);\n-\n+\tif (priv->ndev->phydev->link) {\n+\t\tgfar_update_link_flowctrl(priv);\n \t\tgfar_update_link_speed(priv);\n \n-\t\ttempval1 &= ~(MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);\n-\t\ttempval1 |= gfar_get_flowctrl_cfg(priv);\n-\n-\t\t/* Turn last free buffer recording on */\n-\t\tif ((tempval1 & MACCFG1_TX_FLOW) && !tx_flow_oldval) {\n-\t\t\tfor (i = 0; i < priv->num_rx_queues; i++) {\n-\t\t\t\tu32 bdp_dma;\n-\n-\t\t\t\trx_queue = priv->rx_queue[i];\n-\t\t\t\tbdp_dma = gfar_rxbd_dma_lastfree(rx_queue);\n-\t\t\t\tgfar_write(rx_queue->rfbptr, bdp_dma);\n-\t\t\t}\n-\n-\t\t\tpriv->tx_actual_en = 1;\n-\t\t}\n-\n-\t\tif (unlikely(!(tempval1 & MACCFG1_TX_FLOW) && tx_flow_oldval))\n-\t\t\tpriv->tx_actual_en = 0;\n-\n-\t\tgfar_write(®s->maccfg1, tempval1);\n-\n-\t\tif (!priv->oldlink)\n-\t\t\tpriv->oldlink = 1;\n+\t\tpriv->oldlink = 1;\n \n \t} else if (priv->oldlink) {\n \t\tpriv->oldlink = 0;\n@@ -3768,7 +3768,7 @@ static noinline void gfar_update_link_state(struct gfar_private *priv)\n \t}\n \n \tif (netif_msg_link(priv))\n-\t\tphy_print_status(phydev);\n+\t\tphy_print_status(priv->ndev->phydev);\n }\n \n static const struct of_device_id gfar_match[] =\n", "prefixes": [ "net", "3/3" ] }