From patchwork Mon Apr 17 20:55:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roy Pledge X-Patchwork-Id: 751547 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3w6LCt6SLQz9s73 for ; Tue, 18 Apr 2017 06:56:42 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3w6LCt5k4XzDq9H for ; Tue, 18 Apr 2017 06:56:42 +1000 (AEST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0055.outbound.protection.outlook.com [104.47.40.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3w6LBk3jb1zDq5W for ; Tue, 18 Apr 2017 06:55:41 +1000 (AEST) Received: from CY4PR03CA0003.namprd03.prod.outlook.com (10.168.162.13) by CO2PR03MB2278.namprd03.prod.outlook.com (10.166.92.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Mon, 17 Apr 2017 20:55:37 +0000 Received: from BL2FFO11FD021.protection.gbl (2a01:111:f400:7c09::171) by CY4PR03CA0003.outlook.office365.com (2603:10b6:903:33::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10 via Frontend Transport; Mon, 17 Apr 2017 20:55:37 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11FD021.mail.protection.outlook.com (10.173.161.100) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Mon, 17 Apr 2017 20:55:37 +0000 Received: from otc-sw1.am.freescale.net (otc-sw1.am.freescale.net [10.29.200.182]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v3HKtZT0019750; Mon, 17 Apr 2017 13:55:35 -0700 From: Roy Pledge To: , , Subject: [PATCH] soc/fsl/qbman: Disable IRQs for deferred QBMan work Date: Mon, 17 Apr 2017 16:55:19 -0400 Message-ID: <1492462519-1823-1-git-send-email-roy.pledge@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131369361373261613; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39450400003)(39860400002)(39400400002)(39380400002)(39410400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(356003)(8936002)(33646002)(106466001)(5660300001)(43066003)(5003940100001)(81166006)(48376002)(4326008)(38730400002)(105606002)(50986999)(189998001)(305945005)(8676002)(53936002)(6666003)(3450700001)(104016004)(50466002)(47776003)(85426001)(50226002)(8656002)(2906002)(86362001)(2201001)(36756003)(77096006)(54906002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2278; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD021; 1:FPGLP1hWq9kCL6xXEtPrRYriRc9S6ZxhTYR41G+ReHX4ayJiv/m9FlgeqL4IQVuKVYT0vPz5+b98W9lmB6oZSkZGTgUO8V645kVts12MSl6rDqcwXwQK3Ilmh9jdaMGImgsZ6xljqn8tbmbKHb9hCm97qDa2kN9u2rKKm1UQt9RLyDD8hWMwgZ7b5jHY97ms15FEQTiktoLwc49linrlndz/fY9rQc+QO7h7bANtJ5VrGp85P+Iv5X19WBP36lRxvCwfL5smV/6vGH5kdmTf37+w/O7OaGqInYnsydAJlYduuzjetGIRMqHFI1rViurWhM8r+0B/ds7vPJlgta76tNzd2lI02+M+ILVJ8McJcAFIYNk+qhWdbqamt8qFudW6OmrvYQTWHEHdbrZOFpbJX0ZwNXl2B4OV5IFSMx73eUB4J6nsUGeWRB/dPxlXuq+30MrZfPduMdVLzXAtjfo7S+1AjJ8Lv5642Me+IZyGQwUrF1J4PKgHo9EQF4IhAt/OuR7hy5qAw0LMbLuxmzhyCIPs3oSR71Q5mOnmT4/L/vNpEhSdoYWaYch30ySjO2G/8LHOgxYThd2slMauSgQbi4V+SKM9q5G1RzqL+ctv1ap9oKRYTgUKW4s3XB9Zgomjp89dB2Ily04M5BC61o0yvCO4APEBl/h5INomKrF+oz2y+guk+9Sb2drJYBziq+/LpdX993Rocyd/PAjagZIX11jrR8qMmEKGz0opzAbjBE4= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: bf71f06f-ce00-45ed-8dcc-08d485d4197a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:CO2PR03MB2278; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2278; 3:p8MyaQ4Crr5wpbPH2uCK2TtxSjA/fknLnzjK47Yxpf+V+x5uPix4TJqxmR8mifANHmwLIb7XYPKZvQcygD/bdIrIkPLY3I+11lr40XEGKakv3aEyZ/DoVX3MDtHdiSUuk/sdPWVeq5B306q5lF2wrRnm/pU0RAsG1RUPGKytCz0sEfvMq3gdxn9gqKBHBZ/9NVMs78AMgdAeMHlM8GUkv9TNrlUpUNwGULBYuS4+zPryg/XCOE2bAXuDZwuvk+iB47OOpgVhDVap1oKWVD7CoALhNr5J7kvHhk5CkUdiNg+OPf/LV7ZyDM+DpG0kWcTsDPoK1FCDTsrFzTyx8pxLUosYsDmqDiqIwuhSy2cEHPNUZRLvjwldW4GpvKAmCLBEyIGeojRdxgq4ikHNaPmnf3Z4fHITcbNzGtKsbUlngE3fmPMrM84yDTaChbNswrdy; 25:SOoKhxObEgyujAS50KfaE3q21bh2w8alDxu5QroNrVj79dCDz8aOMOYStQxLXRAHIRHb2ug9XFLXEbaiyE9FHpUgyGtEghnUQw1nwffrlQ+ER9XiRAunxTS94gtnznC9Km6bVpkIS5xAPjuD2K5R1gSgEPFBj1btXOlv+E050v1n67H1rdZgbaddCbiOm9PmQBJAP80pUZouzs/m7UBgncub6bAfkJI5F5dF0WEv/s7cQ8H+P67l22NH7kG6GqjnIL5w0dWjVr0pUsv/Bu9fz7MnTTtEFwjbNAEgevzYsCHVMDaSVs2NN1+n/KNYRTKRkQBIR0EbVsLb7IFw3SMKIw3kPO2IWJCMhizr2CA9SoPg3yh+lRx4zuNO33cdCc+wxRPnhzqWijnLJ0CcxY9TyL/hEFHQdV4jwwMZSfvxFNg34Z540h0k9XaaTF8AOnmujvaS0Kd9erU0H9i0gABtpg== X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2278; 31:DMGzX+30sgcZKqlZcIkHZPm9/9Br6N6MS5rKw9HDm5doNZdnUmjHddEa3Rj4meszdIzxE4Vm2p/0JEc0MI4OlZzhm8+AyI4rcF9rhuYzXQQVQLZ0zNLN1CPen/XIKiUGZzFfLDGl2+8V6ZnyC8yUFnJ9L0UlaC8qAKvfTDt73sj7YTpw93ylv+YWvxTeH6TQ7xb6aZHITjQqbV1zzMLMOnuOv+7HBVqT/7pCW6ui/7hz1M75p80Lizs49qTSSRNGBiNbOQ8uZ2Wr/vcCvmSvgg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13017025)(5005006)(8121501046)(13018025)(13024025)(13015025)(13023025)(93006095)(93001095)(3002001)(10201501046)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(20161123556025)(20161123565025)(20161123561025)(20161123563025); SRVR:CO2PR03MB2278; BCL:0; PCL:0; RULEID:(400006); SRVR:CO2PR03MB2278; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2278; 4:lGjlwrHm8m0uTP7rCdDx+H2+vc1L0Fq61OpBLXD3rs7Ir4A8ttG+kB5Dn7w5NyE7gnplQkFMlzCrnnYFATwqKq/3Q0QDUR+ufDXPAPjn5VjiJPnpvPN7uMrMjUq8LOvAH9Nx+qtP63e3pEunirvXENVtQoFAOkXpRW0e5mX9fJT8cMwJ6A9eySWtddVO+URwzbkJ6JWlR8Gr8VQbkcCURlUtEhIaGXB0/o3rLvAKfMdUle/UDAcL8oksFC15xayJjvm/EywszlBKvXh4lt57s7hx4t4ZdFkrcYKwnZwsEA3trab8MKnIt7qDyW74KscYX1014mwIPo2JnRLmUujFq0xyNTZCLaysdJydGPGUy1THV+tb7Ti5c4DG4TwrvOmcGI24uoFVLmL5myr4e+h2qCqJFY+RUFnEHTnzucJJ+6V6a6rYz0KGsyuYHNPXFAWw76Gf7H42Dlja5+c+FaNU5YHmVLHFe2ISeVrcpqdPCjYR3p1TS3vtjVNmqRdmajkWBP5bplaH+WkAJ98X972D2P+Nk8U24cGm2TQut7Ol7Kw/6ltyxTXnxEva0flzxp8y8Dv5hVobaUbrQd959Iap3cm0hlQXPwmB8hdMcIILZHSU7m6XpTj44qbleZEOvtbphulxXn7wx1qceUw3mfMA5iVk8TRiSJSZoyM97Smgo+QszcUSC0NiNQJHjC7ZfUe45uGsFuwihpCOnLJp3cEIURGkwXBccNpNNJ+Sehhh0wVEkP7Ks2f4FILevnYWu9eHZlYRNh50itoH6KPlhtXgY6O2vRQ2F6zeyjk8ajHjqW8hEvVwqIhZgZCWO0fGohz0lUi3kYA+G8c5pqr/wGeQZks3fK++30qOfHVSnKbtZbYZyVdTRJ1xe3ubBdec8xjt X-Forefront-PRVS: 02801ACE41 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2278; 23:be2qlWOoHUNxvQgVoG8NbrWVJw3VwowaaFlLhYH4d?= =?us-ascii?Q?+Vb3+WAu5deyw0WyKZ+Rra8AnvOEZS+MPDEBLe8oEwrFWpKyW40rX/cBYWsz?= =?us-ascii?Q?DdOXe+9/D3PuiPHybM7uJwQW/ZwO9pxdbjSy1Y1buI1KJUFrQlt9Oe87jTWn?= =?us-ascii?Q?SrXjyIpeswWmq+YeyYpX+ePavxI7g/w0m/VnI7/mkfVuepGJhqqpl9ZaqIPG?= =?us-ascii?Q?NrLXaHEggMJRjxf6sswR8JhlHKoIQeXZGfjjEdUnrjHr8OTcbQ8V6F2RGChm?= =?us-ascii?Q?wbqzKX30CQWuLYwHUM5Txk7f+pgajrkQx07Nxjvuc8kdep1a65tT64rqdZVc?= =?us-ascii?Q?z9w6Fn9TEK01cAKoOHlUvsUWEpvtctCJjajGhHj1RL5AJPHMYCrUpWY4geam?= =?us-ascii?Q?GM4tbWLHqY4J9B/UiXvdfcnqh4kVH9PCP32kxDy5qyVhppXRSRaoySUCV6AC?= =?us-ascii?Q?ZyaQrrFb3nPTm5AzSPoloCkg9emKEmi1+hiHlhau4opk4UJIJSHidZSUoOwM?= =?us-ascii?Q?aAMLR0aBK2mdfeCElQNtheFuAN6ubIuVmpZj79L7FYWcNKmMew9MHrJxJy3/?= =?us-ascii?Q?xhajDyGeWCAxMI/8A/vTzOpIuaHNBBzylfRQm5YqhYwIJ+xo1Pq0N1okHiIj?= =?us-ascii?Q?tXFuzFZBaSKorUA5q2UbCHGNDQESEoJcmS+PG+vdqmECjW5SyRpbO1k+Ukn5?= =?us-ascii?Q?cE6LFCx9IOgwiBGsHcLQu0NtJJEh4d698gKoMg82ACt7mXt8ysLYj8Ikf1mA?= =?us-ascii?Q?64vE4EXmbCmYllane3SOzqT/zwiigpSjk4qDCUp1VWNJzZX1gT8x5w+Xz5sh?= =?us-ascii?Q?+tO9QibEpxZHt5sHO8/BgYC1kf0hjxIRGOF2yKPdOvf4Y2vcwVrhlD0NQ24f?= =?us-ascii?Q?eIjeD0YViwU67VAhqixdpDhcyf6nmpyBPthn7r8AtFE4JlaxbkAtlNmz8E25?= =?us-ascii?Q?yKsVoO0IXT70pqiHz8MtCbkjQgogWevQEt6dGcQSXZFlwFyZJRNKnktpMUCr?= =?us-ascii?Q?2AXC9ch4jUY9btLYSUWz7o20ByJ+RBmWggPgv4uiXE2DjidquxTsiF5AJ5VO?= =?us-ascii?Q?FJCVPEF/rQoqnEQitdcNDGjaea1JhOffr8UGnJtMFXPLP1CavEgD0m5SJZcT?= =?us-ascii?Q?1HF/2hVEtbjWwdZdqLh349kz3H/AUKdk828m9gZo/Z6DzpLLyA9J84p+tWuk?= =?us-ascii?Q?vcVW146to86K7g=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2278; 6:ft87Zx9LfaF0ry+QA5tSosMefAwhxdnsmc4NaKLOS30aRnZ0dLYMQcEKXxMPwS2HoQDeWL4toxm7DBcA39dKwfEIt5wyI5BFp9E6ScAUb3ZLvsf6O9+83+sp/LvuKR0/k+FC7G3e9WlAY+R/d1O7ATtGWs7Rrxja/QXPRZ/inG0l63nqtuBdt82StIs4MSYyPNC7dFYfAxiauHyYZ0LxGHixQFAZsxLTVosDZKlRLVjzaKrWEeaYGe8TOe1bnAFJsibpGUPYuhBOVWW5jshYhiqKxVjjVGVVCwv2Y0VSgcEnhCar6HZ18uurFf790BmRYLCo4u0x1i+ItuO53o2FiP3P6hGna0PLYJBfE5qq+8OZbdvpI/NSqzSjrpSKEM7XNjJwGPMNJWRXS9vjH8qqPKtUL8k7+zjFH4v9gcNqehv2x5CYkuC62NueFFRqRUorSzTbR2FH0LmlDE3rq3358Lv3yTnQMGZqAtBHHQFnlYXxeVtKoOvrlOxihk3Z6i+C; 5:/k+bot2E2v4AWE8MDlOMTW4B7bWTkrUoBlbn+fDjy/7E4t693JrVFsOcEmQskchuGzTVJyhYfvPNcbgMycdcHymKVeqSG9ihWHKhlEecxYQAE7AcVTmuqIfjXBzFd6N8pvOTI4w4uEhQxXq4YMMfmFGFf5cAUvC1tCBp2ZqHFRZE5O9VCq/W98KvZp3K6n9K; 24:U51FTLv2QQ+jm1/SlwhQgiGV2WVBLTvDVV8fRqtxJ5a3kICiqkUaAC9ss2soC+r4TIqy56gqBpjN/sVIdz7jR+vJ2oKINO3OnwQdksWBhuE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2278; 7:rci+iOhK94mLuz3LdsBX9PcrCaDtOWntyM0jAB4oCallIBLZXx+D9xD+Cs4ayHaWGKFQ173aGYuNiNnZVKIXCVdhOBDGMe3CZyZyg5Z42X6SUJyjOJIm60XG7Urgr3zmn2WKmYUVDDqh4pHD9a4eVGrXCjGuH6kdOGV5OH7SYKCGAXiXowHlD27W9HVTZl+1NG8FZc3Sp1bvDAxdH047ylkbB/Dy20kMOj6hv98BQwzve9IhSi3D1nb1xdkswhSz46Lx468qYZU9plfhdMWFbYyCWjFnT5epxmQfLh19AMjYddz7WOwC7abAqfwfDf2tsYnyFt5e4MFTA5prkKmKLA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2017 20:55:37.0921 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR03MB2278 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: roy.pledge@nxp.com Cc: roy.pledge@nxp.com, madalin.bucur@nxp.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Work for Congestion State Notifications (CSCN) and Message Ring (MR) handling is handled via the workqueue mechanism. This requires the driver to disable those IRQs before scheduling the work and re-enabling it once the work is completed so that the interrupt doesn't continually fire. Signed-off-by: Roy Pledge --- drivers/soc/fsl/qbman/qman.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/soc/fsl/qbman/qman.c b/drivers/soc/fsl/qbman/qman.c index 3d891db..18eefc3 100644 --- a/drivers/soc/fsl/qbman/qman.c +++ b/drivers/soc/fsl/qbman/qman.c @@ -1344,6 +1344,7 @@ static void qm_congestion_task(struct work_struct *work) if (!qm_mc_result_timeout(&p->p, &mcr)) { spin_unlock(&p->cgr_lock); dev_crit(p->config->dev, "QUERYCONGESTION timeout\n"); + qman_p_irqsource_add(p, QM_PIRQ_CSCI); return; } /* mask out the ones I'm not interested in */ @@ -1358,6 +1359,7 @@ static void qm_congestion_task(struct work_struct *work) if (cgr->cb && qman_cgrs_get(&c, cgr->cgrid)) cgr->cb(p, cgr, qman_cgrs_get(&rr, cgr->cgrid)); spin_unlock(&p->cgr_lock); + qman_p_irqsource_add(p, QM_PIRQ_CSCI); } static void qm_mr_process_task(struct work_struct *work) @@ -1417,12 +1419,14 @@ static void qm_mr_process_task(struct work_struct *work) } qm_mr_cci_consume(&p->p, num); + qman_p_irqsource_add(p, QM_PIRQ_MRI); preempt_enable(); } static u32 __poll_portal_slow(struct qman_portal *p, u32 is) { if (is & QM_PIRQ_CSCI) { + qman_p_irqsource_remove(p, QM_PIRQ_CSCI); queue_work_on(smp_processor_id(), qm_portal_wq, &p->congestion_work); } @@ -1434,6 +1438,7 @@ static u32 __poll_portal_slow(struct qman_portal *p, u32 is) } if (is & QM_PIRQ_MRI) { + qman_p_irqsource_remove(p, QM_PIRQ_MRI); queue_work_on(smp_processor_id(), qm_portal_wq, &p->mr_work); }