[PATCH] drm/radeon/kms: do not force DVI mode on DCE4 if audio is on

Alex Deucher alexdeucher at gmail.com
Wed Dec 7 14:37:51 PST 2011


2011/12/7 Rafał Miłecki <zajec5 at gmail.com>:
>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
> ---
>  drivers/gpu/drm/radeon/atombios_encoders.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c
> index 39c04c1..63e5426 100644
> --- a/drivers/gpu/drm/radeon/atombios_encoders.c
> +++ b/drivers/gpu/drm/radeon/atombios_encoders.c
> @@ -436,7 +436,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
>        case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */
>                if (drm_detect_monitor_audio(radeon_connector->edid) && radeon_audio) {
>                        /* fix me */
> -                       if (ASIC_IS_DCE4(rdev))
> +                       if (!radeon_audio && ASIC_IS_DCE4(rdev))

These are already protected by  if
(drm_detect_monitor_audio(radeon_connector->edid) && radeon_audio)
above.  Just drop the entire DCE4 check.  E.g.,:

if (drm_detect_monitor_audio(radeon_connector->edid) && radeon_audio)
                        return ATOM_ENCODER_MODE_HDMI;
else
                        return ATOM_ENCODER_MODE_DVI;

Alex

>                                return ATOM_ENCODER_MODE_DVI;
>                        else
>                                return ATOM_ENCODER_MODE_HDMI;
> @@ -450,7 +450,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
>        default:
>                if (drm_detect_monitor_audio(radeon_connector->edid) && radeon_audio) {
>                        /* fix me */
> -                       if (ASIC_IS_DCE4(rdev))
> +                       if (!radeon_audio && ASIC_IS_DCE4(rdev))
>                                return ATOM_ENCODER_MODE_DVI;
>                        else
>                                return ATOM_ENCODER_MODE_HDMI;
> @@ -467,7 +467,7 @@ atombios_get_encoder_mode(struct drm_encoder *encoder)
>                        return ATOM_ENCODER_MODE_DP;
>                else if (drm_detect_monitor_audio(radeon_connector->edid) && radeon_audio) {
>                        /* fix me */
> -                       if (ASIC_IS_DCE4(rdev))
> +                       if (!radeon_audio && ASIC_IS_DCE4(rdev))
>                                return ATOM_ENCODER_MODE_DVI;
>                        else
>                                return ATOM_ENCODER_MODE_HDMI;
> --
> 1.7.3.4
>
>


More information about the dri-devel mailing list