All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20160909030938.GA8544@arm.com>

diff --git a/a/1.txt b/N1/1.txt
index c63bb94..ccb7413 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -2,118 +2,127 @@ Hi Tomasz,
 
 On Tue, Sep 06, 2016 at 11:08:51AM +0200, Tomasz Nowicki wrote:
 [...]
-> +static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in,
-> +		       u32 *rid_out)
+> +static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 ri=
+d_in,
+> +=09=09       u32 *rid_out)
 > +{
-> +	/* Single mapping does not care for input id */
-> +	if (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) {
-> +		if (type == ACPI_IORT_NODE_NAMED_COMPONENT ||
-> +		    type == ACPI_IORT_NODE_PCI_ROOT_COMPLEX) {
-> +			*rid_out = map->output_base;
-> +			return 0;
-> +		}
-> +
-> +		pr_warn(FW_BUG "[map %p] SINGLE MAPPING flag not allowed for node type %d, skipping ID map\n",
-> +			map, type);
-> +		return -ENXIO;
-> +	}
-> +
-> +	if (rid_in < map->input_base ||
-> +	    (rid_in >= map->input_base + map->id_count))
-> +		return -ENXIO;
-> +
-> +	*rid_out = map->output_base + (rid_in - map->input_base);
-> +	return 0;
+> +=09/* Single mapping does not care for input id */
+> +=09if (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) {
+> +=09=09if (type =3D=3D ACPI_IORT_NODE_NAMED_COMPONENT ||
+> +=09=09    type =3D=3D ACPI_IORT_NODE_PCI_ROOT_COMPLEX) {
+> +=09=09=09*rid_out =3D map->output_base;
+> +=09=09=09return 0;
+> +=09=09}
+> +
+> +=09=09pr_warn(FW_BUG "[map %p] SINGLE MAPPING flag not allowed for node =
+type %d, skipping ID map\n",
+> +=09=09=09map, type);
+> +=09=09return -ENXIO;
+> +=09}
+> +
+> +=09if (rid_in < map->input_base ||
+> +=09    (rid_in >=3D map->input_base + map->id_count))
+> +=09=09return -ENXIO;
+> +
+> +=09*rid_out =3D map->output_base + (rid_in - map->input_base);
+> +=09return 0;
 > +}
 > +
