]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - tools/testing/nvdimm/dax-dev.c
2 * Copyright (c) 2016, Intel Corporation.
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 #include "test/nfit_test.h"
15 #include "../../../drivers/dax/dax-private.h"
17 phys_addr_t
dax_pgoff_to_phys(struct dev_dax
*dev_dax
, pgoff_t pgoff
,
20 struct resource
*res
= &dev_dax
->region
->res
;
23 addr
= pgoff
* PAGE_SIZE
+ res
->start
;
24 if (addr
>= res
->start
&& addr
<= res
->end
) {
25 if (addr
+ size
- 1 <= res
->end
) {
26 if (get_nfit_res(addr
)) {
29 if (dev_dax
->region
->align
> PAGE_SIZE
)
32 page
= vmalloc_to_page((void *)addr
);
33 return PFN_PHYS(page_to_pfn(page
));