Lines Matching defs:devmem

496 	struct dmirror_chunk *devmem;
504 devmem = kzalloc(sizeof(*devmem), GFP_KERNEL);
505 if (!devmem)
514 devmem->pagemap.range.start = res->start;
515 devmem->pagemap.range.end = res->end;
516 devmem->pagemap.type = MEMORY_DEVICE_PRIVATE;
519 devmem->pagemap.range.start = (MINOR(mdevice->cdevice.dev) - 2) ?
522 devmem->pagemap.range.end = devmem->pagemap.range.start +
524 devmem->pagemap.type = MEMORY_DEVICE_COHERENT;
531 devmem->pagemap.nr_range = 1;
532 devmem->pagemap.ops = &dmirror_devmem_ops;
533 devmem->pagemap.owner = mdevice;
551 ptr = memremap_pages(&devmem->pagemap, numa_node_id());
560 devmem->mdevice = mdevice;
561 pfn_first = devmem->pagemap.range.start >> PAGE_SHIFT;
562 pfn_last = pfn_first + (range_len(&devmem->pagemap.range) >> PAGE_SHIFT);
563 mdevice->devmem_chunks[mdevice->devmem_count++] = devmem;
591 if (res && devmem->pagemap.type == MEMORY_DEVICE_PRIVATE)
592 release_mem_region(devmem->pagemap.range.start,
593 range_len(&devmem->pagemap.range));
595 kfree(devmem);
1258 static void dmirror_remove_free_pages(struct dmirror_chunk *devmem)
1260 struct dmirror_device *mdevice = devmem->mdevice;
1264 if (dmirror_page_to_chunk(page) == devmem)
1275 struct dmirror_chunk *devmem =
1279 devmem->remove = true;
1280 dmirror_remove_free_pages(devmem);
1283 dmirror_device_evict_chunk(devmem);
1284 memunmap_pages(&devmem->pagemap);
1285 if (devmem->pagemap.type == MEMORY_DEVICE_PRIVATE)
1286 release_mem_region(devmem->pagemap.range.start,
1287 range_len(&devmem->pagemap.range));
1288 kfree(devmem);