-> +static struct acpi_iort_node *iort_node_map_rid(struct acpi_iort_node *node,
-> +						u32 rid_in, u32 *rid_out,
-> +						u8 type)
+> +static struct acpi_iort_node *iort_node_map_rid(struct acpi_iort_node *n=
+ode,
+> +=09=09=09=09=09=09u32 rid_in, u32 *rid_out,
+> +=09=09=09=09=09=09u8 type)
 > +{
-> +	u32 rid = rid_in;
-> +
-> +	/* Parse the ID mapping tree to find specified node type */
-> +	while (node) {
-> +		struct acpi_iort_id_mapping *map;
-> +		int i;
-> +
-> +		if (node->type == type) {
-> +			if (rid_out)
-> +				*rid_out = rid;
-> +			return node;
-> +		}
-> +
-> +		if (!node->mapping_offset || !node->mapping_count)
-> +			goto fail_map;
-If node->mapping_count is zero, then node->mapping_offset must be zero. A firmware bug
+> +=09u32 rid =3D rid_in;
+> +
+> +=09/* Parse the ID mapping tree to find specified node type */
+> +=09while (node) {
+> +=09=09struct acpi_iort_id_mapping *map;
+> +=09=09int i;
+> +
+> +=09=09if (node->type =3D=3D type) {
+> +=09=09=09if (rid_out)
+> +=09=09=09=09*rid_out =3D rid;
+> +=09=09=09return node;
+> +=09=09}
+> +
+> +=09=09if (!node->mapping_offset || !node->mapping_count)
+> +=09=09=09goto fail_map;
+If node->mapping_count is zero, then node->mapping_offset must be zero. A f=
+irmware bug
 otherwise?
 > +
-> +		map = ACPI_ADD_PTR(struct acpi_iort_id_mapping, node,
-> +				   node->mapping_offset);
-> +
-> +		/* Firmware bug! */
-> +		if (!map->output_reference) {
-> +			pr_err(FW_BUG "[node %p type %d] ID map has NULL parent reference\n",
-> +			       node, node->type);
-> +			goto fail_map;
-> +		}
-> +
-> +		/* Do the RID translation */
-> +		for (i = 0; i < node->mapping_count; i++, map++) {
-> +			if (!iort_id_map(map, node->type, rid, &rid))
-> +				break;
-> +		}
+> +=09=09map =3D ACPI_ADD_PTR(struct acpi_iort_id_mapping, node,
+> +=09=09=09=09   node->mapping_offset);
+> +
+> +=09=09/* Firmware bug! */
+> +=09=09if (!map->output_reference) {
+> +=09=09=09pr_err(FW_BUG "[node %p type %d] ID map has NULL parent referen=
+ce\n",
+> +=09=09=09       node, node->type);
+> +=09=09=09goto fail_map;
+> +=09=09}
+> +
+> +=09=09/* Do the RID translation */
+> +=09=09for (i =3D 0; i < node->mapping_count; i++, map++) {
+> +=09=09=09if (!iort_id_map(map, node->type, rid, &rid))
+> +=09=09=09=09break;
+> +=09=09}
 >
-Just curious about if there is kind of possibility that we can get some reduplicated DeviceIDs
-with a deliberate ID mapping design in FW for the SMMU/RC node. For instance, for a system with 2
-PCIe RCs both behind an individual SMMU device, how to make sure the StreamID mapped is unique 
-across the entire system, the same for DeviceID mapped. 
-Anyway, this is my personal confusion, maybe it's not a problem at all for current design ;-)
+Just curious about if there is kind of possibility that we can get some red=
+uplicated DeviceIDs
+with a deliberate ID mapping design in FW for the SMMU/RC node. For instanc=
+e, for a system with 2
+PCIe RCs both behind an individual SMMU device, how to make sure the Stream=
+ID mapped is unique=20
+across the entire system, the same for DeviceID mapped.=20
+Anyway, this is my personal confusion, maybe it's not a problem at all for =
+current design ;-)
 
 Thanks,
 Dennis
 > +
-> +		if (i == node->mapping_count)
-> +			goto fail_map;
+> +=09=09if (i =3D=3D node->mapping_count)
+> +=09=09=09goto fail_map;
 > +
-> +		node = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
-> +				    map->output_reference);
-> +	}
+> +=09=09node =3D ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
+> +=09=09=09=09    map->output_reference);
+> +=09}
 > +
 > +fail_map:
-> +	/* Map input RID to output RID unchanged on mapping failure*/
-> +	if (rid_out)
-> +		*rid_out = rid_in;
+> +=09/* Map input RID to output RID unchanged on mapping failure*/
+> +=09if (rid_out)
+> +=09=09*rid_out =3D rid_in;
 > +
-> +	return NULL;
+> +=09return NULL;
 > +}
 > +
 > +static struct acpi_iort_node *iort_find_dev_node(struct device *dev)
 > +{
-> +	struct pci_bus *pbus;
+> +=09struct pci_bus *pbus;
 > +
-> +	if (!dev_is_pci(dev))
-> +		return iort_scan_node(ACPI_IORT_NODE_NAMED_COMPONENT,
-> +				      iort_match_node_callback, dev);
+> +=09if (!dev_is_pci(dev))
+> +=09=09return iort_scan_node(ACPI_IORT_NODE_NAMED_COMPONENT,
+> +=09=09=09=09      iort_match_node_callback, dev);
 > +
-> +	/* Find a PCI root bus */
-> +	pbus = to_pci_dev(dev)->bus;
-> +	while (!pci_is_root_bus(pbus))
-> +		pbus = pbus->parent;
+> +=09/* Find a PCI root bus */
+> +=09pbus =3D to_pci_dev(dev)->bus;
+> +=09while (!pci_is_root_bus(pbus))
+> +=09=09pbus =3D pbus->parent;
 > +
-> +	return iort_scan_node(ACPI_IORT_NODE_PCI_ROOT_COMPLEX,
-> +			      iort_match_node_callback, &pbus->dev);
+> +=09return iort_scan_node(ACPI_IORT_NODE_PCI_ROOT_COMPLEX,
+> +=09=09=09      iort_match_node_callback, &pbus->dev);
 > +}
 > +
 > +void __init acpi_iort_init(void)
 > +{
-> +	acpi_status status;
+> +=09acpi_status status;
 > +
-> +	status = acpi_get_table(ACPI_SIG_IORT, 0, &iort_table);
-> +	if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
-> +		const char *msg = acpi_format_exception(status);
-> +		pr_err("Failed to get table, %s\n", msg);
-> +	}
+> +=09status =3D acpi_get_table(ACPI_SIG_IORT, 0, &iort_table);
+> +=09if (ACPI_FAILURE(status) && status !=3D AE_NOT_FOUND) {
+> +=09=09const char *msg =3D acpi_format_exception(status);
+> +=09=09pr_err("Failed to get table, %s\n", msg);
+> +=09}
 > +}
 > diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
 > index 85b7d07..e56e643 100644
