]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
LoongArch: Fix reserving screen info memory for above-4G firmware
authorHuacai Chen <chenhuacai@loongson.cn>
Mon, 2 Dec 2024 08:42:07 +0000 (16:42 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Jan 2025 09:34:18 +0000 (10:34 +0100)
[ Upstream commit 55dc2f8f263448f1e6c7ef135d08e640d5a4826e ]

Since screen_info.lfb_base is a __u32 type, an above-4G address need an
ext_lfb_base to present its higher 32bits. In init_screen_info() we can
use __screen_info_lfb_base() to handle this case for reserving screen
info memory.

Signed-off-by: Xuefeng Zhao <zhaoxuefeng@loongson.cn>
Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Tianyang Zhang <zhangtianyang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/loongarch/kernel/efi.c

index 2bf86aeda874c79f58ad6d6ba79477a4eda1811b..de21e72759eebcc126dae6f6739a0e7495cb380d 100644 (file)
@@ -95,7 +95,7 @@ static void __init init_screen_info(void)
        memset(si, 0, sizeof(*si));
        early_memunmap(si, sizeof(*si));
 
-       memblock_reserve(screen_info.lfb_base, screen_info.lfb_size);
+       memblock_reserve(__screen_info_lfb_base(&screen_info), screen_info.lfb_size);
 }
 
 void __init efi_init(void)