lkml.org 
[lkml]   [2012]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 4/7] apple-gmux: Add switch_ddc support
    Date
    The gmux allows muxing the DDC independently from the display, so
    support this functionality. This will allow reading the EDID for the
    inactive GPU, fixing issues with machines that either don't have a VBT
    or have invalid mode data in the VBT.

    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    ---
    drivers/platform/x86/apple-gmux.c | 12 ++++++++++--
    1 file changed, 10 insertions(+), 2 deletions(-)

    diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
    index c72e81e..f702e90 100644
    --- a/drivers/platform/x86/apple-gmux.c
    +++ b/drivers/platform/x86/apple-gmux.c
    @@ -269,14 +269,21 @@ static const struct backlight_ops gmux_bl_ops = {
    .update_status = gmux_update_status,
    };

    +static int gmux_switch_ddc(enum vga_switcheroo_client_id id)
    +{
    + if (id == VGA_SWITCHEROO_IGD)
    + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 1);
    + else
    + gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 2);
    + return 0;
    +}
    +
    static int gmux_switchto(enum vga_switcheroo_client_id id)
    {
    if (id == VGA_SWITCHEROO_IGD) {
    - gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 1);
    gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DISPLAY, 2);
    gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_EXTERNAL, 2);
    } else {
    - gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DDC, 2);
    gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_DISPLAY, 3);
    gmux_write8(apple_gmux_data, GMUX_PORT_SWITCH_EXTERNAL, 3);
    }
    @@ -343,6 +350,7 @@ gmux_active_client(struct apple_gmux_data *gmux_data)
    }

    static struct vga_switcheroo_handler gmux_handler = {
    + .switch_ddc = gmux_switch_ddc,
    .switchto = gmux_switchto,
    .power_state = gmux_set_power_state,
    .get_client_id = gmux_get_client_id,
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-08-20 18:21    [W:2.169 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site