@@ -128,13 +137,13 @@ Dennis
 >  #include <acpi/apei.h>
 >  #include <linux/dmi.h>
 > @@ -1186,6 +1187,7 @@ static int __init acpi_init(void)
->  	}
->  
->  	pci_mmcfg_late_init();
-> +	acpi_iort_init();
->  	acpi_scan_init();
->  	acpi_ec_init();
->  	acpi_debugfs_init();
+>  =09}
+> =20
+>  =09pci_mmcfg_late_init();
+> +=09acpi_iort_init();
+>  =09acpi_scan_init();
+>  =09acpi_ec_init();
+>  =09acpi_debugfs_init();
 > diff --git a/include/linux/acpi_iort.h b/include/linux/acpi_iort.h
 > new file mode 100644
 > index 0000000..fcacaf7
@@ -143,19 +152,24 @@ Dennis
 > @@ -0,0 +1,30 @@
 > +/*
 > + * Copyright (C) 2016, Semihalf
-> + *	Author: Tomasz Nowicki <tn@semihalf.com>
+> + *=09Author: Tomasz Nowicki <tn@semihalf.com>
 > + *
-> + * This program is free software; you can redistribute it and/or modify it
+> + * This program is free software; you can redistribute it and/or modify =
+it
 > + * under the terms and conditions of the GNU General Public License,
 > + * version 2, as published by the Free Software Foundation.
 > + *
-> + * This program is distributed in the hope it will be useful, but WITHOUT
+> + * This program is distributed in the hope it will be useful, but WITHOU=
+T
 > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License=
+ for
 > + * more details.
 > + *
-> + * You should have received a copy of the GNU General Public License along with
-> + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+> + * You should have received a copy of the GNU General Public License alo=
+ng with
+> + * this program; if not, write to the Free Software Foundation, Inc., 59=
+ Temple
 > + * Place - Suite 330, Boston, MA 02111-1307 USA.
 > + */
 > +
@@ -171,11 +185,11 @@ Dennis
 > +#endif
 > +
 > +#endif /* __ACPI_IORT_H__ */
-> -- 
+> --=20
 > 1.9.1
-> 
+>=20
 > --
 > To unsubscribe from this list: send the line "unsubscribe linux-pci" in
 > the body of a message to majordomo@vger.kernel.org
 > More majordomo info at  http://vger.kernel.org/majordomo-info.html
->
+>=20
diff --git a/a/content_digest b/N1/content_digest
index eee88f9..b54b575 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -4,148 +4,157 @@
  "Subject\0Re: [PATCH V10 1/8] ACPI: I/O Remapping Table (IORT) initial support\0"
  "Date\0Fri, 9 Sep 2016 11:09:40 +0800\0"
  "To\0Tomasz Nowicki <tn@semihalf.com>\0"
- "Cc\0marc.zyngier@arm.com"
-  tglx@linutronix.de
-  jason@lakedaemon.net
-  rjw@rjwysocki.net
-  helgaas@kernel.org
-  rafael@kernel.org
-  Lorenzo.Pieralisi@arm.com
-  will.deacon@arm.com
-  catalin.marinas@arm.com
-  hanjun.guo@linaro.org
-  shijie.huang@arm.com
-  robert.richter@caviumnetworks.com
-  mw@semihalf.com
-  linux-pci@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
-  linaro-acpi@lists.linaro.org
-  andrea.gallo@linaro.org
-  linux-acpi@vger.kernel.org
-  linux-kernel@vger.kernel.org
-  al.stone@linaro.org
-  graeme.gregory@linaro.org
-  ddaney.cavm@gmail.com
-  okaya@codeaurora.org
- " nd@arm.com\0"
+ "Cc\0<marc.zyngier@arm.com>"
+  <tglx@linutronix.de>
+  <jason@lakedaemon.net>
+  <rjw@rjwysocki.net>
+  <helgaas@kernel.org>
+  <rafael@kernel.org>
+  <Lorenzo.Pieralisi@arm.com>
+  <will.deacon@arm.com>
+  <catalin.marinas@arm.com>
+  <hanjun.guo@linaro.org>
+  <shijie.huang@arm.com>
+  <robert.richter@caviumnetworks.com>
+  <mw@semihalf.com>
+  <linux-pci@vger.kernel.org>
+  <linux-arm-kernel@lists.infradead.org>
+  <linaro-acpi@lists.linaro.org>
+  <andrea.gallo@linaro.org>
+  <linux-acpi@vger.kernel.org>
+  <linux-kernel@vger.kernel.org>
+  <al.stone@linaro.org>
+  <graeme.gregory@linaro.org>
+  <ddaney.cavm@gmail.com>
+  <okaya@codeaurora.org>
+ " <nd@arm.com>\0"
  "\00:1\0"
  "b\0"
  "Hi Tomasz,\n"
  "\n"
  "On Tue, Sep 06, 2016 at 11:08:51AM +0200, Tomasz Nowicki wrote:\n"
  "[...]\n"
