From patchwork Tue Dec 6 20:30:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9463255 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 955C960231 for ; Tue, 6 Dec 2016 20:46:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 87E6F284CD for ; Tue, 6 Dec 2016 20:46:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7C807284DC; Tue, 6 Dec 2016 20:46:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AFFB2284CD for ; Tue, 6 Dec 2016 20:46:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752188AbcLFUqg (ORCPT ); Tue, 6 Dec 2016 15:46:36 -0500 Received: from mail-cys01nam02on0055.outbound.protection.outlook.com ([104.47.37.55]:14496 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751993AbcLFUqe (ORCPT ); Tue, 6 Dec 2016 15:46:34 -0500 X-Greylist: delayed 920 seconds by postgrey-1.27 at vger.kernel.org; Tue, 06 Dec 2016 15:46:34 EST 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=Gie8mKNUlkc2bzxmpT8LGC/d7rmT5eVYqoadsSR2Dng=; b=ePwVi6MK1JPSeOI0sKBKLZs2ZxIbc0k9VtZMaQO/Vir9NgCj0Qfa/0S6BallsEmKNH071/d8Z42ub52VvD/gNcMoyJuupPpxTFzPPkldV20LQ1UuazjEl3V3mokSvtZTfFGnJN+ZaV5by6syLG4cLW/Qhbfel8nW4hExP25rdv8= Received: from SN1PR0701CA0015.namprd07.prod.outlook.com (10.162.96.25) by BLUPR0701MB2084.namprd07.prod.outlook.com (10.163.122.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13; Tue, 6 Dec 2016 20:31:06 +0000 Received: from BN1BFFO11FD018.protection.gbl (2a01:111:f400:7c10::1:182) by SN1PR0701CA0015.outlook.office365.com (2a01:111:e400:5173::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9 via Frontend Transport; Tue, 6 Dec 2016 20:31:06 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BN1BFFO11FD018.mail.protection.outlook.com (10.58.144.81) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.734.4 via Frontend Transport; Tue, 6 Dec 2016 20:31:06 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1147; Count:15 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.309.2; Tue, 6 Dec 2016 12:30:53 -0800 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id uB6KUqOC002359; Tue, 6 Dec 2016 12:30:52 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id uB6KUqnZ002358; Tue, 6 Dec 2016 12:30:52 -0800 From: Himanshu Madhani To: , CC: , , Subject: [PATCH 05/22] qla2xxx: Add DebugFS node of irq vector cpuid Date: Tue, 6 Dec 2016 12:30:34 -0800 Message-ID: <1481056251-2310-6-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1481056251-2310-1-git-send-email-himanshu.madhani@cavium.com> References: <1481056251-2310-1-git-send-email-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-IncomingHeaderCount: 15 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(428002)(189002)(199003)(305945005)(81156014)(81166006)(356003)(5003940100001)(575784001)(86362001)(4326007)(7846002)(2906002)(50226002)(8676002)(39410400001)(5660300001)(38730400001)(101416001)(189998001)(626004)(47776003)(6666003)(4720700003)(42186005)(36756003)(106466001)(2950100002)(105586002)(4001430100002)(107886002)(50466002)(39450400002)(33646002)(8936002)(39840400001)(92566002)(69596002)(39850400001)(5001770100001)(50986999)(80596001)(76176999)(48376002)(87636001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB2084; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD018; 1:mJXmfMfKPw/RA5mZ8P9xSYnZ+D54OpcPLeQaxiAG5c2v0OozqbUyVJTqv2UMXwAFnbDT23RJzF6EryCjkD6kk65pZfVcgsPxWuiRIstnegECn6JmA06Uigw7sGA/IBHJj6bL/lwk9QkyZ8du5J7HpEs8pnpOu62fxR9vZCHb0lL4za7hqbk1NgNqwcripvWCtKwT9IN1NE8/y3giCXdZ8MmHEsA/NMd2bHS9vdS8RARnGoQvQPyXaAvjbwbXBUHhWzXLKM/9ITuvQ6/5o+/sPZ6YgjQKuH+dMwx+1gKRikgXyiA9Yw0QpU1/gxHsK99Sv11QyS3zQJXlH63F7TBYzNlaQEFR+z9yZ/eGQM4cnggXrbCZGuDwxX/tqo025Z7fKmlS5RKwnYWyuo8GRe79Ayv7qQj92rTZ/S1uFMJ7LImlpA/IiAOPwXFynXA8TlG1S3tCqoYIKHn2K0IxlGsfzkQq9eFdzgBLgLknLgslQGL39zI+pcpMHNzPoumTVtpTzocXup6eFV+s7enIPbdhSA== X-MS-Office365-Filtering-Correlation-Id: 91424d5b-dff0-4b27-9927-08d41e16ce33 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB2084; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 3:LE0A16eyEsnA6qJSgWpdyBnSCYwpui7qIm8GVJ/NlbZeGRLrwZFIer19qjUnxPU/S7owMWm6qbC8yR9rq2+xnyW2wTukK9sja5KP03IRrd+sj1XX1aJIWR19wtkPGeANbGRnsn2UGc071fd/ofvh2Fuzg0yqXJw58rdLyK3nxpTgg2QBL/DjbMGvnOosvJ3mNsxKx6hLHf0ryOtsPqtw/V3hnw0mXta+R5uhQVxIFknfIO43Vod9cqgmUGOLB9WouhaHxHR7re62K4c6D6h2kohHwULxejmNSQSyB101XcGfW3r67uQPrBGSLEPEp4Xu/5rxWuVrjC2vOR6+Ctk/feAwX1Uu4MMRdsBv5xj+wI4= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 25:IVLtkMh0h1xwOPCSq1jAOnl9xePIXvATYIt1mEDFd11z115bJuso5iRZWVUCNAMi7bGF0KReOP50vXpiQoe5ZzmZlnMeE/SVXDExoXkA4XYOqXwdqvwbgzOaeVMgcgcQDP/uZdNCl3o1VOzDqFRc//6ENW+f7HLUZDAelnWCabV6SPVOcolIbRnoxoz2RSefofBygX+dqFBz2dc0pL0j8cfVv42l8LYmR8acKZv23d/bXbwpNdc6TY16E1iPQ4pMAOOtMZ0fLot2zedD063k0F7uRYvLA5mHO+jhHgOSoXd4nPg0qb6xOFEvneLHa4gHiDGaKOWA3G03r/EGwftPF6qlbwheupaw+HUqGaMLLu8m6g4I3IrC89xrWXdSq4F4JHhkhQg+RYEJRzj7FWvAoS5A6ufEbY+yK+9LcfddiUivEtWf1UGiAd9J5jC9GIlRCbMGbUfj1taiuyH0f/PxEg+DWuYLU9GSZrRbapdSBixMyr9rsKA3i3awcW8TreV5bffdIakGuNVcp6hQ3SfJ4WrKTO519K83nPCj3EWgZQDILaPqblJTSWD+YBdspYdS9+fs4cfVOyMt1ehnwc2EFRABumL2N3n/dChjsJbg3fpx9Jf4dCOHKxBt0Hgbkc7TjItmKFo1aHWdUTszpN2lQqUfCQK1SlrJpgheMCSWvwO10CjROGnmdEKbTTu6hUwUToElmuPms5ePxp3Cq/LePmgcKmTMGhRgBBTfLOPdkKQGgCwdLokoUlEDGundu2r4VwMpodMr7AlPCFg3q9dWcIwDlzkVd9IEmemskc/aZFM9cnESIMxLSzOx3vgV+ZnyqyxjJtXsXrF6K+OGvfHqpGyDkfIK3rfa3Bt8JxbrSDM= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 31:z2VBI6SnP0qOB+1yqOVWFbCIpc9032xIqUom/kDtUBbgnGyyIYI4fSF9kFo+2uaPZtFMZKGhgebvLA7yxMRyPnTQbB5/jbyXoqXExipMQvm59E1GynpcgLP6UVMmre/7HKLjEu7R5c6pj5kRzNKjTs3+rSDFEnrevc7W+CsSnj5P8kBJOtKlow174bfyznw3CSVoD53BhK0TGIdGcju9W50i6qnJRplg9euCQUfsWOtq2LUnbiX+1/ftjy9cdVquYUfANjbgLLyJX7QIhi8llA==; 20:bB7AsRej4zRGAVhrhujfK1xPUBbt/ogZgn+wyDnoe49mkWN6v2bbwKnElSgeQE7VWXZzuUnZY7qz9n2xqRLmsYnoNdSHE6P1xIWI/p3Jxqpcs7eN7PvZ93a1ZfrvIKigXC2rz2Xzt0ihcIS93rYJLb5uVRV7jITcH/2JnPx3dRgqmYkXsPaGKLN4XD8DW6nqhyfz5FYff1ToUWV/IbtwJ6nsz9owhDwfA7rWH7I2Ps8h1TICjgHKS4zEBaBCX39fbBpOliNmzrmNbnqMEyfwWtqhRCb5kCaPV5QLDTgaYch+WKyKD6kJBMKIhQGk97gSiGUfnF/azXPnUmpkBH2CD3I/AtG/pkiM8o6HADS1HqGIXAASPc4cbxgpzmvWiU3uIQHkt8JqYfBFzaiUSxggQdYFnxJLjzQVFva93lwqAoZkt5w4raPucK9j95WZBVszDTj3Xg873MytiCCvcpxhl6lK42/qRN7RxbRIWfxmQcHbczkLsjbTDSNLvET8Nb3p X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13017025)(13023025)(13015025)(13024025)(13018025)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:BLUPR0701MB2084; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB2084; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 4:kT996+L5UkcTh31I58j3jq1LxAxBGEUnegQNaYZOHkodjMcd2kY3Q9UowygSHBfT5KllC/+g36E7lNwzYrGyKxY544uBLqs0+6jVy1/ClTLm+dcPPo7N1N2zkzuI0PlRyU1IJ6dvbc1gCptwM9yDPCNOpmCl9eGofktlKgfASB3mqhipYOPeFjY6M1ampvMRmrBfXn4BpxiLbblLm1uR2xtFwe2LO32IvBmuvxwOo1KGiQampbPUmnMheEVohCOCXk2xQrQmYTyUl5r2k7N4UFd0JTZhbRo5dd4rq0RENg6ya91BG6Fqh0eUf7+dG8nXoTje/kQEuZXdJaqszSDTpgQYp5HCMmJJM/uRsgANi2oPDWDuXvncDvYp1/UZHQlgWtXXBueKl2pAt0z4kacDvIV/0se8D+2Kb04Lrc+f2UJnijYotQss2yCIgtfn6tRy2rA/NUX9rqATzYDFGTERd0kjExDvNjwz1HOwxDz1AaEr9BhQ9lnxo6+pghi2pI3780oeo17Yikl8Vv/3CLY5f3DWDfcLVqqOWoZDHxjX0ssPu8Zrtrw/WMP4VrzDiBn9+zgig46SezjCf/GCY8FWRelcqxm6OZwB3nCoBrzDAwCLCK8SkJDBlzs81iJNN7Q0PCkN5mOrAUpp34+nnAyFpi63uSKAPr3tKRJgE6RK6gI= X-Forefront-PRVS: 01480965DA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB2084; 23:VzWpRVURNAZlXsN6IR6GyqTdd+QoqCYZVYr0ToY?= =?us-ascii?Q?vPpbbqRdFYZ0wqWH39tSJQFJijUzXGAG5DU5wAjlN6PImztrqrUVcLtX+Wzd?= =?us-ascii?Q?hEHzRBSjRqvzF43KbzJBTFFvJWYBaF51eVY20RwPu51ofACjvDk/Gg0pED4r?= =?us-ascii?Q?fKPI0TkyHhyVd+qrePLTE1IylzexemOst6MgwiGxDDMKsM3QWasWXpgPRec2?= =?us-ascii?Q?nriBxGFy0bVUPnBb3VyzeIIgvfUX7y1frKdRWwwbBhFR1vqMs+vHuMffj6Zv?= =?us-ascii?Q?Y9q0rZEzAF2HEbcoCEaJCSgCvR9g2k7u/CIRUBCrmbOHQYqCAfhMQnxjBwDP?= =?us-ascii?Q?kHZJH1tnKnOYRcaxib4g138ekhq/iZd+BWHDauZCM8iRmK2RK8ZJbX30BJUO?= =?us-ascii?Q?tsAxpwjr/f/96sHYvdXf64ndb3p4/e/iIEzOdWqiFvO8TtSdHIUZPIkh1fF+?= =?us-ascii?Q?U6NCdtP1kjpkCbGwhiUMLBwvhxw/0sBJatUfOAtQpZGD/rr93W4LSyjis7Zy?= =?us-ascii?Q?SG3mgw07Lt1gEnBPI1j4UUkc3wYsDSlOqMD0IIuZfWAGNxaAwlfwSkzVJ3CG?= =?us-ascii?Q?wh4G1Yy7sEi3czjR7xDIN54LU30U+8057tLkSuU5Bon1OPNGkJjMradr6J+U?= =?us-ascii?Q?0yAR7sLqsxfy3Rar6aTh2mil4sUsgNvC9/gZA7pw5ofWl39Jtri2yxXgHxLr?= =?us-ascii?Q?pAP62vgdAlKR/MVlsO7jHiQBQJpCKN0N3IzMOYr38ZkyIVoeqxfw/YrfAikb?= =?us-ascii?Q?G9kC2XxiFsWyn4NdzlndUlzxo1MUNOJcK2DFgvuZ00hf2zYDNKSTaEigOjFY?= =?us-ascii?Q?a6uOIJhQLFgE0XUfXuM7aFK4+iIVMrGFQxNQvI+QiTBmA3EKESdbbmu0xnZg?= =?us-ascii?Q?XCTuPsnTPbt4z3CsKwrrfovVx09NBT6bMJLdkCOArCrsVDzPLvp7DOB5+DN5?= =?us-ascii?Q?oJRh1nXY4b1u6TtUFpEeDnVoNOwbmElkHYHtlMaXYRx2cDErh+KjGosVwx1q?= =?us-ascii?Q?tGyJtmKT/6HmzlKDfVQUDnIHvvm9CgoV0yodySx7BQeslk0aUfPFpmiFpJ93?= =?us-ascii?Q?sIw64JpwKgaBWKPtz45uenWPLStZATAvR/mk+Fv7oEP4LwuFOr1eWxM8MhnQ?= =?us-ascii?Q?qsdYcgHIYoBv9qNRbMFBSCcA1c4A3NugrBCKcxkNgfizrJvd4d3FYouRo8fR?= =?us-ascii?Q?eS1mSnDKiv7T7OThK5/WSofD9EhbqwM4VfLI5?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 6:exqPT6VzDs6io5GuR4L1Jp3mAakeTMzSpQCMk+QfKP9oHDCUArfDs3TYfGHcqJIFFQfbiwo2pXytfM8cjyBVrI49TI0wBHlhUM7y4HrFI8/6Jhe/hNAFPalDioYKoemg2r4sTTBJJayrZTLEDakLttbKQIInKqFqEuGXylAaqXiZaGBcsv4MdG80lIe/eW650y1Yn30OaiGTeJK4SiqBEub2Ihw6P/ISVHGVsUT7oavdctWntj5KngjJiendqWJx62aTiTsWUY/NasRXvTeQtYSDxRCHET7c1Y8ARVO9vWmR3+xI03Y6gX9qFiBI0rZbBBekvKToKRjCtqf2lDruMfSxxavlAjTyBABDr7brUXxbYffipF1H8CdgIBtE40ya0uExaVwWz/FubuhRtDOc/ACYFOBiFcSj0+9l86NPLTtQ2djoaEfL7vqAfiMTK1C7//BiSxEJHEoJDhqoseQ70w==; 5:r29+0jc7B18Gd6jzni75LYlPwlcWldUArtTH5ooqxJcq2QpzaP+xxHpfGkUkHXNdob6ZfwcwR4kzUa7a8HZibsugipfTHlap1uRxIXTUUiEP08fwNXISIXX89J2S53PCzD5REv+bfF6b1Hj2w8e3Xw==; 24:O8gRT9RS2vX6xi8pO/hsfg0KSWO4f70IXC7AqheqA41dHFzO/qjqWeW9oKsQmkWWt401ZzLFl89ndyi6GbOfOg+zp6kClGtWzua5UBMtQBw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2084; 7:nF9vqNBMf8QY1+JjEUlWpKeED0BDF6a3nLluQMhta7kEFEcif2tqD+JwlDoa7ASxaY6O640pM+Jm2+bDMHiHhO2QUhDW6kieUUlqoIR4Aq5HPf7LJU54+nrM2+WMM2p0uIrvP3ZbhkKD9qHRERWXLl5gQAmc3Ccr64MXFLukcMYnaR+v69vSUulASq+c77VJ/p1Sywu5lbliADcl7ACTT2Ha3XjbsTF+4gy5ls+5pJtJJWWyNdzfMuZK5zuOCNwvqs9v3nKitR6wS20nqLnHTQFeZLcSn4faI0ZZ818UsHLa6Bl/F036p57srwPC+IESTyntR0DgPqLjljubGo0i0JMhVdvtYCW0BTL9ehASzDyurh31FIf97ioM6qI6HzTa2yRXjYOr49QsbxcbNcSbgiazKg20apvahb/H4sikZ93RtTQ8HOfRasPV7ICogXvKXuGqv6WZEs1CKXjvUxU1dQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2016 20:31:06.0252 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB2084 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Quinn Tran > cat /sys/kernel/debug/qla2xxx/*/irq_cpuid qla2xxx_81 IRQ Name Vector CPUID qla2xxx (default) 150 9 qla2xxx (rsp_q) 151 9 qla2xxx (atio_q) 152 9 Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_dbg.c | 2 +- drivers/scsi/qla2xxx/qla_def.h | 1 + drivers/scsi/qla2xxx/qla_dfs.c | 52 +++++++++++++++++++++++++++++++++++++++++- drivers/scsi/qla2xxx/qla_isr.c | 14 ++++++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index 21d9fb7..b2e3167 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c @@ -59,7 +59,7 @@ * | | | 0xb13c-0xb140 | * | | | 0xb149 | * | MultiQ | 0xc010 | | - * | Misc | 0xd301 | 0xd031-0xd0ff | + * | Misc | 0xd303 | 0xd031-0xd0ff | * | | | 0xd101-0xd1fe | * | | | 0xd214-0xd2fe | * | Target Mode | 0xe080 | | diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 84f2cc3..1e3a3fa 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -3448,6 +3448,7 @@ struct qla_hw_data { struct dentry *dfs_fce; struct dentry *dfs_tgt_counters; struct dentry *dfs_fw_resource_cnt; + struct dentry *dfs_irq_cpuid; dma_addr_t fce_dma; void *fce; diff --git a/drivers/scsi/qla2xxx/qla_dfs.c b/drivers/scsi/qla2xxx/qla_dfs.c index 34272fd..08d7a05 100644 --- a/drivers/scsi/qla2xxx/qla_dfs.c +++ b/drivers/scsi/qla2xxx/qla_dfs.c @@ -13,6 +13,42 @@ static atomic_t qla2x00_dfs_root_count; static int +qla2x00_dfs_irq_cpuid_show(struct seq_file *s, void *unused) +{ + int i; + scsi_qla_host_t *vha = s->private; + struct qla_hw_data *ha = vha->hw; + struct qla_msix_entry *qentry; + + seq_printf(s, "%s\n", vha->host_str); + seq_printf(s, "%20s Vector CPUID\n", "IRQ Name"); + + for (i = 0; i < ha->msix_count; i++) { + qentry = &ha->msix_entries[i]; + if (qentry->have_irq) + seq_printf(s, "%20s %3d %d\n", + qentry->name, qentry->vector, + qentry->cpuid); + } + + return 0; +} + +static int +qla2x00_dfs_irq_cpuid_open(struct inode *inode, struct file *file) +{ + scsi_qla_host_t *vha = inode->i_private; + return single_open(file, qla2x00_dfs_irq_cpuid_show, vha); +} + +static const struct file_operations dfs_irq_cpuid_ops = { + .open = qla2x00_dfs_irq_cpuid_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +static int qla2x00_dfs_tgt_sess_show(struct seq_file *s, void *unused) { scsi_qla_host_t *vha = s->private; @@ -293,11 +329,20 @@ ha->tgt.dfs_tgt_sess = debugfs_create_file("tgt_sess", S_IRUSR, ha->dfs_dir, vha, &dfs_tgt_sess_ops); if (!ha->tgt.dfs_tgt_sess) { - ql_log(ql_log_warn, vha, 0xffff, + ql_log(ql_log_warn, vha, 0xd302, "Unable to create debugFS tgt_sess node.\n"); goto out; } + ha->dfs_irq_cpuid = debugfs_create_file("irq_cpuid", + S_IRUSR, ha->dfs_dir, vha, &dfs_irq_cpuid_ops); + if (!ha->dfs_irq_cpuid) { + ql_log(ql_log_warn, vha, 0xd303, + "Unable to create debugFS irq_cpuid node.\n"); + goto out; + } + + out: return 0; } @@ -307,6 +352,11 @@ { struct qla_hw_data *ha = vha->hw; + if (ha->dfs_irq_cpuid) { + debugfs_remove(ha->dfs_irq_cpuid); + ha->dfs_irq_cpuid = NULL; + } + if (ha->tgt.dfs_tgt_sess) { debugfs_remove(ha->tgt.dfs_tgt_sess); ha->tgt.dfs_tgt_sess = NULL; diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 98e4904..dec4b37 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -3121,6 +3121,20 @@ struct qla_init_msix_entry { msix_entries[QLA_ATIO_VECTOR].handler, 0, msix_entries[QLA_ATIO_VECTOR].name, rsp); qentry->have_irq = 1; + qentry->irq_notify.notify = qla_irq_affinity_notify; + qentry->irq_notify.release = qla_irq_affinity_release; + + /* Register for CPU affinity notification. */ + irq_set_affinity_notifier(qentry->vector, &qentry->irq_notify); + + /* Schedule work (ie. trigger a notification) to read cpu + * mask for this specific irq. + * kref_get is required because + * irq_affinity_notify() will do + * kref_put(). + */ + kref_get(&qentry->irq_notify.kref); + schedule_work(&qentry->irq_notify.work); } msix_register_fail: