On Sun, Jun 10, 2012 at 11:59 AM, Rafa? Mi?ecki <zajec5 at gmail.com> wrote:
> After recent changes HDMI code is ready to be enabled on DCE5. This
> patch just changes conditions to execute already present code on DCE5.
>
> Signed-off-by: Rafa? Mi?ecki <zajec5 at gmail.com>
> ---
> Dave: I know it's common to accept patches adding IDs even while merge
> window's closed. Is this OK for you to take this patch as it only
> enables existing code for more hardware?
> DCE5 has same HDMI engine/code as DCE4.
>
> This was tested for regressions on R6xx and Evergreen. It makes audio
> work on my NI Caicos card.
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

Thanks for all of your hard work on this Rafa?!

Alex

> ---
> ?drivers/gpu/drm/radeon/atombios_encoders.c | ? ?4 +++-
> ?drivers/gpu/drm/radeon/evergreen_hdmi.c ? ?| ? ?3 ---
> ?drivers/gpu/drm/radeon/r600_audio.c ? ? ? ?| ? ?2 +-
> ?drivers/gpu/drm/radeon/r600_hdmi.c ? ? ? ? | ? ?7 ++-----
> ?4 files changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c 
> b/drivers/gpu/drm/radeon/atombios_encoders.c
> index e7b1ec5..486ccdf 100644
> --- a/drivers/gpu/drm/radeon/atombios_encoders.c
> +++ b/drivers/gpu/drm/radeon/atombios_encoders.c
> @@ -1926,7 +1926,9 @@ radeon_atom_encoder_mode_set(struct drm_encoder 
> *encoder,
>
> ? ? ? ?if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_HDMI) {
> ? ? ? ? ? ? ? ?r600_hdmi_enable(encoder);
> - ? ? ? ? ? ? ? if (ASIC_IS_DCE4(rdev))
> + ? ? ? ? ? ? ? if (ASIC_IS_DCE6(rdev))
> + ? ? ? ? ? ? ? ? ? ? ? ; /* TODO (use pointers instead of if-s?) */
> + ? ? ? ? ? ? ? else if (ASIC_IS_DCE4(rdev))
> ? ? ? ? ? ? ? ? ? ? ? ?evergreen_hdmi_setmode(encoder, adjusted_mode);
> ? ? ? ? ? ? ? ?else
> ? ? ? ? ? ? ? ? ? ? ? ?r600_hdmi_setmode(encoder, adjusted_mode);
> diff --git a/drivers/gpu/drm/radeon/evergreen_hdmi.c 
> b/drivers/gpu/drm/radeon/evergreen_hdmi.c
> index a51f880..65c5416 100644
> --- a/drivers/gpu/drm/radeon/evergreen_hdmi.c
> +++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c
> @@ -156,9 +156,6 @@ void evergreen_hdmi_setmode(struct drm_encoder *encoder, 
> struct drm_display_mode
> ? ? ? ?struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
> ? ? ? ?uint32_t offset;
>
> - ? ? ? if (ASIC_IS_DCE5(rdev))
> - ? ? ? ? ? ? ? return;
> -
> ? ? ? ?/* Silent, r600_hdmi_enable will raise WARN for us */
> ? ? ? ?if (!dig->afmt->enabled)
> ? ? ? ? ? ? ? ?return;
> diff --git a/drivers/gpu/drm/radeon/r600_audio.c 
> b/drivers/gpu/drm/radeon/r600_audio.c
> index 7479a5c..79b5591 100644
> --- a/drivers/gpu/drm/radeon/r600_audio.c
> +++ b/drivers/gpu/drm/radeon/r600_audio.c
> @@ -57,7 +57,7 @@ static bool radeon_dig_encoder(struct drm_encoder *encoder)
> ?*/
> ?static int r600_audio_chipset_supported(struct radeon_device *rdev)
> ?{
> - ? ? ? return (rdev->family >= CHIP_R600 && !ASIC_IS_DCE5(rdev))
> + ? ? ? return (rdev->family >= CHIP_R600 && !ASIC_IS_DCE6(rdev))
> ? ? ? ? ? ? ? ?|| rdev->family == CHIP_RS600
> ? ? ? ? ? ? ? ?|| rdev->family == CHIP_RS690
> ? ? ? ? ? ? ? ?|| rdev->family == CHIP_RS740;
> diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c 
> b/drivers/gpu/drm/radeon/r600_hdmi.c
> index 969c275..82a0a4c 100644
> --- a/drivers/gpu/drm/radeon/r600_hdmi.c
> +++ b/drivers/gpu/drm/radeon/r600_hdmi.c
> @@ -322,9 +322,6 @@ void r600_hdmi_setmode(struct drm_encoder *encoder, 
> struct drm_display_mode *mod
> ? ? ? ?struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
> ? ? ? ?uint32_t offset;
>
> - ? ? ? if (ASIC_IS_DCE5(rdev))
> - ? ? ? ? ? ? ? return;
> -
> ? ? ? ?/* Silent, r600_hdmi_enable will raise WARN for us */
> ? ? ? ?if (!dig->afmt->enabled)
> ? ? ? ? ? ? ? ?return;
> @@ -483,7 +480,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
> ? ? ? ?uint32_t offset;
> ? ? ? ?u32 hdmi;
>
> - ? ? ? if (ASIC_IS_DCE5(rdev))
> + ? ? ? if (ASIC_IS_DCE6(rdev))
> ? ? ? ? ? ? ? ?return;
>
> ? ? ? ?/* Silent, r600_hdmi_enable will raise WARN for us */
> @@ -543,7 +540,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
> ? ? ? ?struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
> ? ? ? ?uint32_t offset;
>
> - ? ? ? if (ASIC_IS_DCE5(rdev))
> + ? ? ? if (ASIC_IS_DCE6(rdev))
> ? ? ? ? ? ? ? ?return;
>
> ? ? ? ?/* Called for ATOM_ENCODER_MODE_HDMI only */
> --
> 1.7.7
>

Reply via email to