lkml.org 
[lkml]   [2010]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCHv3] efifb: support the EFI framebuffer on more Apple hardware
    This patch enables the EFI framebuffer on 14 more Macs, including the
    iMac11,1 iMac10,1 iMac8,1 Macmini3,1 Macmini4,1 MacBook5,1 MacBook6,1
    MacBook7,1 MacBookPro2,2 MacBookPro5,2 MacBookPro5,3 MacBookPro6,1
    MacBookPro6,2 and MacBookPro7,1

    Information gathered from various user submissions.

    https://bugzilla.redhat.com/show_bug.cgi?id=528232
    http://ubuntuforums.org/showthread.php?t=1557326

    Signed-off-by: Luke Macken <lmacken@redhat.com>

    diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
    index 815f84b..11de9ed 100644
    --- a/drivers/video/efifb.c
    +++ b/drivers/video/efifb.c
    @@ -39,17 +39,31 @@ enum {
    M_I20, /* 20-Inch iMac */
    M_I20_SR, /* 20-Inch iMac (Santa Rosa) */
    M_I24, /* 24-Inch iMac */
    + M_I24_8_1, /* 24-Inch iMac, 8,1th gen */
    + M_I24_10_1, /* 24-Inch iMac, 10,1th gen */
    + M_I27_11_1, /* 27-Inch iMac, 11,1th gen */
    M_MINI, /* Mac Mini */
    + M_MINI_3_1, /* Mac Mini, 3,1th gen */
    + M_MINI_4_1, /* Mac Mini, 4,1th gen */
    M_MB, /* MacBook */
    M_MB_2, /* MacBook, 2nd rev. */
    M_MB_3, /* MacBook, 3rd rev. */
    + M_MB_5_1, /* MacBook, 5th rev. */
    + M_MB_6_1, /* MacBook, 6th rev. */
    + M_MB_7_1, /* MacBook, 7th rev. */
    M_MB_SR, /* MacBook, 2nd gen, (Santa Rosa) */
    M_MBA, /* MacBook Air */
    M_MBP, /* MacBook Pro */
    M_MBP_2, /* MacBook Pro 2nd gen */
    + M_MBP_2_2, /* MacBook Pro 2,2nd gen */
    M_MBP_SR, /* MacBook Pro (Santa Rosa) */
    M_MBP_4, /* MacBook Pro, 4th gen */
    M_MBP_5_1, /* MacBook Pro, 5,1th gen */
    + M_MBP_5_2, /* MacBook Pro, 5,2th gen */
    + M_MBP_5_3, /* MacBook Pro, 5,3rd gen */
    + M_MBP_6_1, /* MacBook Pro, 6,1th gen */
    + M_MBP_6_2, /* MacBook Pro, 6,2th gen */
    + M_MBP_7_1, /* MacBook Pro, 7,1th gen */
    M_UNKNOWN /* placeholder */
    };

    @@ -64,14 +78,28 @@ static struct efifb_dmi_info {
    [M_I20] = { "i20", 0x80010000, 1728 * 4, 1680, 1050 }, /* guess */
    [M_I20_SR] = { "imac7", 0x40010000, 1728 * 4, 1680, 1050 },
    [M_I24] = { "i24", 0x80010000, 2048 * 4, 1920, 1200 }, /* guess */
    + [M_I24_8_1] = { "imac8", 0xc0060000, 2048 * 4, 1920, 1200 },
    + [M_I24_10_1] = { "imac10", 0xc0010000, 2048 * 4, 1920, 1080 },
    + [M_I27_11_1] = { "imac11", 0xc0010000, 2560 * 4, 2560, 1440 },
    [M_MINI]= { "mini", 0x80000000, 2048 * 4, 1024, 768 },
    + [M_MINI_3_1]= { "mini31", 0x40010000, 1024 * 4, 1024, 768 },
    + [M_MINI_4_1]= { "mini41", 0xc0010000, 2048 * 4, 1920, 1200 },
    [M_MB] = { "macbook", 0x80000000, 2048 * 4, 1280, 800 },
    + [M_MB_5_1] = { "macbook51", 0x80010000, 2048 * 4, 1280, 800 },
    + [M_MB_6_1] = { "macbook61", 0x80010000, 2048 * 4, 1280, 800 },
    + [M_MB_7_1] = { "macbook71", 0x80010000, 2048 * 4, 1280, 800 },
    [M_MBA] = { "mba", 0x80000000, 2048 * 4, 1280, 800 },
    [M_MBP] = { "mbp", 0x80010000, 1472 * 4, 1440, 900 },
    [M_MBP_2] = { "mbp2", 0, 0, 0, 0 }, /* placeholder */
    + [M_MBP_2_2] = { "mbp22", 0x80010000, 1472 * 4, 1440, 900 },
    [M_MBP_SR] = { "mbp3", 0x80030000, 2048 * 4, 1440, 900 },
    [M_MBP_4] = { "mbp4", 0xc0060000, 2048 * 4, 1920, 1200 },
    [M_MBP_5_1] = { "mbp51", 0xc0010000, 2048 * 4, 1440, 900 },
    + [M_MBP_5_2] = { "mbp52", 0xc0010000, 2048 * 4, 1920, 1200 },
    + [M_MBP_5_3] = { "mbp53", 0xd0010000, 2048 * 4, 1440, 900 },
    + [M_MBP_6_1] = { "mbp61", 0x90030000, 2048 * 4, 1920, 1200 },
    + [M_MBP_6_2] = { "mbp62", 0x90030000, 2048 * 4, 1680, 1050 },
    + [M_MBP_7_1] = { "mbp71", 0xc0010000, 2048 * 4, 1280, 800 },
    [M_UNKNOWN] = { NULL, 0, 0, 0, 0 }
    };

    @@ -92,7 +120,12 @@ static const struct dmi_system_id dmi_system_table[] __initconst = {
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac6,1", M_I24),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac6,1", M_I24),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac7,1", M_I20_SR),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac8,1", M_I24_8_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac10,1", M_I24_10_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac11,1", M_I27_11_1),
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "Macmini1,1", M_MINI),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "Macmini3,1", M_MINI_3_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "Macmini4,1", M_MINI_4_1),
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook1,1", M_MB),
    /* At least one of these two will be right; maybe both? */
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook2,1", M_MB),
    @@ -101,14 +134,23 @@ static const struct dmi_system_id dmi_system_table[] __initconst = {
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook3,1", M_MB),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBook3,1", M_MB),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBook4,1", M_MB),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBook5,1", M_MB_5_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBook6,1", M_MB_6_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBook7,1", M_MB_7_1),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookAir1,1", M_MBA),
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro1,1", M_MBP),
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro2,1", M_MBP_2),
    + EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro2,2", M_MBP_2_2),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro2,1", M_MBP_2),
    EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro3,1", M_MBP_SR),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro3,1", M_MBP_SR),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro4,1", M_MBP_4),
    EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro5,1", M_MBP_5_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro5,2", M_MBP_5_2),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro5,3", M_MBP_5_3),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro6,1", M_MBP_6_1),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro6,2", M_MBP_6_2),
    + EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro7,1", M_MBP_7_1),
    {},
    };

    --
    1.7.2.2


    \
     
     \ /
      Last update: 2010-09-02 08:07    [W:0.026 / U:96.460 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site