[PATCH] drm/radeon/kms: define TMDS/LVTM HDMI enabling bits

Alex Deucher alexdeucher at gmail.com
Tue Dec 27 07:13:59 PST 2011


2011/12/24 Rafał Miłecki <zajec5 at gmail.com>:
> The names has been taken from free M76 specs.
>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>

Reviewed-by: Alex Deucher <alexdeucher at gmail.com>

> ---
>  drivers/gpu/drm/radeon/r500_reg.h  |    2 ++
>  drivers/gpu/drm/radeon/r600_hdmi.c |   12 ++++++++----
>  2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r500_reg.h b/drivers/gpu/drm/radeon/r500_reg.h
> index fc43705..3bd8f1b 100644
> --- a/drivers/gpu/drm/radeon/r500_reg.h
> +++ b/drivers/gpu/drm/radeon/r500_reg.h
> @@ -573,6 +573,7 @@
>
>  #define AVIVO_TMDSA_CNTL                    0x7880
>  #   define AVIVO_TMDSA_CNTL_ENABLE               (1 << 0)
> +#   define AVIVO_TMDSA_CNTL_HDMI_EN              (1 << 2)
>  #   define AVIVO_TMDSA_CNTL_HPD_MASK             (1 << 4)
>  #   define AVIVO_TMDSA_CNTL_HPD_SELECT           (1 << 8)
>  #   define AVIVO_TMDSA_CNTL_SYNC_PHASE           (1 << 12)
> @@ -633,6 +634,7 @@
>
>  #define AVIVO_LVTMA_CNTL                                       0x7a80
>  #   define AVIVO_LVTMA_CNTL_ENABLE               (1 << 0)
> +#   define AVIVO_LVTMA_CNTL_HDMI_EN              (1 << 2)
>  #   define AVIVO_LVTMA_CNTL_HPD_MASK             (1 << 4)
>  #   define AVIVO_LVTMA_CNTL_HPD_SELECT           (1 << 8)
>  #   define AVIVO_LVTMA_CNTL_SYNC_PHASE           (1 << 12)
> diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c
> index 2c70a85..0b59206 100644
> --- a/drivers/gpu/drm/radeon/r600_hdmi.c
> +++ b/drivers/gpu/drm/radeon/r600_hdmi.c
> @@ -533,11 +533,13 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
>        } else if (rdev->family >= CHIP_R600) {
>                switch (radeon_encoder->encoder_id) {
>                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
> -                       WREG32_P(AVIVO_TMDSA_CNTL, 0x4, ~0x4);
> +                       WREG32_P(AVIVO_TMDSA_CNTL, AVIVO_TMDSA_CNTL_HDMI_EN,
> +                                ~AVIVO_TMDSA_CNTL_HDMI_EN);
>                        WREG32(offset + R600_HDMI_ENABLE, 0x101);
>                        break;
>                case ENCODER_OBJECT_ID_INTERNAL_LVTM1:
> -                       WREG32_P(AVIVO_LVTMA_CNTL, 0x4, ~0x4);
> +                       WREG32_P(AVIVO_LVTMA_CNTL, AVIVO_LVTMA_CNTL_HDMI_EN,
> +                                ~AVIVO_LVTMA_CNTL_HDMI_EN);
>                        WREG32(offset + R600_HDMI_ENABLE, 0x105);
>                        break;
>                default:
> @@ -603,11 +605,13 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
>        } else if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
>                switch (radeon_encoder->encoder_id) {
>                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
> -                       WREG32_P(AVIVO_TMDSA_CNTL, 0, ~0x4);
> +                       WREG32_P(AVIVO_TMDSA_CNTL, 0,
> +                                ~AVIVO_TMDSA_CNTL_HDMI_EN);
>                        WREG32(offset + R600_HDMI_ENABLE, 0);
>                        break;
>                case ENCODER_OBJECT_ID_INTERNAL_LVTM1:
> -                       WREG32_P(AVIVO_LVTMA_CNTL, 0, ~0x4);
> +                       WREG32_P(AVIVO_LVTMA_CNTL, 0,
> +                                ~AVIVO_LVTMA_CNTL_HDMI_EN);
>                        WREG32(offset + R600_HDMI_ENABLE, 0);
>                        break;
>                default:
> --
> 1.7.7
>


More information about the dri-devel mailing list