- "> +static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 rid_in,\n"
- "> +\t\t       u32 *rid_out)\n"
+ "> +static int iort_id_map(struct acpi_iort_id_mapping *map, u8 type, u32 ri=\n"
+ "d_in,\n"
+ "> +=09=09       u32 *rid_out)\n"
  "> +{\n"
- "> +\t/* Single mapping does not care for input id */\n"
- "> +\tif (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) {\n"
- "> +\t\tif (type == ACPI_IORT_NODE_NAMED_COMPONENT ||\n"
- "> +\t\t    type == ACPI_IORT_NODE_PCI_ROOT_COMPLEX) {\n"
- "> +\t\t\t*rid_out = map->output_base;\n"
- "> +\t\t\treturn 0;\n"
- "> +\t\t}\n"
- "> +\n"
- "> +\t\tpr_warn(FW_BUG \"[map %p] SINGLE MAPPING flag not allowed for node type %d, skipping ID map\\n\",\n"
- "> +\t\t\tmap, type);\n"
- "> +\t\treturn -ENXIO;\n"
- "> +\t}\n"
- "> +\n"
- "> +\tif (rid_in < map->input_base ||\n"
- "> +\t    (rid_in >= map->input_base + map->id_count))\n"
- "> +\t\treturn -ENXIO;\n"
- "> +\n"
- "> +\t*rid_out = map->output_base + (rid_in - map->input_base);\n"
- "> +\treturn 0;\n"
+ "> +=09/* Single mapping does not care for input id */\n"
+ "> +=09if (map->flags & ACPI_IORT_ID_SINGLE_MAPPING) {\n"
+ "> +=09=09if (type =3D=3D ACPI_IORT_NODE_NAMED_COMPONENT ||\n"
+ "> +=09=09    type =3D=3D ACPI_IORT_NODE_PCI_ROOT_COMPLEX) {\n"
+ "> +=09=09=09*rid_out =3D map->output_base;\n"
+ "> +=09=09=09return 0;\n"
+ "> +=09=09}\n"
+ "> +\n"
+ "> +=09=09pr_warn(FW_BUG \"[map %p] SINGLE MAPPING flag not allowed for node =\n"
+ "type %d, skipping ID map\\n\",\n"
+ "> +=09=09=09map, type);\n"
+ "> +=09=09return -ENXIO;\n"
+ "> +=09}\n"
+ "> +\n"
+ "> +=09if (rid_in < map->input_base ||\n"
+ "> +=09    (rid_in >=3D map->input_base + map->id_count))\n"
+ "> +=09=09return -ENXIO;\n"
+ "> +\n"
+ "> +=09*rid_out =3D map->output_base + (rid_in - map->input_base);\n"
+ "> +=09return 0;\n"
  "> +}\n"
  "> +\n"
- "> +static struct acpi_iort_node *iort_node_map_rid(struct acpi_iort_node *node,\n"
- "> +\t\t\t\t\t\tu32 rid_in, u32 *rid_out,\n"
- "> +\t\t\t\t\t\tu8 type)\n"
+ "> +static struct acpi_iort_node *iort_node_map_rid(struct acpi_iort_node *n=\n"
+ "ode,\n"
+ "> +=09=09=09=09=09=09u32 rid_in, u32 *rid_out,\n"
+ "> +=09=09=09=09=09=09u8 type)\n"
  "> +{\n"
