diff for duplicates of <5AE71BF4.2010200@kontron.com> diff --git a/a/1.txt b/N1/1.txt index e3ffbe2..00b4070 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,7 +1,7 @@ -Le 30/04/2018 10:46, Gilles BULOZ a écrit : -> Le 27/04/2018 18:56, Bjorn Helgaas a écrit : +Le 30/04/2018 10:46, Gilles BULOZ a ?crit : +> Le 27/04/2018 18:56, Bjorn Helgaas a ?crit : >> On Fri, Apr 27, 2018 at 12:29:32PM +0000, Gilles Buloz wrote: ->>> Le 27/04/2018 10:43, Ard Biesheuvel a écrit : +>>> Le 27/04/2018 10:43, Ard Biesheuvel a ?crit : >>>> (add Bjorn and linux-pci) >>>> >>>> On 13 April 2018 at 19:32, Gilles Buloz <Gilles.Buloz@kontron.com> wrote: @@ -194,3 +194,10 @@ Le 30/04/2018 10:46, Gilles BULOZ a écrit : I mean something like the attached patch I tested this morning... Sorry, this is for old kernel 4.1.35 but just to clarify what I propose (also applies to 4.16.6 by changing value of PCI_BUS_FLAGS_COMPAT_CFG_SPACE in pci.h to 8). +-------------- next part -------------- +A non-text attachment was scrubbed... +Name: cfgspace2_4.1.35.patch +Type: text/x-patch +Size: 2201 bytes +Desc: cfgspace2_4.1.35.patch +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180430/de70abf8/attachment-0001.bin> diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 379e668..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,7 +0,0 @@ -Content-Type: text/x-patch; name=cfgspace2_4.1.35.patch -Content-Description: cfgspace2_4.1.35.patch -Content-Disposition: attachment; filename="cfgspace2_4.1.35.patch"; size=2201; - creation-date="Mon, 30 Apr 2018 13:36:53 GMT"; - modification-date="Mon, 30 Apr 2018 13:36:53 GMT" -Content-ID: <C224F344D4A5E549AD84B7118DE41854@Kontron.com> -Content-Transfer-Encoding: base64 diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index 3a49c7b..0000000 --- a/a/2.txt +++ /dev/null @@ -1,66 +0,0 @@ ---- include/linux/pci.h.orig 2018-03-26 16:51:18.050000000 +0000 -+++ include/linux/pci.h 2018-04-30 09:50:57.660000000 +0000 -@@ -193,6 +193,7 @@ - enum pci_bus_flags { - PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1, - PCI_BUS_FLAGS_NO_MMRBC = (__force pci_bus_flags_t) 2, -+ PCI_BUS_FLAGS_COMPAT_CFG_SPACE = (__force pci_bus_flags_t) 4, - }; - - /* These values come from the PCI Express Spec */ ---- drivers/pci/probe.c.orig 2018-01-22 09:29:52.000000000 +0000 -+++ drivers/pci/probe.c 2018-04-30 13:29:50.600000000 +0000 -@@ -754,6 +754,35 @@ - PCI_EXP_RTCTL_CRSSVE); - } - -+static void pci_bus_check_compat_cfg_space(struct pci_bus *bus) -+{ -+ struct pci_dev *dev = bus->self; -+ bool pci_compat_cfg_space = false; -+ int pos; -+ u32 status; -+ -+ if (bus->bus_flags & PCI_BUS_FLAGS_COMPAT_CFG_SPACE) -+ return; -+ -+ if (!pci_is_pcie(dev) || /* PCI/PCI bridge */ -+ (pci_pcie_type(dev) == PCI_EXP_TYPE_PCIE_BRIDGE) || /* PCIe/PCI bridge in forward mode */ -+ (pci_pcie_type(dev) == PCI_EXP_TYPE_PCI_BRIDGE)) { /* PCIe/PCI bridge in reverse mode */ -+ pos = pci_find_capability(dev, PCI_CAP_ID_PCIX); -+ if (pos) { -+ pci_read_config_dword(dev, pos + PCI_X_STATUS, &status); -+ if (!(status & (PCI_X_STATUS_266MHZ | PCI_X_STATUS_533MHZ))) -+ pci_compat_cfg_space = true; -+ } else { -+ pci_compat_cfg_space = true; -+ } -+ if (pci_compat_cfg_space) { -+ dev_info(&dev->dev, "bus %02x limited to PCI-Compatible config space\n", -+ bus->number); -+ bus->bus_flags |= PCI_BUS_FLAGS_COMPAT_CFG_SPACE; -+ } -+ } -+} -+ - /* - * If it's a bridge, configure it and scan the bus behind it. - * For CardBus bridges, we don't scan behind as the devices will -@@ -827,6 +856,7 @@ - child->primary = primary; - pci_bus_insert_busn_res(child, secondary, subordinate); - child->bridge_ctl = bctl; -+ pci_bus_check_compat_cfg_space(child); - } - - cmax = pci_scan_child_bus(child); -@@ -1084,6 +1114,9 @@ - u32 status; - u16 class; - -+ if (dev->bus->bus_flags & PCI_BUS_FLAGS_COMPAT_CFG_SPACE) -+ return PCI_CFG_SPACE_SIZE; -+ - class = dev->class >> 8; - if (class == PCI_CLASS_BRIDGE_HOST) - return pci_cfg_space_size_ext(dev); diff --git a/a/3.hdr b/a/3.hdr deleted file mode 100644 index 4b86001..0000000 --- a/a/3.hdr +++ /dev/null @@ -1,4 +0,0 @@ -Content-Type: text/plain; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Disposition: inline diff --git a/a/3.txt b/a/3.txt deleted file mode 100644 index 8133cf0..0000000 --- a/a/3.txt +++ /dev/null @@ -1,4 +0,0 @@ -_______________________________________________ -linux-arm-kernel mailing list -linux-arm-kernel@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N1/content_digest index 7f6f771..9ddd133 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -3,21 +3,16 @@ "ref\05AE317AB.4020404@kontron.com\0" "ref\020180427165627.GA8199@bhelgaas-glaptop.roam.corp.google.com\0" "ref\05AE6D7E2.9030506@kontron.com\0" - "From\0Gilles Buloz <Gilles.Buloz@kontron.com>\0" - "Subject\0Re: LS1043A : \"synchronous abort\" at boot due to PCI config read\0" + "From\0Gilles.Buloz@kontron.com (Gilles Buloz)\0" + "Subject\0LS1043A : \"synchronous abort\" at boot due to PCI config read\0" "Date\0Mon, 30 Apr 2018 13:36:53 +0000\0" - "To\0Bjorn Helgaas <helgaas@kernel.org>\0" - "Cc\0Bjorn Helgaas <bhelgaas@google.com>" - linux-pci <linux-pci@vger.kernel.org> - Minghuan.Lian@nxp.com <Minghuan.Lian@nxp.com> - linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> - " Ard Biesheuvel <ard.biesheuvel@linaro.org>\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" - "Le 30/04/2018 10:46, Gilles BULOZ a \303\251crit :\n" - "> Le 27/04/2018 18:56, Bjorn Helgaas a \303\251crit :\n" + "Le 30/04/2018 10:46, Gilles BULOZ a ?crit :\n" + "> Le 27/04/2018 18:56, Bjorn Helgaas a ?crit :\n" ">> On Fri, Apr 27, 2018 at 12:29:32PM +0000, Gilles Buloz wrote:\n" - ">>> Le 27/04/2018 10:43, Ard Biesheuvel a \303\251crit :\n" + ">>> Le 27/04/2018 10:43, Ard Biesheuvel a ?crit :\n" ">>>> (add Bjorn and linux-pci)\n" ">>>>\n" ">>>> On 13 April 2018 at 19:32, Gilles Buloz <Gilles.Buloz@kontron.com> wrote:\n" @@ -209,82 +204,13 @@ ">\n" "I mean something like the attached patch I tested this morning...\n" "Sorry, this is for old kernel 4.1.35 but just to clarify what I propose (also applies to 4.16.6 by changing value of \n" - PCI_BUS_FLAGS_COMPAT_CFG_SPACE in pci.h to 8). - "\01:2\0" - "fn\0cfgspace2_4.1.35.patch\0" - "d\0cfgspace2_4.1.35.patch\0" - "b\0" - "--- include/linux/pci.h.orig\t2018-03-26 16:51:18.050000000 +0000\n" - "+++ include/linux/pci.h\t2018-04-30 09:50:57.660000000 +0000\n" - "@@ -193,6 +193,7 @@\n" - " enum pci_bus_flags {\n" - " \tPCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1,\n" - " \tPCI_BUS_FLAGS_NO_MMRBC = (__force pci_bus_flags_t) 2,\n" - "+\tPCI_BUS_FLAGS_COMPAT_CFG_SPACE = (__force pci_bus_flags_t) 4,\n" - " };\n" - " \n" - " /* These values come from the PCI Express Spec */\n" - "--- drivers/pci/probe.c.orig\t2018-01-22 09:29:52.000000000 +0000\n" - "+++ drivers/pci/probe.c\t2018-04-30 13:29:50.600000000 +0000\n" - "@@ -754,6 +754,35 @@\n" - " \t\t\t\t\t PCI_EXP_RTCTL_CRSSVE);\n" - " }\n" - " \n" - "+static void pci_bus_check_compat_cfg_space(struct pci_bus *bus)\n" - "+{\n" - "+\tstruct pci_dev *dev = bus->self;\n" - "+\tbool pci_compat_cfg_space = false;\n" - "+\tint pos;\n" - "+\tu32 status;\n" - "+\n" - "+\tif (bus->bus_flags & PCI_BUS_FLAGS_COMPAT_CFG_SPACE)\n" - "+\t\treturn;\n" - "+\n" - "+\tif (!pci_is_pcie(dev) || /* PCI/PCI bridge */\n" - "+\t (pci_pcie_type(dev) == PCI_EXP_TYPE_PCIE_BRIDGE) || /* PCIe/PCI bridge in forward mode */\n" - "+\t (pci_pcie_type(dev) == PCI_EXP_TYPE_PCI_BRIDGE)) { /* PCIe/PCI bridge in reverse mode */\n" - "+\t\tpos = pci_find_capability(dev, PCI_CAP_ID_PCIX);\n" - "+\t\tif (pos) {\n" - "+\t\t\tpci_read_config_dword(dev, pos + PCI_X_STATUS, &status);\n" - "+\t\t\tif (!(status & (PCI_X_STATUS_266MHZ | PCI_X_STATUS_533MHZ)))\n" - "+\t\t\t\tpci_compat_cfg_space = true;\n" - "+\t\t} else {\n" - "+\t\t\tpci_compat_cfg_space = true;\n" - "+\t\t}\n" - "+\t\tif (pci_compat_cfg_space) {\n" - "+\t\t\tdev_info(&dev->dev, \"bus %02x limited to PCI-Compatible config space\\n\",\n" - "+\t\t\t\t bus->number);\n" - "+\t\t\tbus->bus_flags |= PCI_BUS_FLAGS_COMPAT_CFG_SPACE;\n" - "+\t\t}\n" - "+\t}\n" - "+}\n" - "+\n" - " /*\n" - " * If it's a bridge, configure it and scan the bus behind it.\n" - " * For CardBus bridges, we don't scan behind as the devices will\n" - "@@ -827,6 +856,7 @@\n" - " \t\t\tchild->primary = primary;\n" - " \t\t\tpci_bus_insert_busn_res(child, secondary, subordinate);\n" - " \t\t\tchild->bridge_ctl = bctl;\n" - "+\t\t\tpci_bus_check_compat_cfg_space(child);\n" - " \t\t}\n" - " \n" - " \t\tcmax = pci_scan_child_bus(child);\n" - "@@ -1084,6 +1114,9 @@\n" - " \tu32 status;\n" - " \tu16 class;\n" - " \n" - "+\tif (dev->bus->bus_flags & PCI_BUS_FLAGS_COMPAT_CFG_SPACE)\n" - "+\t\treturn PCI_CFG_SPACE_SIZE;\n" - "+\n" - " \tclass = dev->class >> 8;\n" - " \tif (class == PCI_CLASS_BRIDGE_HOST)\n" - " \t\treturn pci_cfg_space_size_ext(dev);" - "\01:3\0" - "b\0" - "_______________________________________________\n" - "linux-arm-kernel mailing list\n" - "linux-arm-kernel@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/linux-arm-kernel + "PCI_BUS_FLAGS_COMPAT_CFG_SPACE in pci.h to 8).\n" + "-------------- next part --------------\n" + "A non-text attachment was scrubbed...\n" + "Name: cfgspace2_4.1.35.patch\n" + "Type: text/x-patch\n" + "Size: 2201 bytes\n" + "Desc: cfgspace2_4.1.35.patch\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180430/de70abf8/attachment-0001.bin> -841f95d905acde89b33ed0fc0e894b6d57cb9e551319e900ec0041b084d445e6 +13198fd513faf5ed683c613237623a2a3f1999eb3af802ffccb16a012b93eac0
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.