[PATCH V4 0/8] PCI: ACPI: Setting up DMA coherency for PCI device from _CCA attribute
From: guohanjun@huawei.com (Hanjun Guo)
Date: 2015-10-29 06:37:32
Also in:
linux-acpi, linux-pci, lkml
On 2015/10/29 0:00, Rafael J. Wysocki wrote:
On Wednesday, October 28, 2015 09:54:23 PM Hanjun Guo wrote:quoted
Hi Rafael, On 10/27/2015 11:27 PM, Rafael J. Wysocki wrote:quoted
On Tuesday, October 27, 2015 09:52:50 AM Bjorn Helgaas wrote:quoted
Hi Suravee, On Wed, Oct 21, 2015 at 08:52:03AM -0700, Suravee Suthikulpanit wrote:quoted
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 has been tested on AMD Seattle RevB platform. The git tree containing tested code and pre-req patches are posted here: http://github.com/ssuthiku/linux.git pci-cca-v4 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): Honor ACPI _CCA attribute setting Suravee Suthikulpanit (7): 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 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 | 9 ++++++- drivers/net/ethernet/amd/xgbe/xgbe-main.c | 9 ++++++- drivers/of/of_pci.c | 20 --------------- drivers/pci/probe.c | 36 ++++++++++++++++++++++++-- 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, 145 insertions(+), 74 deletions(-)I had a couple minor comments. It's sort of a toss-up, but this feels more ACPI-flavored than PCI, so I assume Rafael will take this whole series unless I hear otherwise.I'll do that.If Suravee address the comments and send another version, an it be merged into 4.4?Well, it is likely, but not guaranteed. We're only a few days from the beginning of the merge window and I'm still in Seoul.
No problem, it's up to you :), thanks for the quick response. Hanjun