linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V4 0/8] PCI: ACPI: Setting up DMA coherency for PCI device from _CCA attribute
@ 2015-10-21 15:52 Suravee Suthikulpanit
  2015-10-21 15:52 ` [PATCH V4 1/8] acpi: Honor ACPI _CCA attribute setting Suravee Suthikulpanit
                   ` (9 more replies)
  0 siblings, 10 replies; 22+ messages in thread
From: Suravee Suthikulpanit @ 2015-10-21 15:52 UTC (permalink / raw)
  To: bhelgaas, rjw, lenb, catalin.marinas, will.deacon
  Cc: hanjun.guo, thomas.lendacky, herbert, davem, linux-acpi,
	linux-pci, linux-kernel, linux-arm-kernel, Suravee Suthikulpanit

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(-)

-- 
2.1.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-10-29  6:37 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-21 15:52 [PATCH V4 0/8] PCI: ACPI: Setting up DMA coherency for PCI device from _CCA attribute Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 1/8] acpi: Honor ACPI _CCA attribute setting Suravee Suthikulpanit
2015-10-27 14:41   ` Bjorn Helgaas
2015-10-21 15:52 ` [PATCH V4 2/8] device property: Introducing enum dev_dma_attr Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 3/8] acpi: Adding DMA Attribute APIs for ACPI Device Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 4/8] device property: Adding DMA Attribute APIs for Generic Devices Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 5/8] device property: acpi: Make use of the new DMA Attribute APIs Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 6/8] device property: acpi: Remove unused DMA APIs Suravee Suthikulpanit
2015-10-21 15:52 ` [PATCH V4 7/8] PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() Suravee Suthikulpanit
2015-10-24  7:44   ` Hanjun Guo
2015-10-28 18:12     ` Suravee Suthikulpanit
2015-10-27 14:38   ` Bjorn Helgaas
2015-10-21 15:52 ` [PATCH V4 8/8] PCI: ACPI: Add support for PCI device DMA coherency Suravee Suthikulpanit
2015-10-24  7:47   ` Hanjun Guo
2015-10-27 14:48   ` Bjorn Helgaas
2015-10-24  7:51 ` [PATCH V4 0/8] PCI: ACPI: Setting up DMA coherency for PCI device from _CCA attribute Hanjun Guo
2015-10-27 14:52 ` Bjorn Helgaas
2015-10-27 15:27   ` Rafael J. Wysocki
2015-10-28 13:54     ` Hanjun Guo
2015-10-28 16:00       ` Rafael J. Wysocki
2015-10-28 17:21         ` Suravee Suthikulpanit
2015-10-29  6:37         ` Hanjun Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).