- "> +\tu32 rid = rid_in;\n"
- "> +\n"
- "> +\t/* Parse the ID mapping tree to find specified node type */\n"
- "> +\twhile (node) {\n"
- "> +\t\tstruct acpi_iort_id_mapping *map;\n"
- "> +\t\tint i;\n"
- "> +\n"
- "> +\t\tif (node->type == type) {\n"
- "> +\t\t\tif (rid_out)\n"
- "> +\t\t\t\t*rid_out = rid;\n"
- "> +\t\t\treturn node;\n"
- "> +\t\t}\n"
- "> +\n"
- "> +\t\tif (!node->mapping_offset || !node->mapping_count)\n"
- "> +\t\t\tgoto fail_map;\n"
- "If node->mapping_count is zero, then node->mapping_offset must be zero. A firmware bug\n"
+ "> +=09u32 rid =3D rid_in;\n"
+ "> +\n"
+ "> +=09/* Parse the ID mapping tree to find specified node type */\n"
+ "> +=09while (node) {\n"
+ "> +=09=09struct acpi_iort_id_mapping *map;\n"
+ "> +=09=09int i;\n"
+ "> +\n"
+ "> +=09=09if (node->type =3D=3D type) {\n"
+ "> +=09=09=09if (rid_out)\n"
+ "> +=09=09=09=09*rid_out =3D rid;\n"
+ "> +=09=09=09return node;\n"
+ "> +=09=09}\n"
+ "> +\n"
+ "> +=09=09if (!node->mapping_offset || !node->mapping_count)\n"
+ "> +=09=09=09goto fail_map;\n"
+ "If node->mapping_count is zero, then node->mapping_offset must be zero. A f=\n"
+ "irmware bug\n"
  "otherwise?\n"
  "> +\n"
- "> +\t\tmap = ACPI_ADD_PTR(struct acpi_iort_id_mapping, node,\n"
- "> +\t\t\t\t   node->mapping_offset);\n"
- "> +\n"
- "> +\t\t/* Firmware bug! */\n"
- "> +\t\tif (!map->output_reference) {\n"
- "> +\t\t\tpr_err(FW_BUG \"[node %p type %d] ID map has NULL parent reference\\n\",\n"
- "> +\t\t\t       node, node->type);\n"
- "> +\t\t\tgoto fail_map;\n"
- "> +\t\t}\n"
- "> +\n"
- "> +\t\t/* Do the RID translation */\n"
- "> +\t\tfor (i = 0; i < node->mapping_count; i++, map++) {\n"
- "> +\t\t\tif (!iort_id_map(map, node->type, rid, &rid))\n"
- "> +\t\t\t\tbreak;\n"
- "> +\t\t}\n"
+ "> +=09=09map =3D ACPI_ADD_PTR(struct acpi_iort_id_mapping, node,\n"
+ "> +=09=09=09=09   node->mapping_offset);\n"
+ "> +\n"
+ "> +=09=09/* Firmware bug! */\n"
+ "> +=09=09if (!map->output_reference) {\n"
+ "> +=09=09=09pr_err(FW_BUG \"[node %p type %d] ID map has NULL parent referen=\n"
+ "ce\\n\",\n"
+ "> +=09=09=09       node, node->type);\n"
+ "> +=09=09=09goto fail_map;\n"
+ "> +=09=09}\n"
+ "> +\n"
+ "> +=09=09/* Do the RID translation */\n"
+ "> +=09=09for (i =3D 0; i < node->mapping_count; i++, map++) {\n"
+ "> +=09=09=09if (!iort_id_map(map, node->type, rid, &rid))\n"
+ "> +=09=09=09=09break;\n"
+ "> +=09=09}\n"
  ">\n"
- "Just curious about if there is kind of possibility that we can get some reduplicated DeviceIDs\n"
- "with a deliberate ID mapping design in FW for the SMMU/RC node. For instance, for a system with 2\n"
- "PCIe RCs both behind an individual SMMU device, how to make sure the StreamID mapped is unique \n"
- "across the entire system, the same for DeviceID mapped. \n"
- "Anyway, this is my personal confusion, maybe it's not a problem at all for current design ;-)\n"
+ "Just curious about if there is kind of possibility that we can get some red=\n"
+ "uplicated DeviceIDs\n"
+ "with a deliberate ID mapping design in FW for the SMMU/RC node. For instanc=\n"
+ "e, for a system with 2\n"
+ "PCIe RCs both behind an individual SMMU device, how to make sure the Stream=\n"
+ "ID mapped is unique=20\n"
+ "across the entire system, the same for DeviceID mapped.=20\n"
+ "Anyway, this is my personal confusion, maybe it's not a problem at all for =\n"
+ "current design ;-)\n"
  "\n"
  "Thanks,\n"
  "Dennis\n"
  "> +\n"
