linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v12 00/15] PCI: Fixup for 64bit resource with sparc
@ 2016-06-04  0:06 Yinghai Lu
  2016-06-04  0:06 ` [PATCH v12 01/15] PCI: Let pci_mmap_page_range() take extra resource pointer Yinghai Lu
                   ` (14 more replies)
  0 siblings, 15 replies; 21+ messages in thread
From: Yinghai Lu @ 2016-06-04  0:06 UTC (permalink / raw)
  To: Bjorn Helgaas, David Miller, Benjamin Herrenschmidt, Linus Torvalds
  Cc: Wei Yang, Khalid Aziz, linux-pci, linux-kernel, Yinghai Lu

Hi Bjorn,

After 5b28541552ef (PCI: Restrict 64-bit prefetchable bridge windows
to 64-bit resources), we have several reports on resource allocation
failure, and we try to fix the problem with resource clip, and find
more problems.

One is from sparc that have problem with clip as we don't parse
mem64 for it.

This patchset try to fix the problem for sparc.

patch 1-2: try to fix the pci mmap for proc path for sparc, that will
make fix for sparc 64bit resource offset handling much simple.

patch 3-10: parse MEM64 for sparc and other system with OF.
So device 64bit resource could find their parent resource.

patch 11-14: MMIO64 handling enhancement
        treat non-pref mmio64 if parent bridges are all pcie.

patch 15: restore old pref allocation logic if hostbridge does not support mmio64.

Khalid Aziz tested on some sparc platforms that have different offset to
mem space start or support 64bit mmio.

-v12: add two pci_mmap_page_range() related patches, and
      only include sparc related patches at first.
      will submit other later.

Hope we can get them into v4.8.

Thanks

Yinghai

Yinghai Lu (15):
  PCI: Let pci_mmap_page_range() take extra resource pointer
  PCI: Let pci_mmap_page_range() take resource address
  sparc/PCI: Use correct offset for bus address to resource
  PCI: Add pci_find_bus_resource()
  sparc/PCI: Reserve legacy mmio after PCI mmio
  sparc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing
  sparc/PCI: Keep resource idx order with bridge register number
  powerpc/PCI: Keep resource idx order with bridge register number
  powerpc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing
  OF/PCI: Add IORESOURCE_MEM_64 for 64-bit resource
  PCI: Check pref compatible bit for mem64 resource of PCIe device
  PCI: Only treat non-pref mmio64 as pref if all bridges have MEM_64
  PCI: Add has_mem64 for struct host_bridge
  PCI: Only treat non-pref mmio64 as pref if host bridge has mmio64
  PCI: Restore pref MMIO allocation logic for host bridge without mmio64

 arch/arm/include/asm/pci.h              |   2 -
 arch/arm/kernel/bios32.c                |   3 +-
 arch/cris/arch-v32/drivers/pci/bios.c   |   3 +-
 arch/cris/include/asm/pci.h             |   3 -
 arch/ia64/include/asm/pci.h             |   2 -
 arch/ia64/pci/pci.c                     |   3 +-
 arch/microblaze/include/asm/pci.h       |   3 -
 arch/microblaze/pci/pci-common.c        |  81 +++---------------
 arch/mips/include/asm/pci.h             |   3 -
 arch/mips/pci/pci.c                     |   3 +-
 arch/mn10300/include/asm/pci.h          |   3 -
 arch/mn10300/unit-asb2305/pci-asb2305.c |   3 +-
 arch/parisc/include/asm/pci.h           |   3 -
 arch/parisc/kernel/pci.c                |   3 +-
 arch/powerpc/include/asm/pci.h          |   3 -
 arch/powerpc/kernel/pci-common.c        |  81 +++---------------
 arch/powerpc/kernel/pci_of_scan.c       |  12 ++-
 arch/sh/drivers/pci/pci.c               |   3 +-
 arch/sh/include/asm/pci.h               |   2 -
 arch/sparc/include/asm/pci_64.h         |   4 -
 arch/sparc/kernel/of_device_32.c        |   5 +-
 arch/sparc/kernel/of_device_64.c        |   5 +-
 arch/sparc/kernel/pci.c                 | 147 ++++----------------------------
 arch/sparc/kernel/pci_common.c          |  91 ++++++++++++--------
 arch/sparc/kernel/pci_impl.h            |   5 ++
 arch/unicore32/include/asm/pci.h        |   2 -
 arch/unicore32/kernel/pci.c             |   3 +-
 arch/x86/include/asm/pci.h              |   4 -
 arch/x86/pci/i386.c                     |   3 +-
 arch/xtensa/include/asm/pci.h           |   4 -
 arch/xtensa/kernel/pci.c                |  78 +++--------------
 drivers/of/address.c                    |   4 +-
 drivers/pci/bus.c                       |   4 +-
 drivers/pci/pci-sysfs.c                 |  35 +++++---
 drivers/pci/pci.c                       |  31 ++++---
 drivers/pci/pci.h                       |   4 +-
 drivers/pci/probe.c                     |  40 +++++++++
 drivers/pci/proc.c                      |  65 +++++++++++---
 drivers/pci/setup-bus.c                 |  65 ++++++++++++--
 drivers/pci/setup-res.c                 |  13 ++-
 include/linux/pci.h                     |  10 +++
 41 files changed, 367 insertions(+), 474 deletions(-)

-- 
2.8.3

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

end of thread, other threads:[~2016-06-09 22:36 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-04  0:06 [PATCH v12 00/15] PCI: Fixup for 64bit resource with sparc Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 01/15] PCI: Let pci_mmap_page_range() take extra resource pointer Yinghai Lu
2016-06-07  8:04   ` Jesper Nilsson
2016-06-08 21:03   ` Bjorn Helgaas
2016-06-08 22:35     ` Yinghai Lu
2016-06-09  0:00       ` Yinghai Lu
2016-06-09 22:36         ` Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 02/15] PCI: Let pci_mmap_page_range() take resource address Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 03/15] sparc/PCI: Use correct offset for bus address to resource Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 04/15] PCI: Add pci_find_bus_resource() Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 05/15] sparc/PCI: Reserve legacy mmio after PCI mmio Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 06/15] sparc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 07/15] sparc/PCI: Keep resource idx order with bridge register number Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 08/15] powerpc/PCI: " Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 09/15] powerpc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 10/15] OF/PCI: Add IORESOURCE_MEM_64 for 64-bit resource Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 11/15] PCI: Check pref compatible bit for mem64 resource of PCIe device Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 12/15] PCI: Only treat non-pref mmio64 as pref if all bridges have MEM_64 Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 13/15] PCI: Add has_mem64 for struct host_bridge Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 14/15] PCI: Only treat non-pref mmio64 as pref if host bridge has mmio64 Yinghai Lu
2016-06-04  0:06 ` [PATCH v12 15/15] PCI: Restore pref MMIO allocation logic for host bridge without mmio64 Yinghai Lu

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