From patchwork Fri Jan 20 06:59:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tang yuantian X-Patchwork-Id: 9527565 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 98B7760113 for ; Fri, 20 Jan 2017 07:13:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8836C285CD for ; Fri, 20 Jan 2017 07:13:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7A3082860A; Fri, 20 Jan 2017 07:13:41 +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=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00 autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 049B9285CD for ; Fri, 20 Jan 2017 07:13:41 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cUTOE-0007cm-TM; Fri, 20 Jan 2017 07:13:38 +0000 Received: from mail-co1nam03on0087.outbound.protection.outlook.com ([104.47.40.87] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cUTNy-0007A3-82 for linux-arm-kernel@lists.infradead.org; Fri, 20 Jan 2017 07:13:25 +0000 Received: from BN3PR0301CA0005.namprd03.prod.outlook.com (10.160.180.143) by BN1PR0301MB0740.namprd03.prod.outlook.com (10.160.78.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Fri, 20 Jan 2017 07:13:00 +0000 Received: from BN1BFFO11FD039.protection.gbl (2a01:111:f400:7c10::1:123) by BN3PR0301CA0005.outlook.office365.com (2a01:111:e400:4000::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via Frontend Transport; Fri, 20 Jan 2017 07:13:00 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD039.mail.protection.outlook.com (10.58.144.102) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Fri, 20 Jan 2017 07:12:54 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0K7Cjtw019439; Fri, 20 Jan 2017 00:12:51 -0700 From: To: Subject: [PATCH 2/3 v2] ahci: qoriq: report error when ecc register address is missing in dts Date: Fri, 20 Jan 2017 14:59:35 +0800 Message-ID: <1484895576-40379-2-git-send-email-yuantian.tang@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1484895576-40379-1-git-send-email-yuantian.tang@nxp.com> References: <1484895576-40379-1-git-send-email-yuantian.tang@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131293699802260220; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39860400002)(39840400002)(39850400002)(39450400003)(39400400002)(39380400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(6916009)(6666003)(92566002)(626004)(5003940100001)(50986999)(110136003)(36756003)(2950100002)(50466002)(2906002)(47776003)(4326007)(76176999)(48376002)(85426001)(54906002)(105606002)(305945005)(8676002)(189998001)(50226002)(8936002)(33646002)(81156014)(5660300001)(7416002)(356003)(97736004)(81166006)(77096006)(2351001)(86362001)(86152003)(104016004)(68736007)(106466001)(53936002)(38730400001)(8656002)(2876002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0740; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD039; 1:FNGOTQvnEQPwbB9xjrtbugTP49faj44Asexo94KCFk2TI9UUdnNARL4AL6/0FxPkoySVfQ3fLy6wzn0hfamuSKpeyZEwFrmtzj0Ja5nXTbFpIPsYWvcLuyKB/QnJotneMd6mmX2oIII6Y0Jvg25qKvsq1KvKrMcgPzQCJ8PMH3zXGD7QWE4wNPMmEDb6BU7f2YFxHuU2430qblq3APXIf4A6TyONrVWB2By0Ed1dagY8vAkBYDylUE42n5TMF0iH7SRacQI7pootBCVqSt4+tbLXjRVB9VQ/SYG4+4FVvI6W3vnKM0YmZR7YCApi+H+4XMrj6AcC4geacsNeu3nJs580lz2uq+ps/ngIsFgS63sn9vM0Qzi9j+ei75mu81O5uomDuJ/eLuXXyzgV3ourX8/s3+QQ8XixQjkd8m621icEm4wdG3Dxsrjtt7VzK2Aaai9lmwxSIMA26e0V8djwFmDJaM4c/1D5bqV156xiWAzaYERCHs+kONzhW5DU2pINXbOyLv6Mwx3H3hqfPw8NUk9RThn1drM0Bqa/2t25cwrIERuHDIyjAYLWVepJMvSaPArcYzBSWSGF5TaJ2fkIhxNdeahPqkTQ6AgqSW4IHII/ijYBCXAXcHLXi2ENb1Z5QqUebA21gVphQ8rbBgOZbQ/4z0khrw4rInZa3VKapU7PZabeK5vGoAxj89udRCYCxuEPPVoAWvnhHA7TJaVprSMg8heXAJzRFC9ozRTmiic= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 0e03e98b-3fdd-4ed5-8194-08d44103c46a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN1PR0301MB0740; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0740; 3:30aI3lIbFl5OMKRbTXeLpWndw+GH/i99KDYaxMDToaYhrDu0uGV5XymrHJiwk1ZT3Sr/avQ38LslfJC9BKqMVhQtSAT267lJ0F0oCPX8+NQcueLaoaqcQzGWj8hdJyqDzOlIJ4fIqRDL9keI2Zk7EbByur7rZboaB2eeD8225NoU1C7tOuDgp9TEKQYVj7CQtF17mJ5Xoun1nxMz9WtPz/SYtv2oAodGNjE8sRMWDIjVOOp+Dsx03gY0AlGUeLBzteUYFac2KSiO5rH8AuRR2YxUZyA7IBwg35Uz4S8iX7EvooStMY6GeVSASU/XqA5vG0Cv4rqcHX97Mr9Bt3Bq2ITW1coqDgIssDo1AM93N1guxETARYJwPq/fXNO9wyof; 25:LCaLa22qGl6NiwggX4SBjl5Np5hi8OtUbGozqAZ7jG3MfQcJHGVjsU8YSLp7LX+ifjarlrzSYBpszhHyOOm+r1Xy/hcr/MLmYV6aubaePLaKfLh9VtS/acRmtwEn4Bx6GKhncyHzqCHV4kqLyCAfTBW5BaiVk1EBEM4ZjQP8LmJYhsP7Xv8PJ4OOeTQL0cz+GVKJw1D4WT/5jGHjxuDgncw6FMMdCu6a9W2od69zKKj+X/bbnZDp0SrrALK4s/HArjIZ2WYtRH0P9G+f04RJwUm7ILZVVN6nmsST8g/u4B0byCHDksL4wn9D0vpnSZLlm3SAfRp50oBs7k51vF1EifG3wepH1BfAwR2Xhn7xjMr+n+iD10Nw9AKKgsMuGyOKcj6VXajT7zucAZMNroaqhNeINRi5s6YL9z9EN5BHr8eHTDIJgChsSmSOwNCfNqeRs95uiD84JeCSxAhMB3aunQ== X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0740; 31:kSnhtCm/qZ+DCYZe6aytbh6UeZ4+r414+lrI5pj3OXBPkomS2m4RxKx5yOpfpH3JkFJpPdlbH4yTqWSOdkX+kk/jd1nPLFZe3HX2x71zgM6EgfngiG8ErEDjcR6TPgq8rjK75d/FQxU8weNKPUX+3K67aESa25yR7IxC/FoJb8K+pD/PHbJhUslO0tdOIGDr/1VEU8f90GnkhAL5Xevu7pZl+5KJ3g6JuEHShPQ83PucSJ+lZ8z2QlTQSh6zUWSSx/4815NyvxlGbrTQC03XlQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(211171220733660); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13024025)(13023025)(13015025)(13018025)(13017025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123556025)(20161123563025)(20161123559025)(20161123565025); SRVR:BN1PR0301MB0740; BCL:0; PCL:0; RULEID:(400006); SRVR:BN1PR0301MB0740; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0740; 4:o5XUk4nIv24sqqaloaRp6AleYxhpkKb8oWcphQPIRrVaRixnIFsv3NTiT2kMkYHRKZEzqrUDIqwN0DB3EcYsyE/gm6uKy3xXvbSZHVmYp6rk0IhMwBdgRfMiOI0/8jp7fLDK5umM6axovJYhbpu6F5rGYdMjQpsgVQM9Er2e+PMhKy90DdBlKOcDZF1B05orY+NwxlWpb6YU7Vy5XpClgGO1Cxa5n3wHPugl182RtfDRWHNqbelyZmvH57iwF+N4Kwb0rFx896egLplK22mg2rRlGnVRbvT+elxhkIhd1+fRZ5GTBWh3aS03byEaqnpSg/bIrKdcYwoWkyV6TeS3awmlqLCr79nW0pZ5lgO3052pSENPpVxjwUGCsGWSnfkSKm/XJz/fFIENY1FgHL/7prOFPCUP0M3gJt4lPD3Ls/CFchyV1oB/weomjfKt9mgac6KNEzQ5nMQDg3pmM1gJvmLGNHt6Jf+9k/uXk1Rn21hrh1HldP1YYmkBfhhm0vo2nYm9wy4+RCaxmadXy6MFIEfkzj/ozd/B7L6T46BicR8WL67rN9zlHu3Uz4QOyVmK29X4fBUugeiE/fpCXyofuAO6AfcfuufuA8Ro1p7ksXyjzNkK/Epxuvm6XBiKb8DS76EzhTfy1ICeftBDqjbdLXlqhBmkqC+wl8UTdCPh/LUHyT7Fv1HPoREUzDc7QRYIJ+fJiwrJs4x+3Od+8tfUSUhF79O8/o+04ORUtQntZFGpmSekQldcUQ5SP3wIbNMhXDFPyyTmfXcxehmYItYt9Q== X-Forefront-PRVS: 01930B2BA8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0740; 23:Lpauc/PuLGPmjfALjh8eybn2rIFafj27qsDtMXV?= =?us-ascii?Q?WR5gjs487QPQNFULCCPXexmZoh7bcJgRZBum54xI0c48iQM+oAdICwwcEFz8?= =?us-ascii?Q?/6mx5RE8BzvFD2qEUlHnKRYTQ1BuDkkgfiVSZZ8IEo/gnY5tlPUZs+hUcSEc?= =?us-ascii?Q?aeUMQMkIZdW4k7lO8HjYlLYp82pfJcsR3klR51zlIdezsAPNbPgn+vvplylS?= =?us-ascii?Q?1SE49d2LsaVj8NXHA/8huuJisjh7gX8Ve3IKwmzcrvWP5T6BzLJ7prhXDMM2?= =?us-ascii?Q?aPn8fy9x95q+KAbQu5gGcv01IdE1hrbMMbc2AV7MLlp2kEcZG3/9JrdqOcWT?= =?us-ascii?Q?urVq9MdgvBd1iGiEkazTrRJ0ZfRsP2XfcZY7Wtkzad+uUufLeOHOyCLNCDuh?= =?us-ascii?Q?EcTpk8d9G9uhrdnWG1clJmk3Ir7sDUl44oSV/ncL2qIuBZTJj3PF29TDdG19?= =?us-ascii?Q?50y39CGv8O3zr0L8AHNEBg0OACtnhVAnfUntRIpyJ6QKFv+d7WSik9qbBHKH?= =?us-ascii?Q?lHaaw0IGO940okR74nU/JrmONS6hatTz5c8kP8wfEM0ichwigM1kH8PovCuy?= =?us-ascii?Q?KGH6n/nEwGlOkIE+zGphByCCPRKivt9H0F+sCsCCAsx8eEFJZwj9rp/Mw8RU?= =?us-ascii?Q?n3wY6kPzXt3f2+hToD3p5LrSUTuh4zBuxjCfJHLioNj2criN8y5nQgeITY89?= =?us-ascii?Q?IZQ5N26W2yYM3rNRA0kZh7sODh3uG/qA9pE/V4CLjKNVseScxDDNaHyEraXU?= =?us-ascii?Q?kxuG0seR4kKJQRCxO3OgPiViOHgrnoob5l+pF44dO8R/DmLO3ca8/e8kn/LI?= =?us-ascii?Q?aYmFS9Bs/x4h44NNXXMrjaVPoO1tyvPyShk/sqrICKJjy4xr+HEoykgmfkRd?= =?us-ascii?Q?f8TTRtExftUsmNmbG75pcFkQ01Lbr2Y1BXJPho+D8x23mGMaxgf9SRsnJnQR?= =?us-ascii?Q?NfapUN74k0CPFIE0OaSBgtuEknuJvsCp1iq934pdLfHJCiQlZern9q846Z8o?= =?us-ascii?Q?bc8119c8ncf4WmKcEXWqBh2kukU7vhKhADyKnMWJ2QCeprUzxjRorvKA969g?= =?us-ascii?Q?zyKTPGeC3IOpkrd4SyjE8ls5gcKGBXlqO+NTANckhV90EHtycvzqnUjjIkHO?= =?us-ascii?Q?Il5VHbJ4j7nHFLXlxykKde7whOGJJwz3urPZaCX6iKgNPWcQx8RQzqjDG9T/?= =?us-ascii?Q?OVrtcE7yPIlkDUKYHu63ZuKLbpWPVegvEFuvd4BaITnHU0p6+7x+bKxyPUuL?= =?us-ascii?Q?xpQIHD30Rr7PqBKDPuHoetRXT3NFnMpXOdu9d9bihT36qs1SIEcrnEijmD6U?= =?us-ascii?Q?Uc2yXngzLZKhwzw3pYzMLnZcIAHNai85EVbqPySkY6TP0XnqqK7AR1bOBY18?= =?us-ascii?Q?UCQvgqlTFJ36hjFbZp1m0tEH3sBc=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0740; 6:woFsG+HgpvD2O6EKzCCzTvGz2U1uK/YYyK654jGfJrWkO5Fi0/00rAZCpnCP+aLMSzyV0J5IRvgmk6tW3jTy0ak9DpVkvOtObCQGfB6obcFLiKTvpJaYeEuYtDv/Pc7s55E6JfJL8+Gnc4YRVg5A0qf5nnyL/4rlLgP6Y8Iz2ssjou7n84pSkg8Z6qtWvDOnQlMtr2U5n7RQK4GTNr95aQpJuPz5zrQTqMVCnBYHyBd1xqX+Ht+nUsDh+hlIWcVHx8VtBAmDrSdzWpoeGtJ3TRgzZShF5s41z6ZZ64CqIQNz8/OlfPkHXkdDVEmM68uWHRmfAfqgnBcC5UtM8HSBE9hiM/bKkgRJgLa5UHTC351IFBuL7rImGk32G87TzYTeuDPeCOFjAJOt93q+gsga7+PWebinVq8Pb+PrBhukJajFzaePr2UKvJNAGmnJrBKF; 5:LYLzWooSlj32Mdz6kJ6mx/vSQy8nrPEwb+d4qH/12yecuwNg3XGNdY+bU95+FemU0vh8YVAWunVHsF/bhsi+HAVP6eF9kNUdBUpR+pm4JfdPmu9MLNmlNcSzXzO6sBbN2pHwJKRSkcQDuqwzeTCUJfPeBr+R7HEeNiwK7TyJrJ308R/VilrRaWIXRqGlbcyh; 24:1M2nGn9TxNzFNPJC/HT5c9lk/6TOFB5AuIfbifIbRTuaflFV9xxhh1kXy+w9uZWSZqknVtQ8D4h5nNFQVDovPh+qg1uEIhaxh1IXt/TOm/k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0740; 7:cXf6Xbk0ZDAVQcQCPvD8hDWzieUWhC6aTRc55Dk9LmsieutOtxkWczQ+bO/fdWGtpQt2IqINPTmVvtCtSUWVXpQQwwAUNE70tnl/bYvIiUfGji/Zh0IsAAX/Lm3EL6Q9YualUGAr1N8eFCc9cx09ZAGApTYeaLB4d2pPgAx6SNFQpFiHDVGbO3z1Lpi4hawzGu3RYbY0UeO0mZOsXOrQPiRMnA9vq2ZNodEYvwqCiZofYMd7alfbxElokX+9Bhdohck2dUPAYr6pqF7a2aadQXKYpf9rbs4J1x7z5jXeeUIxwSj2Rq50XAI7j/Xfhg5lo0ZAfwvCP+RfnPfKmvN6fw6s30way18Mz13MdlUry8/Hpx533l+AvYzfHBZG7/IH9c6W6abAoR9JWsqbF42x8UvcLULLf9sgXvdeQcEA7knYD059UmUClrfI2eRnv7v7pph7bmSBDxRMCasyimK+cA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2017 07:12:54.9685 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0301MB0740 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170119_231322_508823_C5AD3AD2 X-CRM114-Status: GOOD ( 16.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, mathieu.poirier@linaro.org, Tang Yuantian , linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, robh+dt@kernel.org, robin.murphy@arm.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Tang Yuantian For ls1021a, and armv8 chasis 2 socs, sata ecc must be disabled. If ecc register is not found in sata node in dts, report error. This is a chip erratum described as bellow: The Read DMA operations get early termination indication from the controller. This issue is observed as CRC error in the status registers. The issue is due to address collision at address 0 in the dual port memory. The read is a dummy read to flush out the header, but due to collision the controller logs the mbit error reported by the ECC check logic. This results in the early termination of the Read DMA operation by the controller. The issue happens to all the interface speeds(GEN1/2/3) for all the products. Workaround: Disable ECC feature on those platforms. Signed-off-by: Tang Yuantian --- v2: - refine the title and description - change reporting warning to reporting error drivers/ata/ahci_qoriq.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/ata/ahci_qoriq.c b/drivers/ata/ahci_qoriq.c index 01ef662..137b1c7 100644 --- a/drivers/ata/ahci_qoriq.c +++ b/drivers/ata/ahci_qoriq.c @@ -46,7 +46,7 @@ #define LS1021A_AXICC_ADDR 0xC0 #define SATA_ECC_DISABLE 0x00020000 -#define LS1046A_SATA_ECC_DIS 0x80000000 +#define ECC_DIS_ARMV8_CH2 0x80000000 enum ahci_qoriq_type { AHCI_LS1021A, @@ -158,6 +158,8 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv) switch (qpriv->type) { case AHCI_LS1021A: + if (!qpriv->ecc_addr) + return -EINVAL; writel(SATA_ECC_DISABLE, qpriv->ecc_addr); writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(LS1021A_PORT_PHY2, reg_base + PORT_PHY2); @@ -171,6 +173,9 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv) break; case AHCI_LS1043A: + if (!qpriv->ecc_addr) + return -EINVAL; + writel(ECC_DIS_ARMV8_CH2, qpriv->ecc_addr); writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); if (qpriv->is_dmacoherent) @@ -185,7 +190,9 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv) break; case AHCI_LS1046A: - writel(LS1046A_SATA_ECC_DIS, qpriv->ecc_addr); + if (!qpriv->ecc_addr) + return -EINVAL; + writel(ECC_DIS_ARMV8_CH2, qpriv->ecc_addr); writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); if (qpriv->is_dmacoherent)