Javier Martinez Canillas <javierm@xxxxxxxxxx> writes: > Thomas Zimmermann <tzimmermann@xxxxxxx> writes: > >> On ARM PCI systems, the PCI hierarchy might be reconfigured during >> boot and the firmware framebuffer might move as a result of that. >> The values in screen_info will then be invalid. >> >> Work around this problem by tracking the framebuffer's initial >> location before it get relocated; then fix the screen_info state >> between reloaction and creating the firmware framebuffer's device. >> >> This functionality has been lifted from efifb. See the commit message >> of commit 55d728a40d36 ("efi/fb: Avoid reconfiguration of BAR that >> covers the framebuffer") for more information. >> >> Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> >> --- > > [...] > >> #if defined(CONFIG_PCI) > > Shouldn't this be && !defined(CONFIG_X86) ? Or maybe && > defined(CONFIG_ARM64), although I don't know if the same > also applies to other EFI platforms (e.g: CONFIG_RISCV). > Answering my own question, the !defined(CONFIG_X86) was dropped in the commit dcf8f5ce3165 ("drivers/fbdev/efifb: Allow BAR to be moved instead of claiming it"). The rationale is explained in that commit message: While this is less likely to occur on x86, given that the firmware's PCI resource allocation is more likely to be preserved, this is a worthwhile sanity check to have in place, and so let's remove the preprocessor conditional that makes it !X86 only. So it is OK to just guard with #if defined(CONFIG_PCI). -- Best regards, Javier Martinez Canillas Core Platforms Red Hat