From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751415AbdATHND (ORCPT ); Fri, 20 Jan 2017 02:13:03 -0500 Received: from mail-bn3nam01on0045.outbound.protection.outlook.com ([104.47.33.45]:35310 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751260AbdATHM6 (ORCPT ); Fri, 20 Jan 2017 02:12:58 -0500 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; From: To: CC: , , , , , , , , Tang Yuantian , Tang Yuantian Subject: [PATCH 1/3 v2] ahci: qoriq: added a condition to enable dma coherence Date: Fri, 20 Jan 2017 14:59:34 +0800 Message-ID: <1484895576-40379-1-git-send-email-yuantian.tang@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131293699759433624;(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)(39410400002)(39850400002)(39400400002)(39860400002)(39450400003)(39840400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(4326007)(92566002)(33646002)(2876002)(626004)(5660300001)(50226002)(97736004)(356003)(2906002)(53936002)(6916009)(8936002)(305945005)(54906002)(47776003)(86152003)(86362001)(8656002)(68736007)(110136003)(105606002)(38730400001)(36756003)(81156014)(48376002)(106466001)(6666003)(81166006)(5003940100001)(2351001)(77096006)(50466002)(50986999)(8676002)(7416002)(189998001)(85426001)(104016004);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR03MB2480;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11OLC004;1:svqqN8wRnVnRheMyzJ4SiEyqNDU0lt6veuKrzUWV+45jzHPH7qLBDvlrc0nwr0Mneb2zr5LgBiWv4c3IE322YcAwAY0N/0oWfNbaUZcLjmBQpBTHtR49nmI9asHG6pn1Sz/LWsycKtfmfxIAUuUIDj1NDfzqVrIS6aUSyHujhjFcAVWF8/f+GM15QIknnJuGFLZJXqG53he1Cz/NaivQqoogKUCjPDaFwYIpILXfCMLymrefO2Th/Ntog8Mg77vizdtHgAYFFzHiWyD1fmXqW6JNKnFi+Kf1026IV7VJ4Te0pJyXEHGHn4Gkpyf2IPLU+HUI01alGaRJRKTKr3CnjtBlA8xFx5zB10OPdLBW1+iENhCKiNRn4RqHtceIBKiRgMljh03A+bPhEicmqLp9/ekoen8n9Wo6+q5/wtQzdo2VF4FxkHf7GgBJPcMCuZv7iuxtsTlY3WlIV0CoDqV7KlyaVJNtQwl+djQXoFb1DNlUOSop8uxoVfLG8S6X7w9ADhdnIBCWCx9bRGcWhd30A1rAAdpa81Zow99AhA4g9sAHXrGrCvUpz4aoKLL1Vjg2Ni4ybjcid1/RXNbtOMqpmUF8S+Bk5Oh728Fi213t+jYphjk1QOyu/AjjFHW0WIM+fToS1TFnQ+sDeamW1xBU/X8B2ONIvED2W3o370sjIctiddwjWQzPxPlgRuOeYUbMa2qLq7WgJFpzfYC15gHV7TuVs1MijwHM/ZSb2KohgaQ= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: c610c0e4-6af8-44ef-5cb0-08d44103c1cc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:MWHPR03MB2480; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;3:7v8gBSWweCCuJtRuq3woYs1fNyU4TjLJGQNVvjtvNtx+sPAQ3+UweGY1izn8L5U7QuuYfU9gFmfOpmrF2ENFoKS2vP8lLKg9Q7WW71EOyOKP4Q0yflpSkerwY8H9obMKAh/JpEQmhFHlo8wFNl8xTXKl8Hn7EVsv6imh9tpDT9ioBZ0G2BI0PjxlkmrYpEr2g2tjneekLc/Kbsipy0GW3gNSkGORDUNN8WCuNml/8NDJwlrJXJdikmTpVJEzV7oyqbZQLXeNvPJ5dRVUOETbADABhGVPwz3Dv1hm7pw7XY5iXb+4uaY0D3/4Ar7tpjKtfIAg7dcnrN1Lc6bEfVsTwuoFKq/TJe4OEW/91iIuwSq5PKFH/c1M6hfhZ+cygJ6M;25:CxzpdoxgHcSziSi3ig8gN50l3HLjOOLaSyo3gfSjzvGZ12DaSV22pieTS/5WzQx+kTZokn4sYZ+ftqRFRQxFgp3gYRLObi7R5Shl65Eq/O1sxySwnG1ZZCYzMALvnyXif9AWPp6VsUpPZ//Xo7458bqF+Z5gGl8kZNaO+2ks7mXbfMcSOzfTmY1UgkKUC18PQNgd6dJgHQEqmgMpBg5s+Tw5kKaAp/3bMQKCeuQSqE/3SmvLS+HPrj+JiLbaBVOLP2w9WZiMhym/ncOFwDP8iwRo07e0VI9Q35P3S79DSIZBrPjWdN2DYm8Qni1mj3TEsC4iQysYd3nCadYq+5CCpZ1ybkvxaHSQwasg4/oTYPF/dbAbJQrmovwFd5dd3HndmK7vGBZ/nG0xLBuPlZ2punB2ZNRXD0dXEh4+x+jSxFSlOiw5EEla04DIJd9qki5ZJuKCVDf7l/gfRB1VeM4f3g== X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;31:w5ShhNZaBuARXvL5e5C+oSuiXFbRBot3gVC16nZSUBQKslxKX5eoMe0JC2q3tjWVNY3pcwaKo/8+friXVh9CrTPsbIc+tBhLAPEuYDyFVe0EFKeFsx1gjzIxxeYRdQjvvUTsFoQP30QaBI6EtjljQBXsINh7tU5KrtyYCehyEGR1GrOQ6GpKnFmqWonHXWKrjrven8p3slr966X2kUKAptTwL/22o5BAzuD6Y1sUc3CfHtBAhuSUVL7v6rGMIiF5hKSOLd7l33w2z2d4E9momA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); 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:MWHPR03MB2480;BCL:0;PCL:0;RULEID:(400006);SRVR:MWHPR03MB2480; X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;4:wxD7sHRbWZ7DoKvCPbI7SHpUbITiVC+//sX60LePjDaX6/ymf4S/ybG5y1ujfJt7w5PlsUxXUYjZuORJ5l7l1PzFSOPiuqcTyWZC2Dea5rKkRe+KkQsi0KluCFMDa1XHbNSPZUkM2naUaYQpsHgFaH6lZxbTHw3bLucHDJKJEYWrkFqhlAMkhzlqivuRi2abaOvHvW7nN6x/6aQT7eX62UGUp1QqcKbEuuvvZJPq+RhNjpw/LaXA6ljTV1PBjDDuOWcCS7uN0nwEb65v2m9WPBIT6yDNH14NGKMhtZ8XpeMeh4fGxHbMxObuQt4bFLa+Yvz+pQkKGRsrqmusCg5l/y1Y+nl40PYWrachLDLTAC59BwRASKoerbPY6Y4nC//8LGS20LI68IB5SW7h3PEKYuggNC3qrkSWGDPGhSajRfb6O3j/zhtpi5l1M6wx0WiP6rMWdSUUFY9Sr3VdWeLcCCeUlrBUq7WYAo6wZqCp4n6Ys/Saqkt4g2a8S/3I/0vSKWZNHw43jdI38KDSX6Xk54iclfLMuM5aiPHVT0bad9j1RLFNK45iqNKMrZDEmZ7pPsoHd13PwB7pTTpXbiYbOnLznKw7wXJmWqpgZaZ2K+eImc94ogJb+EdSJstSDzXK4SIuwNdc4O4ocChmUtQy8mKoBRQIP/bVu0+MM8a3/mTSgx9dKemZojgG9yZRzjOOlSNzakf70P52wdcir8l64gbueem9WwukNUSa/vsF+ZZXeqJHmf5yrWjLKmaiR3l5 X-Forefront-PRVS: 01930B2BA8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR03MB2480;23:q8W4iBUbcP84WGiDkYYtvwbUPr7k0jbXCz2mki8US?= =?us-ascii?Q?iU9s38gUEtT3L8IKvUC+e9/Hwkvub8j0VcDsW2I58ETm8ZrMV/nFMt1VyExQ?= =?us-ascii?Q?dUG3O+lhEiCCHObOUVtFGBtCyuMMtyL9ZGnNOdOKwsCHZkwibo1BECXWmm1+?= =?us-ascii?Q?KTViXbowOXZMT1s4SioGMNZIHgWDkRp6Y1uiBaOclzbiPotpJsWytj3sIief?= =?us-ascii?Q?AxlTA1ExIElQ0fqM+sFgB7cgHWN5geibqDs6Dxq+djOO9/D1FFRmJ6hYNdkf?= =?us-ascii?Q?UE1jHr8xLxeiKmKOmgtvUi+IjIV5KYDCFib12Dw+ccBuXrE0XHTNpoKcl5A4?= =?us-ascii?Q?Snxjp9PqfkW4QJppK4R6e8X6YA1FOxcEpjefr5TszbeCS5BJQK9aQC+uPQBF?= =?us-ascii?Q?zZJuyx9Rs2q3nAhv1BfAJUnuTmVmgeyVljp03iege6oEZjEMlv71WLiYt5V7?= =?us-ascii?Q?TImu6oeh7gIeM3WMoMiBiVgvsxxp+dEXZE3xTbFI1Z2tN+khLc9VkzWNHzbZ?= =?us-ascii?Q?qeTdTZpaIZ8xwfCj96G00n5XINpJ0A0mHPdURoznLy2dNWh86eh7o9VzWg2Y?= =?us-ascii?Q?7zhSQ54GeuKGJIvI1fCM8xnW+0YQn932M9K0WR38GYkJAbfO8XS8SEsq8K5s?= =?us-ascii?Q?vwaP8gPw7M3UIQQX9mgB3pOvI+SZkXEHeM+147PDZDrWI2GENG8L6RDsC3lK?= =?us-ascii?Q?DR/eDdKkJT+RXkCovFgX0htfd/DLZUNMQ5mcSZNMWEnFbPJDniMd0gGKtmvz?= =?us-ascii?Q?5N9xw4JaFG+bDlZgFy/bQ3l86lo1Yxrx9JKM86SCuWyqTFoE2Y2n3Bg0zsZG?= =?us-ascii?Q?/DYfkN6g2trHHYwqAxB4jLZjqha3LIgu2WK4edmYFdpCegx+9Wl16XwJklnm?= =?us-ascii?Q?jiiWDGshuayc1cnur8XB8d0hqRc1he81SszPM84XDM2xoiWwgrJE0SWU0ps2?= =?us-ascii?Q?/E5ff2sR+bgW0glCr6VUyOzDf0UA3BI8KAR/86UKFiUm397jlz8TWFNRTnZr?= =?us-ascii?Q?6y7yfHIG0U8cInkzwq0pc0jiqXvuZqTU4Lc287CxiXV8CD38oFBCDJ83YG72?= =?us-ascii?Q?TQLJusjLCPAB/UlGNtLIaO6ZLNc364bu3EHvYjM671FaS14HcU1uHNJd3h3Y?= =?us-ascii?Q?9zsDunMDxm/aMloS395IhVdbVGKln0NKr51RHidFJNDZJon8zl8uMN4WuqFv?= =?us-ascii?Q?bgD2n369yUE7vXkh0z38xTHV1NA41pen70D0u4TmLICl91h/ip069RxU2Wou?= =?us-ascii?Q?c+RQdo1i6F0erjJUkmQcPYHBSS/1sJV9TTvHHmzAdmP4TOK3ABx1OJ6PJij5?= =?us-ascii?Q?kOPOrK0ST/PoG0aw7mfmJE=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;6:wig9APuaMjN+Lk32vyxLEjsG2/wdnEFjJuNKoyDJO2ASrLQdy6o/4k8Zoho2fq6mOkRAYeqHeQrCZZA7BwBK2U3dCWNhpJCTh18aAthyWtnG64KNXRL9XgZ56dHWw+Ex4r5IR7x/WJW2E1p8o/SkfoWHnqwJervotnNUvza40QQZMc7FAWd8OdRAO7ZVjVVhftSKpHdC4e0gsSSDgP8BmjF/15Nddqm5eEAWhd7248AG+3cekvO4uifYf1yTHaf67ArFu9LUvupCiKvr1Bmve295D28eAmLZL4rBbaAIjl7qrU6IGjIlCmE8pr+mkfnJ+jsdx56dd+LrtArBTYtuTAWduKabqf52elSO4iaO5niK84+HsHWHz2Ywjgl1b/5o4iRaLjW9Xyk/4KR2zI+7KsaEGlWKtY65QiJvuHr/P7v5/OVYhCGKLPiwt+Ay1see;5:NTfl6z4obF22zGYAZdxAxvd7G0PVlVZPTz4SkvGP4WPjSY2hIMU+3UI02LhPDHd6oTZb97pIceU2k6iO2bjbpnr6fmZ8r/IClA0Fa/b9Qf1lvNFtcVBP5t7W3lc9OAhshZHg3PI6ixhA+xSRt6tp28j7fsx/Tv2QwGi+g2uS8u5BgVURvtIKJUPtlcLiVv2n;24:ivhYpr5OxHpvsWkF+3pe58Go8AnN1xRzPccH6/+uzLFWhZAMMbgFagU0i6UNQQTl0muBkriOk+mBkD2XzwYYGYjY2rwJC1pmkRJfxD2GUW0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR03MB2480;7:cSMCBNV6/g7hnCe1dEIMDzsX6iRc+IrvmITfhpZ60ouV/H454+nS101293dSd9hiKlFjjWC+G07UhXB3rUjFhyIUO5kdulguZ+++zIl7HJLB2am6N9EnjALRmGQnEAkfQbCMWTEfM5Qy8ly11QjLrVeP7z9ukORsfc1e6pJxNh55f1FHa9Rwt08054jw4dOi9lPC5YqUrlk/ZMGc2z5zMrjygwhwB8S5BCObGE60Jl8GTOUgOk/eVFSOja+p5wiJghrwj5QUyBAxzO/ikPrvCKW0vYmZZKP61KVULsbP4CkSgnkNrcdLwuU6xH4ohea5CjM9QPLGUXeWJdL//ou1TuzyAesXmlOcKGwbMtlXzyWAvca/VRWwmMmoLa/APRF6S5b/rNrTqj+JN8zmVK4/AgkJw1guUv1gXvW1vH2w6Tb5kY4TyayODMGfht3bgSQJ+G12SPD2/C8yDGrIo609BQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2017 07:12:50.6706 (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: MWHPR03MB2480 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tang Yuantian Enable DMA coherence in SATA controller on condition that dma-coherent property exists in sata node in DTS. Signed-off-by: Tang Yuantian --- v2: - use of_dma_is_coherent() instead of open-coding. drivers/ata/ahci_qoriq.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/ata/ahci_qoriq.c b/drivers/ata/ahci_qoriq.c index 9884c8c..01ef662 100644 --- a/drivers/ata/ahci_qoriq.c +++ b/drivers/ata/ahci_qoriq.c @@ -59,6 +59,7 @@ struct ahci_qoriq_priv { struct ccsr_ahci *reg_base; enum ahci_qoriq_type type; void __iomem *ecc_addr; + bool is_dmacoherent; }; static const struct of_device_id ahci_qoriq_of_match[] = { @@ -164,26 +165,31 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv) writel(LS1021A_PORT_PHY4, reg_base + PORT_PHY4); writel(LS1021A_PORT_PHY5, reg_base + PORT_PHY5); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); - writel(AHCI_PORT_AXICC_CFG, reg_base + LS1021A_AXICC_ADDR); + if (qpriv->is_dmacoherent) + writel(AHCI_PORT_AXICC_CFG, + reg_base + LS1021A_AXICC_ADDR); break; case AHCI_LS1043A: writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); - writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); + if (qpriv->is_dmacoherent) + writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); break; case AHCI_LS2080A: writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); - writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); + if (qpriv->is_dmacoherent) + writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); break; case AHCI_LS1046A: writel(LS1046A_SATA_ECC_DIS, qpriv->ecc_addr); writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1); writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS); - writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); + if (qpriv->is_dmacoherent) + writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC); break; } @@ -221,6 +227,7 @@ static int ahci_qoriq_probe(struct platform_device *pdev) if (IS_ERR(qoriq_priv->ecc_addr)) return PTR_ERR(qoriq_priv->ecc_addr); } + qoriq_priv->is_dmacoherent = of_dma_is_coherent(np); rc = ahci_platform_enable_resources(hpriv); if (rc) -- 2.1.0.27.g96db324