Lines Matching refs:pfn_sb

205 		struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;  in resource_show()  local
206 u64 offset = __le64_to_cpu(pfn_sb->dataoff); in resource_show()
208 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad); in resource_show()
231 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb; in size_show() local
232 u64 offset = __le64_to_cpu(pfn_sb->dataoff); in size_show()
234 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad); in size_show()
235 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc); in size_show()
365 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb; in nd_pfn_clear_memmap_errors() local
374 meta_start = (SZ_4K + sizeof(*pfn_sb)) >> 9; in nd_pfn_clear_memmap_errors()
375 meta_num = (le64_to_cpu(pfn_sb->dataoff) >> 9) - meta_start; in nd_pfn_clear_memmap_errors()
382 rc = devm_namespace_enable(&nd_pfn->dev, ndns, le64_to_cpu(pfn_sb->dataoff)); in nd_pfn_clear_memmap_errors()
453 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb; in nd_pfn_validate() local
457 if (!pfn_sb || !ndns) in nd_pfn_validate()
463 if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0)) in nd_pfn_validate()
466 if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0) in nd_pfn_validate()
469 checksum = le64_to_cpu(pfn_sb->checksum); in nd_pfn_validate()
470 pfn_sb->checksum = 0; in nd_pfn_validate()
471 if (checksum != nd_sb_checksum((struct nd_gen_sb *) pfn_sb)) in nd_pfn_validate()
473 pfn_sb->checksum = cpu_to_le64(checksum); in nd_pfn_validate()
475 if (memcmp(pfn_sb->parent_uuid, parent_uuid, 16) != 0) in nd_pfn_validate()
478 if (__le16_to_cpu(pfn_sb->version_minor) < 1) { in nd_pfn_validate()
479 pfn_sb->start_pad = 0; in nd_pfn_validate()
480 pfn_sb->end_trunc = 0; in nd_pfn_validate()
483 if (__le16_to_cpu(pfn_sb->version_minor) < 2) in nd_pfn_validate()
484 pfn_sb->align = 0; in nd_pfn_validate()
486 if (__le16_to_cpu(pfn_sb->version_minor) < 4) { in nd_pfn_validate()
487 pfn_sb->page_struct_size = cpu_to_le16(64); in nd_pfn_validate()
488 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE); in nd_pfn_validate()
491 switch (le32_to_cpu(pfn_sb->mode)) { in nd_pfn_validate()
499 align = le32_to_cpu(pfn_sb->align); in nd_pfn_validate()
500 offset = le64_to_cpu(pfn_sb->dataoff); in nd_pfn_validate()
501 start_pad = le32_to_cpu(pfn_sb->start_pad); in nd_pfn_validate()
504 mode = le32_to_cpu(pfn_sb->mode); in nd_pfn_validate()
506 if ((le32_to_cpu(pfn_sb->page_size) > PAGE_SIZE) && in nd_pfn_validate()
510 le32_to_cpu(pfn_sb->page_size)); in nd_pfn_validate()
514 if ((le16_to_cpu(pfn_sb->page_struct_size) < sizeof(struct page)) && in nd_pfn_validate()
518 le16_to_cpu(pfn_sb->page_struct_size)); in nd_pfn_validate()
528 !memcmp(pfn_sb->signature, DAX_SIG, PFN_SIG_LEN)) { in nd_pfn_validate()
540 nd_pfn->uuid = kmemdup(pfn_sb->uuid, 16, GFP_KERNEL); in nd_pfn_validate()
550 if (memcmp(nd_pfn->uuid, pfn_sb->uuid, 16) != 0) in nd_pfn_validate()
597 if (!IS_ALIGNED(res->start + le32_to_cpu(pfn_sb->start_pad), in nd_pfn_validate()
603 if (!IS_ALIGNED(res->end + 1 - le32_to_cpu(pfn_sb->end_trunc), in nd_pfn_validate()
618 struct nd_pfn_sb *pfn_sb; in nd_pfn_probe() local
638 pfn_sb = devm_kmalloc(dev, sizeof(*pfn_sb), GFP_KERNEL); in nd_pfn_probe()
640 nd_pfn->pfn_sb = pfn_sb; in nd_pfn_probe()
677 struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb; in __nvdimm_setup_pfn() local
678 u64 offset = le64_to_cpu(pfn_sb->dataoff); in __nvdimm_setup_pfn()
679 u32 start_pad = __le32_to_cpu(pfn_sb->start_pad); in __nvdimm_setup_pfn()
680 u32 end_trunc = __le32_to_cpu(pfn_sb->end_trunc); in __nvdimm_setup_pfn()
700 nd_pfn->npfns = le64_to_cpu(pfn_sb->npfns); in __nvdimm_setup_pfn()
703 if (le64_to_cpu(nd_pfn->pfn_sb->npfns) > nd_pfn->npfns) in __nvdimm_setup_pfn()
706 le64_to_cpu(nd_pfn->pfn_sb->npfns), in __nvdimm_setup_pfn()
726 struct nd_pfn_sb *pfn_sb; in nd_pfn_init() local
732 pfn_sb = devm_kmalloc(&nd_pfn->dev, sizeof(*pfn_sb), GFP_KERNEL); in nd_pfn_init()
733 if (!pfn_sb) in nd_pfn_init()
736 nd_pfn->pfn_sb = pfn_sb; in nd_pfn_init()
749 memset(pfn_sb, 0, sizeof(*pfn_sb)); in nd_pfn_init()
809 pfn_sb->mode = cpu_to_le32(nd_pfn->mode); in nd_pfn_init()
810 pfn_sb->dataoff = cpu_to_le64(offset); in nd_pfn_init()
811 pfn_sb->npfns = cpu_to_le64(npfns); in nd_pfn_init()
812 memcpy(pfn_sb->signature, sig, PFN_SIG_LEN); in nd_pfn_init()
813 memcpy(pfn_sb->uuid, nd_pfn->uuid, 16); in nd_pfn_init()
814 memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16); in nd_pfn_init()
815 pfn_sb->version_major = cpu_to_le16(1); in nd_pfn_init()
816 pfn_sb->version_minor = cpu_to_le16(4); in nd_pfn_init()
817 pfn_sb->end_trunc = cpu_to_le32(end_trunc); in nd_pfn_init()
818 pfn_sb->align = cpu_to_le32(nd_pfn->align); in nd_pfn_init()
819 pfn_sb->page_struct_size = cpu_to_le16(MAX_STRUCT_PAGE_SIZE); in nd_pfn_init()
820 pfn_sb->page_size = cpu_to_le32(PAGE_SIZE); in nd_pfn_init()
821 checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb); in nd_pfn_init()
822 pfn_sb->checksum = cpu_to_le64(checksum); in nd_pfn_init()
828 return nvdimm_write_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0); in nd_pfn_init()