diff for duplicates of <20080310221538U.tomof@acm.org> diff --git a/a/1.txt b/N1/1.txt index a322b38..4843034 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -9,6 +9,7 @@ This patchset fixes the IA64 IOMMU code. This assumes that ioc->ibase is on iovp_size boundary. If not, please let me know. I'll fix the patch. += From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Subject: [PATCH -mm] ia64: make IOMMU respect the segment boundary limits @@ -79,7 +80,7 @@ index 523eae6..9409de5 100644 + unsigned long shift; + int ret; - ASSERT(((unsigned long) ioc->res_hint & (sizeof(unsigned long) - 1UL)) = 0); + ASSERT(((unsigned long) ioc->res_hint & (sizeof(unsigned long) - 1UL)) == 0); ASSERT(res_ptr < res_end); + boundary_size = (unsigned long long)dma_get_seg_boundary(dev) + 1; @@ -106,12 +107,12 @@ index 523eae6..9409de5 100644 DBG_RES(" %p %lx %lx\n", res_ptr, mask, *res_ptr); ASSERT(0 != mask); for (; mask ; mask <<= o, bitshiftcnt += o) { -- if(0 = ((*res_ptr) & mask)) { +- if(0 == ((*res_ptr) & mask)) { + tpide = ptr_to_pide(ioc, res_ptr, bitshiftcnt); + ret = iommu_is_span_boundary(tpide, bits_wanted, + shift, + boundary_size); -+ if ((0 = ((*res_ptr) & mask)) && !ret) { ++ if ((0 == ((*res_ptr) & mask)) && !ret) { *res_ptr |= mask; /* mark resources busy! */ - pide = ((unsigned long)res_ptr - (unsigned long)ioc->res_map); - pide <<= 3; /* convert to bit address */ diff --git a/a/content_digest b/N1/content_digest index e842145..b52e57f 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,10 +1,11 @@ "From\0FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>\0" "Subject\0[PATCH -mm] ia64: make IOMMU respect the segment boundary limits\0" - "Date\0Mon, 10 Mar 2008 13:17:20 +0000\0" + "Date\0Mon, 10 Mar 2008 22:17:20 +0900\0" "To\0linux-kernel@vger.kernel.org" " linux-ia64@vger.kernel.org\0" "Cc\0tony.luck@intel.com" " akpm@linux-foundation.org\0" + "Cc\0tomof@acm.org\0" "\00:1\0" "b\0" "This patch is another sequel to my patchset that fixes iommu segment\n" @@ -18,6 +19,7 @@ "This assumes that ioc->ibase is on iovp_size boundary. If not, please\n" "let me know. I'll fix the patch.\n" "\n" + "=\n" "From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>\n" "Subject: [PATCH -mm] ia64: make IOMMU respect the segment boundary limits\n" "\n" @@ -88,7 +90,7 @@ "+\tunsigned long shift;\n" "+\tint ret;\n" " \n" - " \tASSERT(((unsigned long) ioc->res_hint & (sizeof(unsigned long) - 1UL)) = 0);\n" + " \tASSERT(((unsigned long) ioc->res_hint & (sizeof(unsigned long) - 1UL)) == 0);\n" " \tASSERT(res_ptr < res_end);\n" " \n" "+\tboundary_size = (unsigned long long)dma_get_seg_boundary(dev) + 1;\n" @@ -115,12 +117,12 @@ " \t\t\tDBG_RES(\" %p %lx %lx\\n\", res_ptr, mask, *res_ptr);\n" " \t\t\tASSERT(0 != mask);\n" " \t\t\tfor (; mask ; mask <<= o, bitshiftcnt += o) {\n" - "-\t\t\t\tif(0 = ((*res_ptr) & mask)) {\n" + "-\t\t\t\tif(0 == ((*res_ptr) & mask)) {\n" "+\t\t\t\ttpide = ptr_to_pide(ioc, res_ptr, bitshiftcnt);\n" "+\t\t\t\tret = iommu_is_span_boundary(tpide, bits_wanted,\n" "+\t\t\t\t\t\t\t shift,\n" "+\t\t\t\t\t\t\t boundary_size);\n" - "+\t\t\t\tif ((0 = ((*res_ptr) & mask)) && !ret) {\n" + "+\t\t\t\tif ((0 == ((*res_ptr) & mask)) && !ret) {\n" " \t\t\t\t\t*res_ptr |= mask; /* mark resources busy! */\n" "-\t\t\t\t\tpide = ((unsigned long)res_ptr - (unsigned long)ioc->res_map);\n" "-\t\t\t\t\tpide <<= 3;\t/* convert to bit address */\n" @@ -202,4 +204,4 @@ "-- \n" 1.5.3.7 -64446ae752806a5743add03ac27436e99743c74f7db3ba1cdd1bbd9262705da1 +58f686d2e57e55357ebeeb8a83823c4e84b7491430e13c296e9a9c27571222b3
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.