- "> +\t\tif (i == node->mapping_count)\n"
- "> +\t\t\tgoto fail_map;\n"
+ "> +=09=09if (i =3D=3D node->mapping_count)\n"
+ "> +=09=09=09goto fail_map;\n"
  "> +\n"
- "> +\t\tnode = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,\n"
- "> +\t\t\t\t    map->output_reference);\n"
- "> +\t}\n"
+ "> +=09=09node =3D ACPI_ADD_PTR(struct acpi_iort_node, iort_table,\n"
+ "> +=09=09=09=09    map->output_reference);\n"
+ "> +=09}\n"
  "> +\n"
  "> +fail_map:\n"
- "> +\t/* Map input RID to output RID unchanged on mapping failure*/\n"
- "> +\tif (rid_out)\n"
- "> +\t\t*rid_out = rid_in;\n"
+ "> +=09/* Map input RID to output RID unchanged on mapping failure*/\n"
+ "> +=09if (rid_out)\n"
+ "> +=09=09*rid_out =3D rid_in;\n"
  "> +\n"
- "> +\treturn NULL;\n"
+ "> +=09return NULL;\n"
  "> +}\n"
  "> +\n"
  "> +static struct acpi_iort_node *iort_find_dev_node(struct device *dev)\n"
  "> +{\n"
- "> +\tstruct pci_bus *pbus;\n"
+ "> +=09struct pci_bus *pbus;\n"
  "> +\n"
- "> +\tif (!dev_is_pci(dev))\n"
- "> +\t\treturn iort_scan_node(ACPI_IORT_NODE_NAMED_COMPONENT,\n"
- "> +\t\t\t\t      iort_match_node_callback, dev);\n"
+ "> +=09if (!dev_is_pci(dev))\n"
+ "> +=09=09return iort_scan_node(ACPI_IORT_NODE_NAMED_COMPONENT,\n"
+ "> +=09=09=09=09      iort_match_node_callback, dev);\n"
  "> +\n"
- "> +\t/* Find a PCI root bus */\n"
- "> +\tpbus = to_pci_dev(dev)->bus;\n"
- "> +\twhile (!pci_is_root_bus(pbus))\n"
- "> +\t\tpbus = pbus->parent;\n"
+ "> +=09/* Find a PCI root bus */\n"
+ "> +=09pbus =3D to_pci_dev(dev)->bus;\n"
+ "> +=09while (!pci_is_root_bus(pbus))\n"
+ "> +=09=09pbus =3D pbus->parent;\n"
  "> +\n"
- "> +\treturn iort_scan_node(ACPI_IORT_NODE_PCI_ROOT_COMPLEX,\n"
- "> +\t\t\t      iort_match_node_callback, &pbus->dev);\n"
+ "> +=09return iort_scan_node(ACPI_IORT_NODE_PCI_ROOT_COMPLEX,\n"
+ "> +=09=09=09      iort_match_node_callback, &pbus->dev);\n"
  "> +}\n"
  "> +\n"
  "> +void __init acpi_iort_init(void)\n"
  "> +{\n"
- "> +\tacpi_status status;\n"
+ "> +=09acpi_status status;\n"
  "> +\n"
- "> +\tstatus = acpi_get_table(ACPI_SIG_IORT, 0, &iort_table);\n"
- "> +\tif (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {\n"
- "> +\t\tconst char *msg = acpi_format_exception(status);\n"
- "> +\t\tpr_err(\"Failed to get table, %s\\n\", msg);\n"
- "> +\t}\n"
+ "> +=09status =3D acpi_get_table(ACPI_SIG_IORT, 0, &iort_table);\n"
+ "> +=09if (ACPI_FAILURE(status) && status !=3D AE_NOT_FOUND) {\n"
+ "> +=09=09const char *msg =3D acpi_format_exception(status);\n"
+ "> +=09=09pr_err(\"Failed to get table, %s\\n\", msg);\n"
+ "> +=09}\n"
  "> +}\n"
  "> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c\n"
  "> index 85b7d07..e56e643 100644\n"
