[Patch v4 00/23] Improve ACPI resource parsing interfaces and enable IOAPIC hotplug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



During enabling ACPI based IOAPIC hotplug, Thomas noticed some issues
in ACPI resource parsing interfaces. So this is an effort to improve them.

Patch 1 refines ACPICA resource descriptors, which has already been
merged into "git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge"

Patch 2-12 improve ACPI resource parsing interfaces and also fixes some
bugs.

Patch 13-20 try to share the common data structure resource_list_entry
between PCI and ACPI. It may also be shared with PNP too.

Patch 21-23 enable ACPI based IOAPIC hotplug.

The patchset is based on v3.19-rc6+ and passed Fengguang's 0day test
suite. You may get it from:
https://github.com/jiangliu/linux.git acpires_v2

V3->V4:
1) rename resource_list_entry as resource_entry to avoid conflicts
2) kill pcibios_disable_device()
3) Patch 1-16 are the same with v3


V2->V3:
1) Split out the patch to fix bug in io resource check according to Bjorn's
   suggestion
2) Fix minor coding style bugs

V1->V2:
1) Refine the way to share common code between address space and extended
   address space.
2) Relax some checks to avoid regressions according to Rafael's suggestions.
3) Introduce struct resource_win to avoiding add extra parameter "offset"
   to several interfaces.
4) Add patches to enable ACPI based IOAPIC hotplug, which has been reviwed
   several rounds.
5) Rebase to v3.19-rc6+

Jiang Liu (14):
  ACPI: Fix a bug in parsing ACPI Memory24 resource
  ACPI: Normalize return value of resource parser functions
  ACPI: Set flag IORESOURCE_UNSET for unassigned resources
  ACPI: Enforce stricter checks for address space descriptors
  ACPI: Return translation offset when parsing ACPI address space
    resources
  ACPI: Translate resource into master side address for bridge window
    resources
  ACPI: Add field offset to struct resource_list_entry
  ACPI: Introduce helper function acpi_dev_filter_resource_type()
  resources: Move struct resource_list_entry from ACPI into resource
    core
  PCI: Use common resource list management code instead of private
    implementation
  x86/PCI: Fix the range check for IO resources
  x86/PCI/ACPI: Use common ACPI resource interfaces to simplify
    implementation
  x86/PCI: Refine the way to release PCI IRQ resources
  x86/irq, ACPI: Implement ACPI driver to support IOAPIC hotplug

Lv Zheng (1):
  ACPICA: Resources: Provide common part for struct
    acpi_resource_address structures.

Thomas Gleixner (7):
  ACPI: Remove redundant check in function
    acpi_dev_resource_address_space()
  ACPI: Implement proper length checks for mem resources
  ACPI: Use the length check for io resources as well
  ACPI: Let the parser return false for disabled resources
  ACPI: Unify the parsing of address_space and ext_address_space
  ACPI: Move the window flag logic to the combined parser
  ACPI: Add prefetch decoding to the address space parser

Yinghai Lu (1):
  ACPI: Add interfaces to parse IOAPIC ID for IOAPIC hotplug

 arch/arm/kernel/bios32.c            |    5 +-
 arch/ia64/kernel/acpi-ext.c         |    6 +-
 arch/ia64/pci/pci.c                 |   14 +-
 arch/x86/include/asm/pci_x86.h      |    2 -
 arch/x86/pci/acpi.c                 |  293 +++++++++--------------------
 arch/x86/pci/bus_numa.c             |    4 +-
 arch/x86/pci/common.c               |   34 +++-
 arch/x86/pci/intel_mid_pci.c        |    4 +-
 arch/x86/pci/irq.c                  |   15 +-
 arch/x86/pci/mmconfig-shared.c      |    6 +-
 drivers/acpi/Kconfig                |    6 +
 drivers/acpi/Makefile               |    1 +
 drivers/acpi/acpi_lpss.c            |    8 +-
 drivers/acpi/acpi_memhotplug.c      |    8 +-
 drivers/acpi/acpi_platform.c        |    4 +-
 drivers/acpi/acpica/rsaddr.c        |    9 +-
 drivers/acpi/acpica/rsdumpinfo.c    |   59 +++---
 drivers/acpi/acpica/rsxface.c       |   10 +-
 drivers/acpi/internal.h             |    7 +
 drivers/acpi/ioapic.c               |  229 +++++++++++++++++++++++
 drivers/acpi/pci_irq.c              |    9 +-
 drivers/acpi/pci_root.c             |    9 +-
 drivers/acpi/processor_core.c       |  123 +++++++++++-
 drivers/acpi/resource.c             |  353 +++++++++++++++++++++--------------
 drivers/char/hpet.c                 |    4 +-
 drivers/dma/acpi-dma.c              |   10 +-
 drivers/hv/vmbus_drv.c              |    4 +-
 drivers/pci/bus.c                   |   18 +-
 drivers/pci/host-bridge.c           |    8 +-
 drivers/pci/host/pci-host-generic.c |    4 +-
 drivers/pci/host/pci-xgene.c        |    4 +-
 drivers/pci/host/pcie-xilinx.c      |    4 +-
 drivers/pci/probe.c                 |   10 +-
 drivers/pnp/pnpacpi/rsparser.c      |   45 ++---
 drivers/xen/xen-acpi-memhotplug.c   |    8 +-
 include/acpi/acrestyp.h             |   40 ++--
 include/linux/acpi.h                |   22 ++-
 include/linux/pci.h                 |    9 +-
 include/linux/resource_ext.h        |   77 ++++++++
 kernel/resource.c                   |   25 +++
 40 files changed, 970 insertions(+), 540 deletions(-)
 create mode 100644 drivers/acpi/ioapic.c
 create mode 100644 include/linux/resource_ext.h

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux