From patchwork Sat Jan 20 01:01:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghava Aditya Renukunta X-Patchwork-Id: 10176183 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 54B7C60580 for ; Sat, 20 Jan 2018 01:02:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4713B28773 for ; Sat, 20 Jan 2018 01:02:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 39DE1287A6; Sat, 20 Jan 2018 01:02:13 +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 C72A828779 for ; Sat, 20 Jan 2018 01:02:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756027AbeATBCL (ORCPT ); Fri, 19 Jan 2018 20:02:11 -0500 Received: from mail-bn3nam01on0055.outbound.protection.outlook.com ([104.47.33.55]:25824 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754766AbeATBCG (ORCPT ); Fri, 19 Jan 2018 20:02:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mscc365.onmicrosoft.com; s=selector1-microsemi-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=O8rSoyhd1CvM3U6lH3vnYxTXqwzw7j1Cyk/Pw8FrrYY=; b=QO9TWZADVeDfclWloK2PJUsj0h8mRBQcbr4EqzyH4NVPo4nQTSbZl7Fdt/veV7dRzddhd/Ig0ESHfzBN9bVJN83wrkLvUXJc/9dB/HJX/rQo432CT+zE2lIeha8LIKr4HksgRQeWCKE0ehGf3HxFy03ZTg8X/MdHyhdZBa+9Kr4= Received: from MWHPR0201CA0052.namprd02.prod.outlook.com (10.167.160.29) by CY1PR0201MB1835.namprd02.prod.outlook.com (10.163.55.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Sat, 20 Jan 2018 01:02:03 +0000 Received: from BN1AFFO11FD038.protection.gbl (2a01:111:f400:7c10::126) by MWHPR0201CA0052.outlook.office365.com (2603:10b6:301:73::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.428.17 via Frontend Transport; Sat, 20 Jan 2018 01:02:03 +0000 Authentication-Results: spf=pass (sender IP is 208.19.100.21) smtp.mailfrom=microsemi.com; wdc.com; dkim=none (message not signed) header.d=none;wdc.com; dmarc=bestguesspass action=none header.from=microsemi.com; Received-SPF: Pass (protection.outlook.com: domain of microsemi.com designates 208.19.100.21 as permitted sender) receiver=protection.outlook.com; client-ip=208.19.100.21; helo=avsrvexchhts1.microsemi.net; Received: from avsrvexchhts1.microsemi.net (208.19.100.21) by BN1AFFO11FD038.mail.protection.outlook.com (10.58.52.242) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.428.12 via Frontend Transport; Sat, 20 Jan 2018 01:02:02 +0000 Received: from localhost (10.181.72.13) by avsrvexchhts1.microsemi.net (10.100.34.105) with Microsoft SMTP Server id 14.3.361.1; Fri, 19 Jan 2018 17:01:58 -0800 From: Raghava Aditya Renukunta To: , , CC: , , , "Guilherme G . Piccoli" , Bart Van Assche Subject: [PATCH 2/3] scsi: aacraid: Preserve MSIX mode in the OMR register Date: Fri, 19 Jan 2018 17:01:56 -0800 Message-ID: <20180120010157.22674-3-RaghavaAditya.Renukunta@microsemi.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20180120010157.22674-1-RaghavaAditya.Renukunta@microsemi.com> References: <20180120010157.22674-1-RaghavaAditya.Renukunta@microsemi.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:208.19.100.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(376002)(346002)(39860400002)(39380400002)(2980300002)(438002)(189003)(199004)(478600001)(72206003)(26005)(1076002)(48376002)(50466002)(68736007)(4326008)(76176011)(51416003)(5660300001)(2950100002)(77096007)(2906002)(356003)(97736004)(36756003)(336011)(305945005)(57986006)(53936002)(76506005)(86362001)(2201001)(8936002)(16586007)(110136005)(54906003)(47776003)(8676002)(106466001)(316002)(81156014)(106002)(81166006)(50226002)(104016004)(69596002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0201MB1835; H:avsrvexchhts1.microsemi.net; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD038; 1:WEKRpwD/FvC8+3kuHccZlvW1CgHg3lmuPridctM3Kpo1CAKrVDevyrmM5TRUeQ3JzXDcpDzYteVD4LHyRXo9eIb6GL2L/mbsxTRSp0/VecsR9Y6dIsW9GxkHAzgm+ugL X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d1fa9e22-956a-439f-d49d-08d55fa16b0a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:CY1PR0201MB1835; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1835; 3:bbRSMQPEJJ+lke4UVcwEfID0U3zA9B7JsMedHx6ZGUX1px/I4d7rjhoGtsOBgM/cXIz8A79fvhvXYUx/Eb1QgsCGGs2WeaLPljJOf5zg9EU2FNDVbEEbIcKyplRtC1MTDZFGG2l4jhhiXOTQbxZ+PHf6kCJfIEg598lXDSYrN2/uYNGEU6S0mJF4l5pNB3v0t4aEJDf8f4sIp5b2caVIOpVGx/Kl7XlZRcHY+tXlxgtcjgSj/2y9RSxe2neGC3zgHUmZBbhLlgUjPD4R93tLAhczLV8yWJ/TFbXdu41K5IWXzbn4qN85nVQ7fF6MaymIODWqwUbHrbfT096WIYFu98Mw41xOPhXk9nl+HFqG/oE=; 25:7E0ujFWFt8/WPF3cT5hHws3rVTRQ8uh9ssvcOi3Ce33GLE5PvTTqYy7hMO5MF2JFk1mIsoIDsUNfLwhzVazwhMGpxiGN1uObtI2jG5XZ90mZQZDmzDY2gO+WrKks8I6vE0HWAVfzhdfNEbSOra78IQ7qVCXfaQtcRi3MoE9M5urwTKhW6olWokWZVH5k+eBI7+md1qRl4KictZDqUuzp7dMEb68/B4BvkGZmjk7Yblh8pFuQDvQUwAX6SCXiBZ5nJM/5q7ke7OPF0Iw5nmqZWZvfYuJombY6w38NLwvF1AjM6h48S48XMvwpPNQeGuxGOVFYvEIlqg9vAIBJgTcdRg== X-MS-TrafficTypeDiagnostic: CY1PR0201MB1835: X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1835; 31:LFqbLvPrxmuaEpqwLbxWpIMnG72T1eoVXz6Ue9Ybhq5ZyDJMy7vNtuEeh3IuBbeD/5UWZM/tVVknuzSk09e+tX4088h1IUcVlRrexjz83W3YG9oBN7aAqMTTl+Ym+SBhcASAPP2mTqZm2jlRFuZezJSP+81PYTLurHw8PKt28PWQPq10aJfd9joonUNAGkpC54mw5kPdf2a1sEhcUbj2eQ5NpWdO7LebV3puFq0ZUpM=; 20:Z3fZ+Xlq/EH/pYjnN/zI7/BwO+wmQ9y4sJaByBiU9Xmgx8NIovySgcczj+sPuQlLuC9+kDNbcIcdmM3vQUHR7r4GlC8jcC6Ed2uTCKGBVof+jBsghAbLjDUeiYrFdxJYqavHpPbYwDYbFmgzyZfqqttDlOvj/jLak7rMBPfyob8K0MORBSA1t2+wktDkgX8BJFtPahOBf/N//BwWXbf6SCJAtFwCXgNH6idSDGLizegEfjutQDRQ1i4Kr1MQqsp9Tw1a0BX8m7HpXHWJo1xqdIN2pqCb4AS4v6gaZq3oIgPchwXzOeJyGTrwArMdaTaSjHBLu4QfAH2X1jNNyUlTX8kt+Oa6Vi5WZxam89DdyRrrTJaEMVOFKtNa+zvffU24L7I19dRxfy4rF8833MjmRc9u1zEGJKwi/lHqlzyOl7m35MnvlH1gsHQBCIj5Sam5bReTQDPmMGoCmoVYQG1WvVzZ8UNi4c3xOwPIltXyBtXorWAmgo+7p9zqFbQVxBNuQDwhgdouBJtwqpfTEUzahO52qTzVi4ipaQZEuEegLFHopJkk6TOVQOIxBHAwdyVHukSn4kVpFNwjbZJoK3qWtgX/PCtKmzLC9KLm5Dr71qY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72170198267865); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040498)(2401047)(5005006)(8121501046)(10201501046)(3231023)(2400081)(944501161)(93006095)(93004095)(3002001)(6055026)(6041285)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:CY1PR0201MB1835; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY1PR0201MB1835; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1835; 4:QXXl58u4fflOdtDn1ze0qZ/qPyOI9eVYK5dAviQDoam8wmtZ3j+kkGw8mQboYGYD0xzQj1j6QK5EYv+T1KMkgXNqvrV/wTzq+MXz6a1YVnGRca68Kcg+2gkkg4lDomugz+Epugnn5lizzFulaZ5IbcbtFMAKgSYnVRbZzmwJTS5WNz5+LUM7Mp2/gk/vVdzaRy/sLVXaCRb6T/RpqbeQmDCOwxXSLhJOyhdD0DupNd51kUV40s9aLxosrqgDZYOh8jFLLLvbOd3r6B3W4tQzjcLZEC3mj6JwXnlqdrb2l/KE6vlEplLQrilCItPAPO2n X-Forefront-PRVS: 0558D3C5AC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0201MB1835; 23:m26BAFbYjktI1nh7yeAFu25gQ0XIqlO3YG8Dw53?= =?us-ascii?Q?ce5Hsb49vs/KkoRVgLW9CJl8Q67DEx60hwy3vknA4Z3o4WewgC5PxsCmuRO1?= =?us-ascii?Q?SjqN/u5Qxn3OSUc+Yb702e4bDeI0nhic9kJauqKViYKw92sb3AZ8PIlt5/dN?= =?us-ascii?Q?xCwPEsGX0mVYL0nNxFGE4kRStp84iuYovQETIIekr5qlh/D6s05i7OZ7s6ro?= =?us-ascii?Q?X8z1bstXhff7HzzgLUJdYinIgzwXXnyN54L3MvUEydlk/ogjWFcXUB6rYaHi?= =?us-ascii?Q?8Op/TbbthWA2A81nA4YHbIADtQ7mFRqdzVHvC5JDhf9xDdwChYJQ+/7OneZy?= =?us-ascii?Q?94YkeFiMherRosG+l4s7D8igzzOygj89tGKno9yxypYvQnGpkeLk4VQWPx6V?= =?us-ascii?Q?LB+MZLlhyllitGPyuZ7gQJFaIHabkAMlOOXsP8z7QL329I/KUoMs4tAW4rGK?= =?us-ascii?Q?eNDeADsSae6uhnQXmedai/XKgJuuxaUgRqDQYtWofgOVcBHXuYeaZ3J5boSK?= =?us-ascii?Q?igsOEEqO25pCczYRYj2EIskwVHi3y6AxPC/WXzpVOZms88FNNxqzAGZtljiQ?= =?us-ascii?Q?A/iFZ0em+7AbjunatofUYmyjgQ01KDbAJsWD690/EYSvRG1rcNMiD+mr7+v/?= =?us-ascii?Q?MVGuRyOXiQ5nF+B6l1H/iExKJ0c+y9oV72yb/s2T4aKg4Ra41Ct5Az0Be3V7?= =?us-ascii?Q?ypkmIyVhmb1Bv++WU5z4cDqJ8Y/2WYYxsryM4lIMcSyFB8YJsOKskIGu7VaV?= =?us-ascii?Q?LSgO2SzyPNBGaw1AxhnasIJfBoOgGmLNs9t5TIzCn6G6UnSsBNhQTUKh74zd?= =?us-ascii?Q?nGPualGNCKiyMA5GZ2TU85ZQ3Gw0U3Z7aAfhBvyWasMkGTb6ip+vKwuCHX19?= =?us-ascii?Q?RwcTfdOBHqjisA29ZgItT2thmC4r4gJl1BHxOLdOqqoUEi99V/fCCueQA3ut?= =?us-ascii?Q?HxNmgR8vrzqTIz3QL/P/WWTb1Um2ITBT5OU36xzAL3Tf6vfo1yWchAENykA0?= =?us-ascii?Q?S0SY+zImhh3UbKHG/jKZYaPo9QppWVUu/aRe7P84tZatTNwKPaaCd1w8+yMx?= =?us-ascii?Q?pe3X5lxBFMQviusSGNP2/+Ao9UMwCVaVcHNUjQMg2VgfWavIsTA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1835; 6:t7L15j+jKs144VWMvy6R0wNkY6fq3eD9ie8oUlvhcBoqL4MgI9pEewDGiBJ/eWNe7mnfr+dtgMRQGpAxpcq57yt3874ojFvqapXdxoYyEqq+95d/FIy0LteQ17xgW7zMVGXh9wVPHHQB1IyTGX1rMdyIsrGa9Ip/u61ST+qIledfhcDLugHvetYqIXjfyxPD4Pp7JXqj+EGjNWhn5RsDXlsxVOf/dGH5WbZ6GR+cxeMqFRye5rInlFdfhlcWnVehxIOtFbm/hGRqKwgigIDZsH1DK2c5Uas6rNvde0gIeWx0OGrp8VwoBp7vJiuwCkrB1k5Rx9VimSWdkgUQuwSThFKdlq9ugG50QHco+HsmRWU=; 5:t1vEv68MIGwUdP6PpLZ8+D8lEWALVnZfv8AjxYdYqJJJobTW92bBmUsgAmb74y/T3z6x38pu1lT1kkRfGT+ptdqSzRMpBBVXnYns3Zvmq0HU5dORLVgSRi22db9DVBw2cBQsKS2/OdGBmysQkc/pORPgH+yGSITyUsNJdYxKFII=; 24:LgZ+NuVXyYDvvO96KXrGp8Zw0DUuPhoJUkCu1pfOeUKfrcFhXzblUWVU3kLZSpEjck9jGMbJifsjYbnKUzKZ8IjKMikUMhXR718a+tA4xoQ=; 7:Fl4wJr7zNgC8KNs+IO4KcLcLY1eSD1N9msZgxdFk8CDejwIYXRuz2dgdwQzXpwXU6tVLnbvqx+IzzDZyjY3zAGO9nGIyNYrnL0pn2utBjpGoKDnvvSgboSWvd+iySTs7k1KCEuR8kAgN7lKdEPnjbK12Wjk+K0iTvHRwRuPneR9hp/8lO+U67t+4abwXZIeMW2bgDHZ6Qpe9se6VGf164qXfhfAFgBHp/xQ9H5cUsIcUTkhhYlYkUDNQXCSFoqk5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: microsemi.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2018 01:02:02.9138 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d1fa9e22-956a-439f-d49d-08d55fa16b0a X-MS-Exchange-CrossTenant-Id: f267a5c8-86d8-4cc9-af71-1fd2c67c8fad X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f267a5c8-86d8-4cc9-af71-1fd2c67c8fad; Ip=[208.19.100.21]; Helo=[avsrvexchhts1.microsemi.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1835 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 Preserve the current MSIX mode value in the OMR before rewriting the OMR to initiate the IOP or Soft Reset. Signed-off-by: Prasad B Munirathnam Signed-off-by: Raghava Aditya Renukunta Reviewed-by: Dave Carroll --- drivers/scsi/aacraid/src.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c index df98f37..b05c3cf 100644 --- a/drivers/scsi/aacraid/src.c +++ b/drivers/scsi/aacraid/src.c @@ -680,6 +680,25 @@ void aac_set_intx_mode(struct aac_dev *dev) } } +static void aac_clear_omr(struct aac_dev *dev) +{ + u32 omr_value = 0; + + omr_value = src_readl(dev, MUnit.OMR); + + /* + * Check for PCI Errors or Kernel Panic + */ + if ((omr_value == INVALID_OMR) || (omr_value & KERNEL_PANIC)) + omr_value = 0; + + /* + * Preserve MSIX Value if any + */ + src_writel(dev, MUnit.OMR, omr_value & AAC_INT_MODE_MSIX); + src_readl(dev, MUnit.OMR); +} + static void aac_dump_fw_fib_iop_reset(struct aac_dev *dev) { __le32 supported_options3; @@ -740,6 +759,8 @@ static void aac_send_iop_reset(struct aac_dev *dev) aac_set_intx_mode(dev); + aac_clear_omr(dev); + src_writel(dev, MUnit.IDR, IOP_SRC_RESET_MASK); msleep(5000); @@ -749,6 +770,7 @@ static void aac_send_hardware_soft_reset(struct aac_dev *dev) { u_int32_t val; + aac_clear_omr(dev); val = readl(((char *)(dev->base) + IBW_SWR_OFFSET)); val |= 0x01; writel(val, ((char *)(dev->base) + IBW_SWR_OFFSET));