@@ -160,13 +169,13 @@
  ">  #include <acpi/apei.h>\n"
  ">  #include <linux/dmi.h>\n"
  "> @@ -1186,6 +1187,7 @@ static int __init acpi_init(void)\n"
- ">  \t}\n"
- ">  \n"
- ">  \tpci_mmcfg_late_init();\n"
- "> +\tacpi_iort_init();\n"
- ">  \tacpi_scan_init();\n"
- ">  \tacpi_ec_init();\n"
- ">  \tacpi_debugfs_init();\n"
+ ">  =09}\n"
+ "> =20\n"
+ ">  =09pci_mmcfg_late_init();\n"
+ "> +=09acpi_iort_init();\n"
+ ">  =09acpi_scan_init();\n"
+ ">  =09acpi_ec_init();\n"
+ ">  =09acpi_debugfs_init();\n"
  "> diff --git a/include/linux/acpi_iort.h b/include/linux/acpi_iort.h\n"
  "> new file mode 100644\n"
  "> index 0000000..fcacaf7\n"
@@ -175,19 +184,24 @@
  "> @@ -0,0 +1,30 @@\n"
  "> +/*\n"
  "> + * Copyright (C) 2016, Semihalf\n"
- "> + *\tAuthor: Tomasz Nowicki <tn@semihalf.com>\n"
+ "> + *=09Author: Tomasz Nowicki <tn@semihalf.com>\n"
  "> + *\n"
- "> + * This program is free software; you can redistribute it and/or modify it\n"
+ "> + * This program is free software; you can redistribute it and/or modify =\n"
+ "it\n"
  "> + * under the terms and conditions of the GNU General Public License,\n"
  "> + * version 2, as published by the Free Software Foundation.\n"
  "> + *\n"
- "> + * This program is distributed in the hope it will be useful, but WITHOUT\n"
+ "> + * This program is distributed in the hope it will be useful, but WITHOU=\n"
+ "T\n"
  "> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n"
- "> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\n"
+ "> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License=\n"
+ " for\n"
  "> + * more details.\n"
  "> + *\n"
- "> + * You should have received a copy of the GNU General Public License along with\n"
- "> + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple\n"
+ "> + * You should have received a copy of the GNU General Public License alo=\n"
+ "ng with\n"
+ "> + * this program; if not, write to the Free Software Foundation, Inc., 59=\n"
+ " Temple\n"
  "> + * Place - Suite 330, Boston, MA 02111-1307 USA.\n"
  "> + */\n"
  "> +\n"
@@ -203,13 +217,13 @@
  "> +#endif\n"
  "> +\n"
  "> +#endif /* __ACPI_IORT_H__ */\n"
- "> -- \n"
+ "> --=20\n"
  "> 1.9.1\n"
- "> \n"
+ ">=20\n"
  "> --\n"
  "> To unsubscribe from this list: send the line \"unsubscribe linux-pci\" in\n"
  "> the body of a message to majordomo@vger.kernel.org\n"
  "> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"
- >
+ >=20
 
-6596a98204655b0c115f508822ad4ff0ce8bc9af49e0e264dd6fd68cd44d6a92
+d43ef13a3f8d1996d2e80f63cf64560e9a8a003f1d3400ce6f219647ff7f2e4d

diff --git a/a/1.txt b/N2/1.txt
index c63bb94..caaebfb 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -176,6 +176,6 @@ Dennis
 > 
 > --
 > To unsubscribe from this list: send the line "unsubscribe linux-pci" in
-> the body of a message to majordomo@vger.kernel.org
+> the body of a message to majordomo at vger.kernel.org
 > More majordomo info at  http://vger.kernel.org/majordomo-info.html
 >
diff --git a/a/content_digest b/N2/content_digest
index eee88f9..aa22f43 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,33 +1,9 @@
  "ref\01473152938-17388-1-git-send-email-tn@semihalf.com\0"
  "ref\01473152938-17388-2-git-send-email-tn@semihalf.com\0"
- "From\0Dennis Chen <dennis.chen@arm.com>\0"
- "Subject\0Re: [PATCH V10 1/8] ACPI: I/O Remapping Table (IORT) initial support\0"
+ "From\0dennis.chen@arm.com (Dennis Chen)\0"
+ "Subject\0[PATCH V10 1/8] ACPI: I/O Remapping Table (IORT) initial support\0"
  "Date\0Fri, 9 Sep 2016 11:09:40 +0800\0"
