drm/radeon: rework audio detect (v4)
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 23 Jul 2015 14:01:09 +0000 (10:01 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 29 Jul 2015 19:48:05 +0000 (15:48 -0400)
commitd0ea397e22f9ad0113c1dbdaab14eded050472eb
tree89b8156f682f9cf56160edbdaf00d9f417342371
parentb3fcf36aeef3aeb890d9413c2066048ec7fda7e5
drm/radeon: rework audio detect (v4)

1. Always assign audio function pointers even if the display does
not support audio.  We need to properly disable the audio stream
when when using a non-audio capable monitor.  Fixes purple line
on some hdmi monitors.

2. Check if a pin is in use by another encoder before disabling
it.

v2: make sure we've fetched the edid before checking audio and
    look up the encoder before calling audio_detect since
    connector->encoder may not be assigned yet.  Separate
    pin and afmt.  They are allocated at different times and
    have no dependency on eachother.
v3: fix connector fetching in encoder functions
v4: fix missed dig->pin check in dce6_afmt_write_latency_fields

bugs:
https://bugzilla.kernel.org/show_bug.cgi?id=93701
https://bugzilla.redhat.com/show_bug.cgi?id=1236337
https://bugs.freedesktop.org/show_bug.cgi?id=91041

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/dce6_afmt.c
drivers/gpu/drm/radeon/radeon_audio.c
drivers/gpu/drm/radeon/radeon_audio.h
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_mode.h