diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2015-04-07 15:52:42 +0200 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-04-27 15:54:55 +0200 |
commit | 0f55db36d49d45b80eff0c0a2a498766016f458b (patch) | |
tree | 7604d53da685ea0e8a44e078bb01b714e1a9c728 /drivers/gpu/drm/radeon/radeon_connectors.c | |
parent | drm/radeon/audio: don't enable packets until the end (diff) | |
download | linux-0f55db36d49d45b80eff0c0a2a498766016f458b.tar.xz linux-0f55db36d49d45b80eff0c0a2a498766016f458b.zip |
drm/radeon: only mark audio as connected if the monitor supports it (v3)
Otherwise the driver may try and send audio which may confuse the
monitor.
v2: set pin to NULL if no audio
v3: avoid crash with analog encoders
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_connectors.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index cebb65e07e1d..d17d251dbd4f 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -1379,8 +1379,10 @@ out: /* updated in get modes as well since we need to know if it's analog or digital */ radeon_connector_update_scratch_regs(connector, ret); - if (radeon_audio != 0) + if (radeon_audio != 0) { + radeon_connector_get_edid(connector); radeon_audio_detect(connector, ret); + } exit: pm_runtime_mark_last_busy(connector->dev->dev); @@ -1717,8 +1719,10 @@ radeon_dp_detect(struct drm_connector *connector, bool force) radeon_connector_update_scratch_regs(connector, ret); - if (radeon_audio != 0) + if (radeon_audio != 0) { + radeon_connector_get_edid(connector); radeon_audio_detect(connector, ret); + } out: pm_runtime_mark_last_busy(connector->dev->dev); |