• Finn Thain's avatar
    powerpc, fbdev: Use NV_CMODE and NV_VMODE only when CONFIG_PPC32 && CONFIG_PPC_PMAC && CONFIG_NVRAM · 066ac5c3
    Finn Thain authored
    This patch addresses inconsistencies in Mac framebuffer drivers and their
    use of Kconfig symbols relating to NVRAM, so PPC64 can use CONFIG_NVRAM.
    
    The defined(CONFIG_NVRAM) condition is replaced with the weaker
    IS_REACHABLE(CONFIG_NVRAM) condition, like atari_scsi.
    
    Macintosh framebuffer drivers use default settings for color mode and
    video mode that are found in NVRAM. On PCI Macs, MacOS stores display
    settings in the Name Registry (NR) partition in NVRAM*. On NuBus Macs,
    there is no NR partition and MacOS stores display mode settings in PRAM**.
    
    Early-model Macs are the ones most likely to benefit from these settings,
    since they are more likely to have a fixed-frequency monitor connected to
    the built-in framebuffer device. Moreover, a single NV_CMODE value and
    a single NV_VMODE value provide for only one display.
    
    The NV_CMODE and NV_VMODE constants are apparently offsets into the NR
    partition for Old World machines. This also suggests that these defaults
    are not useful on later models. The NR partition seems to be optional on
    New World machines. CONFIG_NVRAM cannot be enabled on PPC64 at present.
    
    It is safe to say that NVRAM support in PowerMac fbdev drivers is only
    applicable to CONFIG_PPC32 so make this condition explicit. This means
    matroxfb driver won't crash on PPC64 when CONFIG_NVRAM becomes available
    there.
    
    For imsttfb, add the missing CONFIG_NVRAM test to prevent a build failure,
    since PPC64 does not implement nvram_read_byte(). Also add a missing
    machine_is(powermac) check. Change the inconsistent dependency on
    CONFIG_PPC and the matching #ifdef tests to CONFIG_PPC_PMAC.
    
    For valkyriefb, to improve clarity and consistency with the other PowerMac
    fbdev drivers, test for CONFIG_PPC_PMAC instead of !CONFIG_MAC. Remove a
    bogus comment regarding PRAM.
    
    * See GetPreferredConfiguration and SavePreferredConfiguration in
    "Designing PCI Cards and Drivers for Power Macintosh Computers".
    
    ** See SetDefaultMode and GetDefaultMode in "Designing Cards and Drivers
    for the Macintosh Family".
    Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    066ac5c3
valkyriefb.c 16.1 KB