- "To\0Tomasz Nowicki <tn@semihalf.com>\0"
- "Cc\0marc.zyngier@arm.com"
-  tglx@linutronix.de
-  jason@lakedaemon.net
-  rjw@rjwysocki.net
-  helgaas@kernel.org
-  rafael@kernel.org
-  Lorenzo.Pieralisi@arm.com
-  will.deacon@arm.com
-  catalin.marinas@arm.com
-  hanjun.guo@linaro.org
-  shijie.huang@arm.com
-  robert.richter@caviumnetworks.com
-  mw@semihalf.com
-  linux-pci@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
-  linaro-acpi@lists.linaro.org
-  andrea.gallo@linaro.org
-  linux-acpi@vger.kernel.org
-  linux-kernel@vger.kernel.org
-  al.stone@linaro.org
-  graeme.gregory@linaro.org
-  ddaney.cavm@gmail.com
-  okaya@codeaurora.org
- " nd@arm.com\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "Hi Tomasz,\n"
@@ -208,8 +184,8 @@
  "> \n"
  "> --\n"
  "> To unsubscribe from this list: send the line \"unsubscribe linux-pci\" in\n"
- "> the body of a message to majordomo@vger.kernel.org\n"
+ "> the body of a message to majordomo at vger.kernel.org\n"
  "> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"
  >
 
-6596a98204655b0c115f508822ad4ff0ce8bc9af49e0e264dd6fd68cd44d6a92
+da0ec7f8d617f83ec30d99f4deab052a2759e0ff458e407b538d922c97898abc

diff --git a/a/content_digest b/N3/content_digest
index eee88f9..e21e760 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -4,30 +4,30 @@
  "Subject\0Re: [PATCH V10 1/8] ACPI: I/O Remapping Table (IORT) initial support\0"
  "Date\0Fri, 9 Sep 2016 11:09:40 +0800\0"
  "To\0Tomasz Nowicki <tn@semihalf.com>\0"
- "Cc\0marc.zyngier@arm.com"
-  tglx@linutronix.de
-  jason@lakedaemon.net
-  rjw@rjwysocki.net
-  helgaas@kernel.org
-  rafael@kernel.org
-  Lorenzo.Pieralisi@arm.com
-  will.deacon@arm.com
-  catalin.marinas@arm.com
-  hanjun.guo@linaro.org
-  shijie.huang@arm.com
-  robert.richter@caviumnetworks.com
-  mw@semihalf.com
-  linux-pci@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
-  linaro-acpi@lists.linaro.org
-  andrea.gallo@linaro.org
-  linux-acpi@vger.kernel.org
-  linux-kernel@vger.kernel.org
-  al.stone@linaro.org
-  graeme.gregory@linaro.org
-  ddaney.cavm@gmail.com
-  okaya@codeaurora.org
- " nd@arm.com\0"
+ "Cc\0<marc.zyngier@arm.com>"
+  <tglx@linutronix.de>
+  <jason@lakedaemon.net>
+  <rjw@rjwysocki.net>
+  <helgaas@kernel.org>
+  <rafael@kernel.org>
+  <Lorenzo.Pieralisi@arm.com>
+  <will.deacon@arm.com>
+  <catalin.marinas@arm.com>
+  <hanjun.guo@linaro.org>
+  <shijie.huang@arm.com>
+  <robert.richter@caviumnetworks.com>
+  <mw@semihalf.com>
+  <linux-pci@vger.kernel.org>
+  <linux-arm-kernel@lists.infradead.org>
+  <linaro-acpi@lists.linaro.org>
+  <andrea.gallo@linaro.org>
+  <linux-acpi@vger.kernel.org>
+  <linux-kernel@vger.kernel.org>
+  <al.stone@linaro.org>
+  <graeme.gregory@linaro.org>
+  <ddaney.cavm@gmail.com>
+  <okaya@codeaurora.org>
+ " <nd@arm.com>\0"
  "\00:1\0"
  "b\0"
  "Hi Tomasz,\n"
@@ -212,4 +212,4 @@
  "> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"
  >
 
-6596a98204655b0c115f508822ad4ff0ce8bc9af49e0e264dd6fd68cd44d6a92
+263b3ff357b707d35b70c1e83353655c127a4396971236f4e1485d32ab79cf7e

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.