2f88c12e90
[ Upstream commit 0d0a3748a2cb38f9da1f08d357688ebd982eb788 ] dmi_early_remap() has been defined as ioremap_cache() which on MIPS32 gets to be converted to the VM-based mapping. DMI early remapping is performed at the setup_arch() stage with no VM available. So calling the dmi_early_remap() for MIPS32 causes the system to crash at the early boot time. Fix that by converting dmi_early_remap() to the uncached remapping which is always available on both 32 and 64-bits MIPS systems. Note this change shall not cause any regressions on the current DMI support implementation because on the early boot-up stage neither MIPS32 nor MIPS64 has the cacheable ioremapping support anyway. Fixes: be8fa1cb444c ("MIPS: Add support for Desktop Management Interface (DMI)") Signed-off-by: Serge Semin <fancer.lancer@gmail.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
20 lines
547 B
C
Executable file
20 lines
547 B
C
Executable file
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_DMI_H
|
|
#define _ASM_DMI_H
|
|
|
|
#include <linux/io.h>
|
|
#include <linux/memblock.h>
|
|
|
|
#define dmi_early_remap(x, l) ioremap(x, l)
|
|
#define dmi_early_unmap(x, l) iounmap(x)
|
|
#define dmi_remap(x, l) ioremap_cache(x, l)
|
|
#define dmi_unmap(x) iounmap(x)
|
|
|
|
/* MIPS initialize DMI scan before SLAB is ready, so we use memblock here */
|
|
#define dmi_alloc(l) memblock_alloc_low(l, PAGE_SIZE)
|
|
|
|
#if defined(CONFIG_MACH_LOONGSON64)
|
|
#define SMBIOS_ENTRY_POINT_SCAN_START 0xFFFE000
|
|
#endif
|
|
|
|
#endif /* _ASM_DMI_H */
|