• Luben Tuikov's avatar
    drm/amd/pm: Simplify managed I2C transfer functions · ebe57d0c
    Luben Tuikov authored
    Now that we have an I2C quirk table for
    SMU-managed I2C controllers, the I2C core does the
    checks for us, so we don't need to do them, and so
    simplify the managed I2C transfer functions.
    
    Also, for Arcturus and Navi10, fix setting the
    command type from "cmd->CmdConfig" to "cmd->Cmd".
    The latter is what appears to be taking in
    the enumeration I2C_CMD_... as an integer,
    not a bit-flag.
    
    For Sienna, the "Cmd" field seems to have been
    eliminated, and command type and flags all live in
    the "CmdConfig" field--this is left untouched.
    
    Fix: Detect and add changing of direction
    bit-flag, as this is necessary for the SMU to
    detect the direction change in the 1-d array of
    data it gets.
    
    Cc: Jean Delvare <jdelvare@suse.de>
    Cc: Alexander Deucher <Alexander.Deucher@amd.com>
    Cc: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
    Cc: Lijo Lazar <Lijo.Lazar@amd.com>
    Cc: Stanley Yang <Stanley.Yang@amd.com>
    Cc: Hawking Zhang <Hawking.Zhang@amd.com>
    Signed-off-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
    Acked-by: default avatarAlexander Deucher <Alexander.Deucher@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    ebe57d0c
arcturus_ppt.c 80.5 KB