Commit ae4f9769 authored by Tyler Baker's avatar Tyler Baker Committed by Dan Williams

mm: fix type cast in __pfn_to_phys()

The various definitions of __pfn_to_phys() have been consolidated to
use a generic macro in include/asm-generic/memory_model.h. This hit
mainline in the form of 012dcef3 "mm: move __phys_to_pfn and
__pfn_to_phys to asm/generic/memory_model.h". When the generic macro
was implemented the type cast to phys_addr_t was dropped which caused
boot regressions on ARM platforms with more than 4GB of memory and
LPAE enabled.

It was suggested to use PFN_PHYS() defined in include/linux/pfn.h
as provides the correct logic and avoids further duplication.
Reported-by: default avatarkernelci.org bot <bot@kernelci.org>
Suggested-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarTyler Baker <tyler.baker@linaro.org>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent ba8fe0f8
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
* Convert a physical address to a Page Frame Number and back * Convert a physical address to a Page Frame Number and back
*/ */
#define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT)) #define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT))
#define __pfn_to_phys(pfn) ((pfn) << PAGE_SHIFT) #define __pfn_to_phys(pfn) PFN_PHYS(pfn)
#define page_to_pfn __page_to_pfn #define page_to_pfn __page_to_pfn
#define pfn_to_page __pfn_to_page #define pfn_to_page __pfn_to_page
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment