From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964975AbbJ1WyM (ORCPT ); Wed, 28 Oct 2015 18:54:12 -0400 Received: from mail-bl2on0065.outbound.protection.outlook.com ([65.55.169.65]:15232 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751693AbbJ1WvQ (ORCPT ); Wed, 28 Oct 2015 18:51:16 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NWYCT7-08-J8O-02 X-M-MSG: From: Suravee Suthikulpanit To: , , , , CC: , , , , , , , , Suravee Suthikulpanit Subject: [PATCH V5 0/9] PCI: ACPI: Setting up DMA coherency for PCI device from _CCA attribute Date: Wed, 28 Oct 2015 15:50:45 -0700 Message-ID: <1446072654-5608-1-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 2.1.0 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(53416004)(15395725005)(5008740100001)(77096005)(106466001)(105586002)(92566002)(2201001)(86362001)(5003600100002)(11100500001)(101416001)(15975445007)(5003940100001)(5001770100001)(50226001)(87936001)(229853001)(189998001)(47776003)(5001920100001)(19300405004)(5007970100001)(97736004)(19273905006)(36756003)(48376002)(19580395003)(50466002)(50986999)(562404015)(563064011);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR1201MB1076;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN3PR1201MB1076;2:3yOZlIuvk3Qe22UA0kAripsNOWkajGmdIZ1oITJLIMrDn1HYuGU9RxQkKYhvNa/V68Cy42gaptfFaNvBNtWOpc7TlnRelMvM0JE8HjjSJTsfG1UzucZv2drKPhSGKgUzzOMVHyL3NU092nTOFTlkDihQFE6+GTjIOdtcoUezILU=;3:awNSqIp72WAWUVz1gwtQCkH8++Hb+kva4DbdAizKqARG0L0dQuq0KYldCv604O+Zql1hZ6yIMgmHDJxkCRai0tT+kSx9n2TgpN1AODG0uCMzk4r2uTt5W/bEF8sStZ0XVHB6pvwKp+1o/TZNfJUwJp6tbXCbD8Eb/ks7pcGmwtTLuCg5ap6jQ9lFweu1ByHnqBr3WOWBCrw0lnyUQPrbu9NYKoAJNOcOl/6/BZxhTqjcuVf3ZEAITbA2vqvHGqI+;25:7Bymo4TxX6HePGjyTC+B1AFZTMCr3KiEbP6yOwNsLQNDI4Tpxs088SujO6oobdGpOTyBQ/gI4ob08rQmMSLHj6W2CX0UJEshAbOVDGtkFIh3A9963VXdBKzsA2TvYxvwuDy75BnR2Xx1oD77AaPhM7Z5GfYPEGoZMVnWzDJdKZOJGhI17RIpOfJMe5j1B0Fyqqz+905Y/usyvsGqx55XqKg9MZzOgtgyXDFnmmD7Tpa8iUPFEQ60wyOzumwPcesX X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR1201MB1076; X-Microsoft-Exchange-Diagnostics: 1;BN3PR1201MB1076;20:7gnrFwNzaQvu1CNGuPB19M4gtyIM8fobfsvluSkxiHwIbIlanX1HsLxePbOfH9v7Y7IhwkRj/6h5QPVULiLhNI+CVlACVRblqYSSLnWs55lVgI7Ayw6Fjyq7P1oGsBDS7oBcps8LsgJrvoRHLLM5aJJFuF4UQlvP2k5PsMSCt6J+NasGJnn7qr9R3xtBG4NpsfaQ2O4wvF5IR6oQv5B0Ydpk2p63pl4MZUdkYFwwg1LtaotNolCFIq7+d06qUt8KArYeRDV/dt++0S0LWWkZFNyStMwQxqsge3CcrMSjdJMnWQWDnBc9aXy87FLmJuVLqrkFWc2a570f9paU3w1fq9Cmxc11AE5uTuyzMf1M8H6uBiiYCpy3dj7cQYn49az+c1SCm70ZsmsjnUgee9zwNNxIZf4s0L5eWLj3FEDEzr45wYFm45rp+tUnNW9Y0tfF0BLMJKN2I4HuMkfxT571k+R+5Ojn4lqxJ5HmKZM1ZE26LcRQDktrjvGJfeeYuRAD;4:uJ8JsATlZI/M3jv7eVrrb0k2RL4kOuvNtlCwP+VcN96VNv4X4+4XOlNRs5gXF/6SJl5V7cVC54DSt2iauybRyG5GIkhZMKtzOjC5N6AoyBxFkfGZUNh3zS4+cgdoOdwlIaifiG/qt8jaq4v8dk3qsRrqTVGHS6JdOM6bSw70OL544KUQL6PTgMktIowAVAFsSZpLfpqKp2ASCoRJL4gyTBAG5ZxTPluC3UhUrdc+00IrAh34ctxyf29q9Xc8FxPoS+V1cEP/J9OgCmzMo2D7lcsnFM2DoJD0+GJc13Xfh1yVlqInbmJS2mFwIZrIxol/47ZyZWHG5I9DJyMHVMN0wPr4bNsJj1TjczjYyK7NsS9lCiI0Vlm4z2pMAVKHe6YIqlR3zmc2oNrRYQPBigiOkQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046)(102215026);SRVR:BN3PR1201MB1076;BCL:0;PCL:0;RULEID:;SRVR:BN3PR1201MB1076; X-Forefront-PRVS: 0743E8D0A6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR1201MB1076;23:0TwUzMSmXQ3GHjkiXmrjFevh3uqoGPC46LrcB+I?= =?us-ascii?Q?5emwd3747TMGPYvTqgKa1OJAANMy9h0mlXyDYxzTWt95I3qVHSIttZM13K01?= =?us-ascii?Q?gntL0Fg9EdAZzfmTOqCCp3PWhHYwJLXjHHUAgUK8fHM79fTbD6/XhzzEOn/L?= =?us-ascii?Q?XsF3xHM3keIC6zptpTZ4kyvFmDSKPLV1+2T0uH4iUPrPCB0GitBT7YmnR4CT?= =?us-ascii?Q?7OT02H42m5qGksnPSvazSwGhpbS1nEav8yILxZS2Qct6LX7PkjroWejcR9fg?= =?us-ascii?Q?Q/g7/jchlEouLvyNiXLpNWe506unhQJUz8UKJLcYOkjY7ltfC/yeDE+DI7M2?= =?us-ascii?Q?x8iyoPb6x0Trmb+PYUjnsBexlUXB/BWy77WhJdulSZf3WucAkqhxD7Vjwf3l?= =?us-ascii?Q?WPkWHqCCTJZuVUl0R2QPBy10fcenDlhq0JQPU/Msb3AAOgoTwR/6MrLj3J4p?= =?us-ascii?Q?C1OeZWdoywwTtO7un2iQtZqMj+BvcwSPlEWLaA7ybfg+r7vzN714GL9sqoVv?= =?us-ascii?Q?18AH2uoerfdGFW/EOQ08gnG8EQGlOZSUxR65q6JIYqKLrODFHmBjAcA1lBQ0?= =?us-ascii?Q?yL7QWKlFLq1zTL67fgM2e7yFD8KqH2SYhu5YU6PK2DKw3psF52lrtDjYIkXj?= =?us-ascii?Q?AGo5o/kMFmy9Hyy/OY7RkFURZ23O6Z9A+arqgaLTjVjLbMf0xj6y1NJZY614?= =?us-ascii?Q?FWNvvdsCkPFFmgoz4r90vBoiwFAH3Ys0s0he+Y3PJysTrAFg1SGxYiNMdxQn?= =?us-ascii?Q?xpFMAdIdRE1qkVS/XyMMAPFs15vm8PrtC0FYC90gfC8uiz4FHbIFc7zkP5X0?= =?us-ascii?Q?WwZ2ewmvYGLpxr2JHYLS3VgtxSUQQSea16NcQgC2ZiEi2zFda/4KnDLWdiST?= =?us-ascii?Q?Eim9PQ6PElf3VKSulOVEgu+GsMcuzRbJ8y4YIxr4Yn0xZzWI2T3c2NSMSKw9?= =?us-ascii?Q?FWXl5YRaQ4lH984bXUhG9mMH+aM1IITHln+Ftr7e09gLcKKB8CSamvLAZyls?= =?us-ascii?Q?0y3kQLcwhX/TxmAGMzsYWE/z+ILOqMTOJ5cnGTIapRphZeZ9MpgD9+r8kYbq?= =?us-ascii?Q?POiQqw50=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR1201MB1076;5:diQmv73Im+bJYEy3sJBUT/SSleKVgDav+p0t1QrHhY4FPxjkiFVLqIGk8xhK2tTwNX5bL289GUU25+Vl2gYPzpXKPTwO8QKo95CLpWZYRGOn/EehnfT2uKaXhMpDTzbtgZrVYmM1FnxqKp55ap+GoA==;24:LQsMepDsOSHrrnbTEtrXQTIlaPus+YXfJkV+IQd/wTIPSre0/9/doW3jaz1pHCCqEnWZYukBETp1psNK0gTY+gkcXpvQHsEQhPaBzI647Ms=;20:qARrOMf8FB9UZDzLLsvxP0iYTbN98oaR4IbLX4Q0Qe52JvlzpUFbkfpIyqjln08rW5SR0Nke26daLDCUfFUZxP9R4RnmRErQ4JjSUe6FpGRRBrqkTdWE5c1rYVFDLUtTZ1odp29jhwrD8jpCJDJ29+zCoFLY9xfChXs6sHazktJrg0W1NsCeQ1CP9/fF1K1DMlQZDcQZHvelK4881WMkW1N7OrIDSmOd68pUS6JwNXRfZg/Cgm6/MtYL1QPJ1lRE SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2015 22:51:11.2524 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR1201MB1076 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series adds support to setup DMA coherency for PCI device using the ACPI _CCA attribute. According to the ACPI spec, the _CCA attribute is required for ARM64. Therefore, this patch is a pre-req for ACPI PCI support for ARM64 which is currently in development. Also, this should not affect other architectures that does not define CONFIG_ACPI_CCA_REQUIRED, since the default value is coherent. In the process, this series also introduces enum dev_dma_attr and a set of APIs to query device DMA attribute. These APIs replace the obsolete device_dma_is_coherent(), and acpi_check_dma(). I have also included a patch from Jeremy posted here: http://www.spinics.net/lists/linux-usb/msg128582.html This patch series is now rebased from: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next This patch series has been tested on AMD Seattle RevB platform. The git tree containing tested code and pre-req patches is available here: http://github.com/ssuthiku/linux.git pci-cca-v5 Changes from V4: (https://lkml.org/lkml/2015/10/21/535) * Clean up from Hanjun, Bjorn, and Thomas review comments * Rebased on top of Rafael's latest linux-next branch * Added patch 7/9 to fix the pci_get_host_bridge_device leak * Added Acked-by from Bjorn * Added Reviewed-by from Hanjun Changes from V3: (https://lkml.org/lkml/2015/8/26/389) * Clean up suggested by Bjorn * Introduce enum dev_dma_attr * Replace device_dma_is_coherent() and acpi_check_dma() with new APIs. Changes from V2: (https://lkml.org/lkml/2015/8/25/549) * Return -ENOSUPP instead of -1 (per Rafael's suggestion) * Add WARN() when fail to setup DMA for PCI device when booting ACPI (per Arnd's suggestion) * Added Acked-by from Rob. * Minor clean up Changes from V1: (https://lkml.org/lkml/2015/8/13/182) * Include patch 1 from Jeremy to enable support for _CCA=0 * Clean up acpi_check_dma() per Bjorn suggestions * Split the original V1 patch into two patches (patch 3 and 4) Jeremy Linton (1): ACPI: Honor ACPI _CCA attribute setting Suravee Suthikulpanit (8): device property: Introducing enum dev_dma_attr ACPI: Adding DMA Attribute APIs for ACPI Device device property: Adding DMA Attribute APIs for Generic Devices device property: ACPI: Make use of the new DMA Attribute APIs device property: ACPI: Remove unused DMA APIs of/pci: Fix pci_get_host_bridge_device leak PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() PCI: ACPI: Add support for PCI device DMA coherency drivers/acpi/acpi_platform.c | 7 +++++- drivers/acpi/glue.c | 8 +++--- drivers/acpi/scan.c | 42 +++++++++++++++++++++++++++++++ drivers/base/property.c | 32 +++++++++++++++++------ drivers/crypto/ccp/ccp-platform.c | 15 ++++++++--- drivers/net/ethernet/amd/xgbe/xgbe-main.c | 8 +++++- drivers/of/of_pci.c | 20 --------------- drivers/pci/probe.c | 33 ++++++++++++++++++++++-- include/acpi/acpi_bus.h | 36 +++----------------------- include/linux/acpi.h | 7 +++++- include/linux/of_pci.h | 3 --- include/linux/property.h | 10 +++++++- 12 files changed, 144 insertions(+), 77 deletions(-) -- 2.1.0