lkml.org 
[lkml]   [2012]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 063/109] drm/radeon: fix dpms on/off on trinity/aruba v2
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.4-stable review patch. If anyone has any objections, please let me know.

    ------------------

    From: Jerome Glisse <jglisse@redhat.com>

    commit fcedac670c3da0d17aaa5db1708694971e8024a9 upstream.

    The external encoder need to be setup again before enabling the
    transmiter. This seems to be only needed on some trinity/aruba
    to fix dpms on.

    v2: Add comment, only setup again on dce6 ie aruba or newer.

    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/radeon/atombios_encoders.c | 12 ++++++++++--
    1 file changed, 10 insertions(+), 2 deletions(-)

    --- a/drivers/gpu/drm/radeon/atombios_encoders.c
    +++ b/drivers/gpu/drm/radeon/atombios_encoders.c
    @@ -1392,10 +1392,18 @@ radeon_atom_encoder_dpms_dig(struct drm_
    case DRM_MODE_DPMS_ON:
    /* some early dce3.2 boards have a bug in their transmitter control table */
    if ((rdev->family == CHIP_RV710) || (rdev->family == CHIP_RV730) ||
    - ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev))
    + ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) {
    + if (ASIC_IS_DCE6(rdev)) {
    + /* It seems we need to call ATOM_ENCODER_CMD_SETUP again
    + * before reenabling encoder on DPMS ON, otherwise we never
    + * get picture
    + */
    + atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_SETUP, 0);
    + }
    atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE, 0, 0);
    - else
    + } else {
    atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0);
    + }
    if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) {
    if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
    atombios_set_edp_panel_power(connector,



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