| From 4910403836ded89803fab201d4b5caaa85de3a89 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Mon, 13 Oct 2014 11:51:50 -0400 |
| Subject: drm/radeon: fix speaker allocation setup |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 4910403836ded89803fab201d4b5caaa85de3a89 upstream. |
| |
| If the sad_count is 0, set the hw to stereo and change |
| the error message to a warn. A lot of monitors don't |
| set the speaker allocation block. |
| |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/dce3_1_afmt.c | 4 ++-- |
| drivers/gpu/drm/radeon/dce6_afmt.c | 6 +++--- |
| drivers/gpu/drm/radeon/evergreen_hdmi.c | 6 +++--- |
| 3 files changed, 8 insertions(+), 8 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/dce3_1_afmt.c |
| +++ b/drivers/gpu/drm/radeon/dce3_1_afmt.c |
| @@ -49,8 +49,8 @@ static void dce3_2_afmt_write_speaker_al |
| |
| sad_count = drm_edid_to_speaker_allocation(radeon_connector->edid, &sadb); |
| if (sad_count < 0) { |
| - DRM_ERROR("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| - return; |
| + DRM_DEBUG("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| + sad_count = 0; |
| } |
| |
| /* program the speaker allocation */ |
| --- a/drivers/gpu/drm/radeon/dce6_afmt.c |
| +++ b/drivers/gpu/drm/radeon/dce6_afmt.c |
| @@ -176,9 +176,9 @@ void dce6_afmt_write_speaker_allocation( |
| } |
| |
| sad_count = drm_edid_to_speaker_allocation(radeon_connector_edid(connector), &sadb); |
| - if (sad_count <= 0) { |
| - DRM_ERROR("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| - return; |
| + if (sad_count < 0) { |
| + DRM_DEBUG("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| + sad_count = 0; |
| } |
| |
| /* program the speaker allocation */ |
| --- a/drivers/gpu/drm/radeon/evergreen_hdmi.c |
| +++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c |
| @@ -118,9 +118,9 @@ static void dce4_afmt_write_speaker_allo |
| } |
| |
| sad_count = drm_edid_to_speaker_allocation(radeon_connector_edid(connector), &sadb); |
| - if (sad_count <= 0) { |
| - DRM_ERROR("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| - return; |
| + if (sad_count < 0) { |
| + DRM_DEBUG("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); |
| + sad_count = 0; |
| } |
| |
| /* program the speaker allocation */ |