From patchwork Fri May 19 21:53:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9738257 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 97F1A6034C for ; Fri, 19 May 2017 21:54:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 854D428562 for ; Fri, 19 May 2017 21:54:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7A3DD28573; Fri, 19 May 2017 21:54:19 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI 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 B5D1A28562 for ; Fri, 19 May 2017 21:54:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756837AbdESVyS (ORCPT ); Fri, 19 May 2017 17:54:18 -0400 Received: from mail-sn1nam01on0067.outbound.protection.outlook.com ([104.47.32.67]:57696 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756792AbdESVyJ (ORCPT ); Fri, 19 May 2017 17:54:09 -0400 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=srBl2RNla10lVvdvCS1aItyicCNCaX5ovDjmii3ApKg=; b=cCdiXaAvqc1lp1Rqgq6o1jfRBe03qzR1LvocyociiQesZenzCSJMKef0hLDljYlN+Ze3D4z9B+5bfTulEkudZKrrf1qRjWWFjLz1VZCwU+GN0oGUOBBqdl4X8NXSU9m9pCLHYVTFVXba/dADzfNcOxwh4DXzpsxEgFvxaYR/zfk= Received: from MWHPR07CA0020.namprd07.prod.outlook.com (10.172.94.30) by SN2PR0701MB1024.namprd07.prod.outlook.com (10.160.57.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Fri, 19 May 2017 21:54:07 +0000 Received: from BY2FFO11OLC009.protection.gbl (2a01:111:f400:7c0c::112) by MWHPR07CA0020.outlook.office365.com (2603:10b6:300:dc::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14 via Frontend Transport; Fri, 19 May 2017 21:54:07 +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 BY2FFO11OLC009.mail.protection.outlook.com (10.1.15.0) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1075.5 via Frontend Transport; Fri, 19 May 2017 21:54:06 +0000 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.347.0; Fri, 19 May 2017 14:53:52 -0700 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 v4JLrqDb002247; Fri, 19 May 2017 14:53:52 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v4JLrqbt002246; Fri, 19 May 2017 14:53:52 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 11/25] qla2xxx: Include Exchange offload/Extended Login into FW dump Date: Fri, 19 May 2017 14:53:30 -0700 Message-ID: <20170519215344.2168-12-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170519215344.2168-1-himanshu.madhani@cavium.com> References: <20170519215344.2168-1-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39840400002)(39410400002)(39850400002)(39400400002)(39450400003)(2980300002)(428002)(199003)(189002)(9170700003)(4326008)(105586002)(80596001)(47776003)(54906002)(87636003)(1076002)(478600001)(101416001)(76176999)(72206003)(33646002)(5660300001)(50986999)(305945005)(106466001)(42186005)(86362001)(6666003)(2906002)(50226002)(8936002)(38730400002)(356003)(189998001)(50466002)(81166006)(8676002)(2950100002)(48376002)(5003940100001)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR0701MB1024; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC009; 1:kAzahVaW7o4rO/pWnVyT3f0SYJodjghs5QF8Mz0X+9wtys2f/QfJWjHd1IdTa22+O9FxIO9ePOl7PeYZqjp1lniGabm7L0fdP8yjXevDGMIySlLL1kPC/wLcrPT09dZJTzED4HJegQJYcDfmzcUyFjironQ9AiLslQdZbpLKxSWkFON0J/XjCwUyuoxMo6J2m7qfV+xwCm4wwhHfzflnzq07pwUw4iJSnVz98PpJ1HRkSxfHQFJJ5aZIEECeb01Vn6BM1wGIUq6nfTB9ANb5EZ9KMPV0WKSDMYFGCOwQDGrVOYoX/6jJSvx4nzUSuusIp/7oataZrZJO2jxROHnhfzeeyyqqNyh2IE+MSlip9GqaqCIFh0V4lyi6mNgIHWec22g3JU+qrVtWDnLGsGjfc3CPdD0k2jWDSuSsG+SPcbdI1sh5bxaeQs8tdNfi5Gdg43uKruhUKSeaMCy0YTGsv+3mBjoji2iAucrkGNggQTC5QVuVfuOIPt89li2jtFtdHGbS4B0cxSalhX5MnHAH0GbGdCXyLil4pGN3NHHX7QStEBqSmDSn1G/Im42OGUS4E++i31YTR/EUzX9/xmD1PQ== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN2PR0701MB1024: X-MS-Office365-Filtering-Correlation-Id: af11d6f4-4854-45c6-07c5-08d49f019263 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:SN2PR0701MB1024; X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 3:3Y18QmdyYuewlWvyGsidGiDM36Vr9CK2OK1VP8ofnUdcUB6fZD4aN1GyKU0lwbdUekXFBNkvm0Ix7Y3a96Jiubz6t32TIleQlT/gRJZky0eRV1wZhMeMuF1SeHj+u0LnioEYI8//DBAKD/ZMVa1jf4Kk+llh99tPQNvElkiS+eRtQmr29kbKJlt84MJAFHWKSnAjSb4StRDdu0TJ1mheK5kmorjZGVdUMePCkAGMzwg7/02tDPRphG2sSl2w6A4T4C7r27EelkW24GUif3Nw6eHQFPakCDtj6lG8gbqOcBKlF8mFpJ4IFWw8PCaamxyfCQj06ogbcbLuXWp4NBXQo/PhdFd8D4Bvo/GyNlXOv5uo1P0faPMINaS5MdXdHfAQ4Bv4kAo4GVlDRGMDWFWddxCWWQdiRdKRIDQ1MajTU6P+QxdtBhdxjw77BBqYeS/jTnxhimEaPOJIIlmSp6x98w== X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 25:SqmKr7abDOrFN4dOpWB/9A9t8/HsJwJV1QdQ6tnA1wXCOKU9QNdJXv0OW2jjKDJ0q5oOhC97X5jF2jk6yzZqNo8NKq0lbfurkzRWDuOdVJKnLElWVU6ctW2ODhxXdbK+70KxPobq4u+2BgEbR8sSbZcxyMTihBcKwPxJPDZqz0LpKEb/ZogoOg70dHYP2nUl1JBsWMGMSlhphrStiouEAPuTLvam2zggv74Z+JsehuFVp9NDo1LapPnZ6JaMt0IavCq//elZGU2SusnsAmin/N6vR8XxWWN/b+aKNKO365DDtc9mUgSMqordK2bxOy7m48HA7VYHBXaUHehcPU1C22u/QEptrevAhdsClZZ+5v13M3Fpp40EsG2LM1715AM2s7A4g7cNewQ63L5D2cqbl2V/rL71USoCnrbgHjupPA5y9fpfgYkoiXPNIAvXPDk3LvYBsLaLmeMyoRe571l2w2FjfE26lz4qztEqKEvA/9Y=; 31:WOCOhNlCiZgOKcw7hywSsF7+R1H2LPvIRZ8oVVyFeFvDk0RXKhUmrBoP76DlEbxEf6vgUMljyITCc1/2gnjmSee2hXqz1y6MakxTbprVn/ZNg1j6C/C/fgHzIwB+LxbfJ435UfXOffikzSQWCKHv7eWxbCAglUN0JT4tjvcxoHPQG/yO5FPaXaXrapSPeQBmm/TfGCBIu/7Zne2JsWtUcyov2FJbpaCCaXTP1tiMa1hoytFhDOdmwBxynErAmaxG X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 20:0XIudbj/2Dey0i1QOtWY42UWv0Bw0lrhC+1zZyEqiq1o7Z1oay6ad17uM/dxrIrhWtcdTHr4MxwCGvnoJVfgIP+0sjP4dzV/Kswc9HQid93V5wwd3IEk8zuspFT2riL800iyKD2yYTzUsHsG2kd7DDsWRNUYUddHxo+WYlZ6WbssZP3hTVY/EX8ifdxelFgKHNYdYv6ip3OmdLq5kvAHbb2/fjRZjX4UXuhhVzjUZnEKVqetGkqulildMok+fJS9URycHW6fTEkh+UWydQPfmNQBw/E0ob81oZGPsNfEf8jO0rycF4PbAHTJCptGidfC2pg9oOYhiy6DRsTzYQESDvvtQSdUIWtN0Z1oBuzfnGbdygpWRKaaYKJc6KKCRUWmZyXRKjWQe62IIo3hn+UaTpYyTE2CgwUYF3o58k0Sg7J3VxDiSP+LQ4MMgEAb5wjz031eKI8FoW+C6tQKz5DasKicwh+uVqg6YRdX8tCmyXrE3nMQybGRdn7b9z3Q3lw5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(13015025)(13017025)(13018025)(13024025)(13023025)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:SN2PR0701MB1024; BCL:0; PCL:0; RULEID:; SRVR:SN2PR0701MB1024; X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 4:tuGpycPKCzRDLTxbOsGsyTOv3jix7RiQmBcl8dAbS3qb5SDzDUSyqRohtUmT+f2nlz2gNV0stfG7TlSzWh8H1VhD95JKWbTYSoecdgJeXU90r82fFBe19UglfO2EF1Uhc/FgGbkDrd4fRX9jAEPy0HlBoVka6M1C5X61mNgvAoYaucnPuT36e9QGiP9GzAcEZNGwR+/ZI7OZBONTJ7aSbe+FPupLLJkjn4/MaMhmGaiABB5iL2D6yzBs4J1a/K3s38jIjXm8oe7BrMKrhkXFNmtPi92fqPpD/wNvISEZs2KHnx7tsJ5J8LINjbxRyBeTKOUWGzvvDDE3nkcCI5AD7SUDofpsnhQWSqky1+Z4l3kRzMcqNW+Pbq5/QpQ+8o+TuERxfa/w/07aowNn8M7aWWkkEk+aWQj1PJGNX/xMjvFaCelcIcmjNu8QfUy6V+PeABttVsEDQyNxpzpGx9sjsJOdLgPiEbSsp0aPrMxijGBonKjevhFS2mSETyUa95786xEp1it297owDWUJk5pGDCVxTbImw7ZOwOhxYPT9mi0H4WmwdHaXLA3p1JGAEuNyLJGochwyDKbMkVFO2WWW/879idDxpRL1guJctZBOOqOY/F2QZNfipIEJ+2Wj2MkgNkK3dzLT4jb9mxL2emH+olr+l54HuPAmyIY9czy/NGvN/nB/J2VGg+TMmXM9kX4mmEMxEcFbpx5LgZDxvMwYiedGfwGf1JoaCMD5GDSkSoyFmkjIf1k/Hy5P71KMfki9VACgI0eEE5I4XPa/kV6BhLGrON45bdTO5XLMwkV4ZNWBcM0KUm5Hzdber40TO9W7B64FQGmD3IcU5YM1w62yUwTRJFYpfuMFdMzCF9LZEBW4PnAQydCRRWzBhueTZMT5gLPzOSiAiUwKerzOjSsDmKktdDlQEhwngSCtB4xH Aoc= X-Forefront-PRVS: 031257FE13 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR0701MB1024; 23:UVC3SlFIghIFN9E9YsquboOw2GRCESClC4PsTgU?= =?us-ascii?Q?Z1GqM6YelBRlsbTFqcgPtH/6SuxL+O4bt1pv6XUh7AbttVcQII16koIg67fz?= =?us-ascii?Q?iI3Lm8efdTEDPk7amHbRUjE/J1bpF3oqac5FMY3dABj+dL5l8F8rHBeEEyH9?= =?us-ascii?Q?pEGTxAJMpU+wRLMgxnaDyXaFVTa/A9L2kwp+SeX8Vs6AkchuZn2pVDsDDEns?= =?us-ascii?Q?CjJicI6H0lqr0371cMtJ/qKyWpq2o2A4SQVaxFo4VsSOKu6KZkzav0J8Kq2H?= =?us-ascii?Q?QIKnzzrQ7URvg2uCQ4ZfwQb5B0p3fT9SnZAzt8Rp1VJEe4XgSgC4ttuUtURT?= =?us-ascii?Q?OTq49dx9DfP9e/kI4sblbL5MVUN1If7xZbXq9MQ1j1Mbg0zbL3AGJ6EUnah0?= =?us-ascii?Q?Q9/HQ21x0du2unwobeZ9ppLtqe+YPg4LcNsSZnOP5JRwQQidd5pGCGhInsm7?= =?us-ascii?Q?/fJkQIofnd88lDOIhFlOBKeSOohUMQZcdpysxFjFj0mvScwlvLE+7+hJzWmE?= =?us-ascii?Q?LoEjRElKytA7ShpzDtEFh6RPmA03LHthdjdxu9TKcEoIjrh4D+JJSkQgNPYU?= =?us-ascii?Q?htQHP4l93mnK3tR/1MSSGbZbb9Ip35v3YuU/xnA18YRdewH0bE3wDCbGBpyb?= =?us-ascii?Q?baYscAh6QWCbVEhpjl4UihKc5pf5D2u4ICpzsjdqJx4zN3ncAZmfJktue30A?= =?us-ascii?Q?yZrCzFWyXTaSjEZWzC/WVvw85p5WLGaXkRRciAdt9D4ug1+o75MVog8LGvTN?= =?us-ascii?Q?4PeiKeTD3xeG074B6oAveeC/1+yX/m16zwVAJKY+PAQVDHvSCmkHDMD+XCy/?= =?us-ascii?Q?5VwpGb6DgqHko1EazvXn2EtYO1c0cTyOMwG+1EBmvH72Y2D1ot5E8UQD396u?= =?us-ascii?Q?UTBhdG6eZPNGH+5WZe4enQcpmQQUzBiq1T4esYUyJ4U9IpVPz4v3v0xn43kw?= =?us-ascii?Q?abSR9IxExhmDPMDuaRao5VHO+b20hmCVij/s5jzlZNF5vwYXhkmhc5sjqvDH?= =?us-ascii?Q?k9LRSYclbc6TOcsBjzvtAjKgEtMZulDZ7bE2eJaNoPMALRb/eGv6q1j3xorO?= =?us-ascii?Q?06aM/LsVSNAcLv5Tsco+2gWmNoUXL?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 6:HAPGnmocqibYaktDwVRvPwwGr4izyUtY/DPAnneTlaxIArGqAhWT9KZJ9qLi71vxFHB7uvUCrI/a5XuUdSC1yyhL6g4gGSaZmHNnw7fM9X/yBtWgUHDHbYZrrvUFqYFYazvr+RNzzdpiMDCxwth2mE6h+IKJQLmwghoZS4+boSz1iC95BkBqrUaPuimFlxASQ2NmOjy08+IcU25sQqATGTLKF08Lg54SX0D33DGL5O9X/W07+WyqJLQCULM0+7hLhuRVHeKTfGrg+ZgMD8+89tUrTkhFu6GkAWg7ScAlxHFcHIcV27SZhCNWcb0BU7ZWT35ys06PZhuHH9s/kw0jmKJOJM3sZeggYy0twpIqsK9NKe9zgbjTCGySJ/caO91eVqLz+aLwcNeeFEns++w8CwoR5B6wbqD++PmOhqagqIJmkouJUphUP0OpXiJQ+FE/pvQz93vpiKznERg2tSL2mj/KPi+5A5niquxHwYDgF6iQkinZZcveZgho8AUwaBsSnhLC48M7+MgTAWpsnKt48A==; 5:tdrfsJrSy1KqBMMr/ntqkUO/Sg7T6z1ZlvWM2s/uRN9tnUFw+eOzLa3Ts5WFazjzTqEZ45y2NkCHkq0y2MEyb7sfTb53Ch53i3NSJGc62L1GUBsV8R2UCvnKL7+XVsBzPrxOJBAERVewqD9Yli/iGA==; 24:YQEhc7l67AqcXyzy9uuZzwSZqIJmh1U59/9jyz34TY4lzwCnbB53Fjb8JwDcFY4yi5TYHne5Bk/ymaEsyNk7lg43gS2vCjpOnmBX1ZLEbjI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1024; 7:EE96Qz5KZ+iuQJyGxRHdZKNU6yEe1dpEVDb79Qo1YMkAyGLHhP+rETF+gC1w6zuuKE0/ei2B+V1F4BMOLESPjqqU6l2m98TLUfnnzSy1YdwzwZOLcJBlyndIQxs/YFJ5ogljsmf34iXhAKYGoY7AQlIlWwGhJztUhwqPfFZRq4cVgK0S0YjKkq4PWvbq6Yn3wbPWZsQKPGMRavdKFFsg4HSlng5zrrMjicK5cbWzpjo5+iTjAozNHM8ki0lvxc0ES0MVq/a3xWWQ7AaYjoWyKiQltseC0x0x6r+3Rch3bbylBenM5Mx6Xbv6xWOchi0EdEP6KFeHhIBum3+XvbeljQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2017 21:54:06.3801 (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: SN2PR0701MB1024 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 Add missing memory dump of Exchange Offload and Extended login into FW dump. Cc: Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_dbg.c | 52 +++++++++++++++++++++++++++++++++++++++++ drivers/scsi/qla2xxx/qla_dbg.h | 12 ++++++++++ drivers/scsi/qla2xxx/qla_init.c | 7 ++++++ drivers/scsi/qla2xxx/qla_os.c | 3 --- 4 files changed, 71 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index 88748a6ab73f..ba8cd7c4e3a6 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c @@ -498,6 +498,53 @@ qla25xx_copy_fce(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain) } static inline void * +qla25xx_copy_exlogin(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain) +{ + struct qla2xxx_offld_chain *c = ptr; + + if (!ha->exlogin_buf) + return ptr; + + *last_chain = &c->type; + + c->type = htonl(DUMP_CHAIN_EXLOGIN); + c->chain_size = htonl(sizeof(struct qla2xxx_offld_chain) + + ha->exlogin_size); + c->size = htonl(ha->exlogin_size); + c->addr_l = htonl(LSD(ha->exlogin_buf_dma)); + c->addr_h = htonl(MSD(ha->exlogin_buf_dma)); + + ptr += sizeof(struct qla2xxx_offld_chain); + memcpy(ptr, ha->exlogin_buf, ha->exlogin_size); + + return (char *)ptr + ntohl(c->size); +} + +static inline void * +qla81xx_copy_exchoffld(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain) +{ + struct qla2xxx_offld_chain *c = ptr; + + if (!ha->exchoffld_buf) + return ptr; + + *last_chain = &c->type; + + c->type = htonl(DUMP_CHAIN_EXCHG); + c->chain_size = htonl(sizeof(struct qla2xxx_offld_chain) + + ha->exchoffld_size); + c->size = htonl(ha->exchoffld_size); + c->addr_l = htonl(LSD(ha->exchoffld_buf_dma)); + c->addr_h = htonl(MSD(ha->exchoffld_buf_dma)); + + ptr += sizeof(struct qla2xxx_offld_chain); + memcpy(ptr, ha->exchoffld_buf, ha->exchoffld_size); + + return (char *)ptr + ntohl(c->size); +} + + +static inline void * qla2xxx_copy_atioqueues(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain) { @@ -1606,6 +1653,7 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain); nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain); nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain); + nxt_chain = qla25xx_copy_exlogin(ha, nxt_chain, &last_chain); if (last_chain) { ha->fw_dump->version |= htonl(DUMP_CHAIN_VARIANT); *last_chain |= htonl(DUMP_CHAIN_LAST); @@ -1932,6 +1980,8 @@ qla81xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain); nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain); nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain); + nxt_chain = qla25xx_copy_exlogin(ha, nxt_chain, &last_chain); + nxt_chain = qla81xx_copy_exchoffld(ha, nxt_chain, &last_chain); if (last_chain) { ha->fw_dump->version |= htonl(DUMP_CHAIN_VARIANT); *last_chain |= htonl(DUMP_CHAIN_LAST); @@ -2443,6 +2493,8 @@ qla83xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain = qla25xx_copy_fce(ha, nxt_chain, &last_chain); nxt_chain = qla25xx_copy_mqueues(ha, nxt_chain, &last_chain); nxt_chain = qla2xxx_copy_atioqueues(ha, nxt_chain, &last_chain); + nxt_chain = qla25xx_copy_exlogin(ha, nxt_chain, &last_chain); + nxt_chain = qla81xx_copy_exchoffld(ha, nxt_chain, &last_chain); if (last_chain) { ha->fw_dump->version |= htonl(DUMP_CHAIN_VARIANT); *last_chain |= htonl(DUMP_CHAIN_LAST); diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h index c6bffe929fe7..c4b1bb76cf48 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.h +++ b/drivers/scsi/qla2xxx/qla_dbg.h @@ -232,6 +232,16 @@ struct qla2xxx_fce_chain { uint32_t eregs[8]; }; +/* used by exchange off load and extended login offload */ +struct qla2xxx_offld_chain { + uint32_t type; + uint32_t chain_size; + + uint32_t size; + uint32_t addr_l; + uint32_t addr_h; +}; + struct qla2xxx_mq_chain { uint32_t type; uint32_t chain_size; @@ -258,6 +268,8 @@ struct qla2xxx_mqueue_chain { #define DUMP_CHAIN_FCE 0x7FFFFAF0 #define DUMP_CHAIN_MQ 0x7FFFFAF1 #define DUMP_CHAIN_QUEUE 0x7FFFFAF2 +#define DUMP_CHAIN_EXLOGIN 0x7FFFFAF3 +#define DUMP_CHAIN_EXCHG 0x7FFFFAF4 #define DUMP_CHAIN_LAST 0x80000000 struct qla2xxx_fw_dump { diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index eaaf73fd23d9..2d36844a040c 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -2524,6 +2524,13 @@ qla2x00_alloc_fw_dump(scsi_qla_host_t *vha) ha->chain_offset = dump_size; dump_size += mq_size + fce_size; + if (ha->exchoffld_buf) + dump_size += sizeof(struct qla2xxx_offld_chain) + + ha->exchoffld_size; + if (ha->exlogin_buf) + dump_size += sizeof(struct qla2xxx_offld_chain) + + ha->exlogin_size; + allocate: ha->fw_dump = vmalloc(dump_size); if (!ha->fw_dump) { diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index c8282a1ab6dc..e437122bd534 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -4048,9 +4048,6 @@ qla2x00_set_exchoffld_buffer(scsi_qla_host_t *vha) if (!ql2xexchoffld) return QLA_SUCCESS; - ql_log(ql_log_info, vha, 0xd014, - "Exchange offload count: %d.\n", ql2xexlogins); - max_cnt = 0; rval = qla_get_exchoffld_status(vha, &size, &max_cnt); if (rval != QLA_SUCCESS) {