diff for duplicates of <54164372.40806@huawei.com> diff --git a/a/1.txt b/N1/1.txt index 06d432f..826373f 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -17,10 +17,10 @@ On 2014/9/12 10:10, Jiang Liu wrote: > destroying all PCI devices for hot-removal. > -Reviewed-by: Yijing Wang <wangyijing@huawei.com> +Reviewed-by: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org> -> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> +> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> > --- > drivers/iommu/dmar.c | 268 +++++++++++++++++++++++++++++++++-- > drivers/iommu/intel-iommu.c | 78 +++++++++- @@ -51,8 +51,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + struct dmar_drhd_unit *dmaru; > + > + list_for_each_entry_rcu(dmaru, &dmar_drhd_units, list) -> + if (dmaru->segment = drhd->segment && -> + dmaru->reg_base_addr = drhd->address) +> + if (dmaru->segment == drhd->segment && +> + dmaru->reg_base_addr == drhd->address) > + return dmaru; > + > + return NULL; @@ -132,7 +132,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + else > + early_iounmap(addr, VTD_PAGE_SIZE); > -> if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +> if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { > warn_invalid_dmar(drhd->address, " returns all ones"); > @@ -1686,12 +1715,17 @@ int __init dmar_ir_support(void) > return dmar->flags & 0x1; @@ -226,7 +226,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + return -ENODEV; > + > + ret = dmar_ir_hotplug(dmaru, true); -> + if (ret = 0) +> + if (ret == 0) > + ret = dmar_iommu_hotplug(dmaru, true); > + > + return ret; @@ -251,7 +251,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + return -EBUSY; > + > + ret = dmar_ir_hotplug(dmaru, false); -> + if (ret = 0) +> + if (ret == 0) > + ret = dmar_iommu_hotplug(dmaru, false); > + > + return ret; @@ -283,7 +283,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + > + ret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, > + &dmar_parse_one_drhd, (void *)&drhd_count); -> + if (ret = 0 && drhd_count = 0) { +> + if (ret == 0 && drhd_count == 0) { > + pr_warn(FW_BUG "No DRHD structures in buffer returned by _DSM method\n"); > + goto out; > + } else if (ret) { @@ -328,7 +328,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + > + ret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, > + &dmar_hp_remove_drhd, NULL); -> + if (ret = 0) { +> + if (ret == 0) { > + WARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_ATSR, > + &dmar_release_one_atsr, NULL)); > + WARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, @@ -390,7 +390,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + continue; > + if (atsr->header.length != tmp->header.length) > + continue; -> + if (memcmp(atsr, tmp, atsr->header.length) = 0) +> + if (memcmp(atsr, tmp, atsr->header.length) == 0) > + return atsru; > + } > + diff --git a/a/content_digest b/N1/content_digest index 7af95ea..0bdb585 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,23 +1,23 @@ "ref\01410487848-6027-1-git-send-email-jiang.liu@linux.intel.com\0" "ref\01410487848-6027-4-git-send-email-jiang.liu@linux.intel.com\0" - "From\0Yijing Wang <wangyijing@huawei.com>\0" + "ref\01410487848-6027-4-git-send-email-jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org\0" + "From\0Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>\0" "Subject\0Re: [Patch Part3 V5 3/8] iommu/vt-d: Implement DMAR unit hotplug framework\0" - "Date\0Mon, 15 Sep 2014 01:40:02 +0000\0" - "To\0Jiang Liu <jiang.liu@linux.intel.com>" - Joerg Roedel <joro@8bytes.org> - David Woodhouse <dwmw2@infradead.org> - Yinghai Lu <yinghai@kernel.org> - Bjorn Helgaas <bhelgaas@google.com> - Dan Williams <dan.j.williams@intel.com> - Vinod Koul <vinod.koul@intel.com> - " Rafael J . Wysocki <rafael.j.wysocki@intel.com>\0" - "Cc\0Ashok Raj <ashok.raj@intel.com>" - Tony Luck <tony.luck@intel.com> - iommu@lists.linux-foundation.org - linux-pci@vger.kernel.org - linux-hotplug@vger.kernel.org - linux-kernel@vger.kernel.org - " dmaengine@vger.kernel.org\0" + "Date\0Mon, 15 Sep 2014 09:40:02 +0800\0" + "To\0Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>" + Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> + David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> + Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> + Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org> + Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> + Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> + " Rafael J . Wysocki <rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>\0" + "Cc\0Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>" + linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org + " dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\0" "\00:1\0" "b\0" "On 2014/9/12 10:10, Jiang Liu wrote:\n" @@ -39,10 +39,10 @@ "> destroying all PCI devices for hot-removal.\n" ">\n" "\n" - "Reviewed-by: Yijing Wang <wangyijing@huawei.com>\n" + "Reviewed-by: Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>\n" "\n" "\n" - "> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>\n" + "> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>\n" "> ---\n" "> drivers/iommu/dmar.c | 268 +++++++++++++++++++++++++++++++++--\n" "> drivers/iommu/intel-iommu.c | 78 +++++++++-\n" @@ -73,8 +73,8 @@ "> +\tstruct dmar_drhd_unit *dmaru;\n" "> +\n" "> +\tlist_for_each_entry_rcu(dmaru, &dmar_drhd_units, list)\n" - "> +\t\tif (dmaru->segment = drhd->segment &&\n" - "> +\t\t dmaru->reg_base_addr = drhd->address)\n" + "> +\t\tif (dmaru->segment == drhd->segment &&\n" + "> +\t\t dmaru->reg_base_addr == drhd->address)\n" "> +\t\t\treturn dmaru;\n" "> +\n" "> +\treturn NULL;\n" @@ -154,7 +154,7 @@ "> +\telse\n" "> +\t\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" "> \n" - "> \tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + "> \tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" "> \t\twarn_invalid_dmar(drhd->address, \" returns all ones\");\n" "> @@ -1686,12 +1715,17 @@ int __init dmar_ir_support(void)\n" "> \treturn dmar->flags & 0x1;\n" @@ -248,7 +248,7 @@ "> +\t\treturn -ENODEV;\n" "> +\n" "> +\tret = dmar_ir_hotplug(dmaru, true);\n" - "> +\tif (ret = 0)\n" + "> +\tif (ret == 0)\n" "> +\t\tret = dmar_iommu_hotplug(dmaru, true);\n" "> +\n" "> +\treturn ret;\n" @@ -273,7 +273,7 @@ "> +\t\t\treturn -EBUSY;\n" "> +\n" "> +\tret = dmar_ir_hotplug(dmaru, false);\n" - "> +\tif (ret = 0)\n" + "> +\tif (ret == 0)\n" "> +\t\tret = dmar_iommu_hotplug(dmaru, false);\n" "> +\n" "> +\treturn ret;\n" @@ -305,7 +305,7 @@ "> +\n" "> +\tret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" "> +\t\t\t\t &dmar_parse_one_drhd, (void *)&drhd_count);\n" - "> +\tif (ret = 0 && drhd_count = 0) {\n" + "> +\tif (ret == 0 && drhd_count == 0) {\n" "> +\t\tpr_warn(FW_BUG \"No DRHD structures in buffer returned by _DSM method\\n\");\n" "> +\t\tgoto out;\n" "> +\t} else if (ret) {\n" @@ -350,7 +350,7 @@ "> +\n" "> +\tret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" "> +\t\t\t\t &dmar_hp_remove_drhd, NULL);\n" - "> +\tif (ret = 0) {\n" + "> +\tif (ret == 0) {\n" "> +\t\tWARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_ATSR,\n" "> +\t\t\t\t\t &dmar_release_one_atsr, NULL));\n" "> +\t\tWARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" @@ -412,7 +412,7 @@ "> +\t\t\tcontinue;\n" "> +\t\tif (atsr->header.length != tmp->header.length)\n" "> +\t\t\tcontinue;\n" - "> +\t\tif (memcmp(atsr, tmp, atsr->header.length) = 0)\n" + "> +\t\tif (memcmp(atsr, tmp, atsr->header.length) == 0)\n" "> +\t\t\treturn atsru;\n" "> +\t}\n" "> +\n" @@ -578,4 +578,4 @@ "Thanks!\n" Yijing -556010613dc0068f4d681c7c0cdb48646dbe70cb0ea7dc75e7753d650293e966 +0b89ccd372b2648b066831e411ca8f258704ca01452f081b245f297278fc0327
diff --git a/a/1.txt b/N2/1.txt index 06d432f..29c4e9a 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -51,8 +51,8 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + struct dmar_drhd_unit *dmaru; > + > + list_for_each_entry_rcu(dmaru, &dmar_drhd_units, list) -> + if (dmaru->segment = drhd->segment && -> + dmaru->reg_base_addr = drhd->address) +> + if (dmaru->segment == drhd->segment && +> + dmaru->reg_base_addr == drhd->address) > + return dmaru; > + > + return NULL; @@ -132,7 +132,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + else > + early_iounmap(addr, VTD_PAGE_SIZE); > -> if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +> if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { > warn_invalid_dmar(drhd->address, " returns all ones"); > @@ -1686,12 +1715,17 @@ int __init dmar_ir_support(void) > return dmar->flags & 0x1; @@ -226,7 +226,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + return -ENODEV; > + > + ret = dmar_ir_hotplug(dmaru, true); -> + if (ret = 0) +> + if (ret == 0) > + ret = dmar_iommu_hotplug(dmaru, true); > + > + return ret; @@ -251,7 +251,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + return -EBUSY; > + > + ret = dmar_ir_hotplug(dmaru, false); -> + if (ret = 0) +> + if (ret == 0) > + ret = dmar_iommu_hotplug(dmaru, false); > + > + return ret; @@ -283,7 +283,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + > + ret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, > + &dmar_parse_one_drhd, (void *)&drhd_count); -> + if (ret = 0 && drhd_count = 0) { +> + if (ret == 0 && drhd_count == 0) { > + pr_warn(FW_BUG "No DRHD structures in buffer returned by _DSM method\n"); > + goto out; > + } else if (ret) { @@ -328,7 +328,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + > + ret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, > + &dmar_hp_remove_drhd, NULL); -> + if (ret = 0) { +> + if (ret == 0) { > + WARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_ATSR, > + &dmar_release_one_atsr, NULL)); > + WARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD, @@ -390,7 +390,7 @@ Reviewed-by: Yijing Wang <wangyijing@huawei.com> > + continue; > + if (atsr->header.length != tmp->header.length) > + continue; -> + if (memcmp(atsr, tmp, atsr->header.length) = 0) +> + if (memcmp(atsr, tmp, atsr->header.length) == 0) > + return atsru; > + } > + diff --git a/a/content_digest b/N2/content_digest index 7af95ea..db9113e 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -2,7 +2,7 @@ "ref\01410487848-6027-4-git-send-email-jiang.liu@linux.intel.com\0" "From\0Yijing Wang <wangyijing@huawei.com>\0" "Subject\0Re: [Patch Part3 V5 3/8] iommu/vt-d: Implement DMAR unit hotplug framework\0" - "Date\0Mon, 15 Sep 2014 01:40:02 +0000\0" + "Date\0Mon, 15 Sep 2014 09:40:02 +0800\0" "To\0Jiang Liu <jiang.liu@linux.intel.com>" Joerg Roedel <joro@8bytes.org> David Woodhouse <dwmw2@infradead.org> @@ -13,11 +13,11 @@ " Rafael J . Wysocki <rafael.j.wysocki@intel.com>\0" "Cc\0Ashok Raj <ashok.raj@intel.com>" Tony Luck <tony.luck@intel.com> - iommu@lists.linux-foundation.org - linux-pci@vger.kernel.org - linux-hotplug@vger.kernel.org - linux-kernel@vger.kernel.org - " dmaengine@vger.kernel.org\0" + <iommu@lists.linux-foundation.org> + <linux-pci@vger.kernel.org> + <linux-hotplug@vger.kernel.org> + <linux-kernel@vger.kernel.org> + " <dmaengine@vger.kernel.org>\0" "\00:1\0" "b\0" "On 2014/9/12 10:10, Jiang Liu wrote:\n" @@ -73,8 +73,8 @@ "> +\tstruct dmar_drhd_unit *dmaru;\n" "> +\n" "> +\tlist_for_each_entry_rcu(dmaru, &dmar_drhd_units, list)\n" - "> +\t\tif (dmaru->segment = drhd->segment &&\n" - "> +\t\t dmaru->reg_base_addr = drhd->address)\n" + "> +\t\tif (dmaru->segment == drhd->segment &&\n" + "> +\t\t dmaru->reg_base_addr == drhd->address)\n" "> +\t\t\treturn dmaru;\n" "> +\n" "> +\treturn NULL;\n" @@ -154,7 +154,7 @@ "> +\telse\n" "> +\t\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" "> \n" - "> \tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + "> \tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" "> \t\twarn_invalid_dmar(drhd->address, \" returns all ones\");\n" "> @@ -1686,12 +1715,17 @@ int __init dmar_ir_support(void)\n" "> \treturn dmar->flags & 0x1;\n" @@ -248,7 +248,7 @@ "> +\t\treturn -ENODEV;\n" "> +\n" "> +\tret = dmar_ir_hotplug(dmaru, true);\n" - "> +\tif (ret = 0)\n" + "> +\tif (ret == 0)\n" "> +\t\tret = dmar_iommu_hotplug(dmaru, true);\n" "> +\n" "> +\treturn ret;\n" @@ -273,7 +273,7 @@ "> +\t\t\treturn -EBUSY;\n" "> +\n" "> +\tret = dmar_ir_hotplug(dmaru, false);\n" - "> +\tif (ret = 0)\n" + "> +\tif (ret == 0)\n" "> +\t\tret = dmar_iommu_hotplug(dmaru, false);\n" "> +\n" "> +\treturn ret;\n" @@ -305,7 +305,7 @@ "> +\n" "> +\tret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" "> +\t\t\t\t &dmar_parse_one_drhd, (void *)&drhd_count);\n" - "> +\tif (ret = 0 && drhd_count = 0) {\n" + "> +\tif (ret == 0 && drhd_count == 0) {\n" "> +\t\tpr_warn(FW_BUG \"No DRHD structures in buffer returned by _DSM method\\n\");\n" "> +\t\tgoto out;\n" "> +\t} else if (ret) {\n" @@ -350,7 +350,7 @@ "> +\n" "> +\tret = dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" "> +\t\t\t\t &dmar_hp_remove_drhd, NULL);\n" - "> +\tif (ret = 0) {\n" + "> +\tif (ret == 0) {\n" "> +\t\tWARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_ATSR,\n" "> +\t\t\t\t\t &dmar_release_one_atsr, NULL));\n" "> +\t\tWARN_ON(dmar_walk_dsm_resource(handle, DMAR_DSM_FUNC_DRHD,\n" @@ -412,7 +412,7 @@ "> +\t\t\tcontinue;\n" "> +\t\tif (atsr->header.length != tmp->header.length)\n" "> +\t\t\tcontinue;\n" - "> +\t\tif (memcmp(atsr, tmp, atsr->header.length) = 0)\n" + "> +\t\tif (memcmp(atsr, tmp, atsr->header.length) == 0)\n" "> +\t\t\treturn atsru;\n" "> +\t}\n" "> +\n" @@ -578,4 +578,4 @@ "Thanks!\n" Yijing -556010613dc0068f4d681c7c0cdb48646dbe70cb0ea7dc75e7753d650293e966 +8b0a44b4367c311519e3a6d1ef36c7c6742fd0667e857900cd1146feefcc334d
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.