Merge tag 'for-linus' of https://github.com/openrisc/linux
[linux-2.6-microblaze.git] / lib / test_hmm.c
index 67e6f83..717dcb8 100644 (file)
@@ -368,16 +368,13 @@ static int dmirror_do_read(struct dmirror *dmirror, unsigned long start,
        for (pfn = start >> PAGE_SHIFT; pfn < (end >> PAGE_SHIFT); pfn++) {
                void *entry;
                struct page *page;
-               void *tmp;
 
                entry = xa_load(&dmirror->pt, pfn);
                page = xa_untag_pointer(entry);
                if (!page)
                        return -ENOENT;
 
-               tmp = kmap(page);
-               memcpy(ptr, tmp, PAGE_SIZE);
-               kunmap(page);
+               memcpy_from_page(ptr, page, 0, PAGE_SIZE);
 
                ptr += PAGE_SIZE;
                bounce->cpages++;
@@ -437,16 +434,13 @@ static int dmirror_do_write(struct dmirror *dmirror, unsigned long start,
        for (pfn = start >> PAGE_SHIFT; pfn < (end >> PAGE_SHIFT); pfn++) {
                void *entry;
                struct page *page;
-               void *tmp;
 
                entry = xa_load(&dmirror->pt, pfn);
                page = xa_untag_pointer(entry);
                if (!page || xa_pointer_tag(entry) != DPT_XA_TAG_WRITE)
                        return -ENOENT;
 
-               tmp = kmap(page);
-               memcpy(tmp, ptr, PAGE_SIZE);
-               kunmap(page);
+               memcpy_to_page(page, 0, ptr, PAGE_SIZE);
 
                ptr += PAGE_SIZE;
                bounce->cpages++;