diff mbox

[0/6] drm/radeon: minor HDMI improvements

Message ID CADnq5_MSz_xn-yo7PAK8V823xnow=Gcv-UMAA=gSVKOmbO4Ofg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Deucher April 18, 2013, 1:46 p.m. UTC
On Sat, Apr 13, 2013 at 7:26 PM, Rafa? Mi?ecki <zajec5@gmail.com> wrote:
> I've managed to track fglrx operations on HDMI regs, so we can finally setup
> everything in (hopefully) the correct way and order.
>
> This changes HDMI setup on Evergreen to mostly match fglrx and was tested on:
> 1) AMD Radeon HD 6320 (PALM == DCE41)
> 2) AMD Radeon HD 6970M (BARTS == DCE5)
> No regressions noticed, I can still play audio, including LPCM, AC3 and DTS.
>
> Unfortunately I don't have any DCE4 hardware to test this, but that changes
> shouldn't cause any regressions. I hope that with such improvements we will
> finally able to enable audio by default.

I've applied patches 1, 4, 5, 6.  For patch 2, I'd prefer we just not
enable the interrupts rather than removing the code altogether at this
point.  See the attached patch.  For patch 3, none of the registers
mentioned are directly related to audio setup.

Alex

>
> Rafa? Mi?ecki (6):
>   drm/radeon: add helpers for masking and setting bits in regs
>   drm/radeon: remove HDMI interrupts on Evergreen
>   drm/radeon: add some HDMI comments
>   drm/radeon/evergreen: setup HDMI before enabling it
>   drm/radeon/evergreen: reorder HDMI setup
>   drm/radeon/evergreen: write default channel numbers
>
>  drivers/gpu/drm/radeon/evergreen.c      |  127 +------------------------------
>  drivers/gpu/drm/radeon/evergreen_hdmi.c |   77 +++++++++++++++----
>  drivers/gpu/drm/radeon/evergreend.h     |    1 +
>  drivers/gpu/drm/radeon/r600_hdmi.c      |   16 ++--
>  drivers/gpu/drm/radeon/radeon.h         |    2 +
>  drivers/gpu/drm/radeon/radeon_display.c |    5 ++
>  6 files changed, 76 insertions(+), 152 deletions(-)
>
> --
> 1.7.10.4
>

Comments

Rafał Miłecki April 18, 2013, 2:17 p.m. UTC | #1
2013/4/18 Alex Deucher <alexdeucher@gmail.com>:
> On Sat, Apr 13, 2013 at 7:26 PM, Rafa? Mi?ecki <zajec5@gmail.com> wrote:
>> I've managed to track fglrx operations on HDMI regs, so we can finally setup
>> everything in (hopefully) the correct way and order.
>>
>> This changes HDMI setup on Evergreen to mostly match fglrx and was tested on:
>> 1) AMD Radeon HD 6320 (PALM == DCE41)
>> 2) AMD Radeon HD 6970M (BARTS == DCE5)
>> No regressions noticed, I can still play audio, including LPCM, AC3 and DTS.
>>
>> Unfortunately I don't have any DCE4 hardware to test this, but that changes
>> shouldn't cause any regressions. I hope that with such improvements we will
>> finally able to enable audio by default.
>
> I've applied patches 1, 4, 5, 6.  For patch 2, I'd prefer we just not
> enable the interrupts rather than removing the code altogether at this
> point.  See the attached patch.  For patch 3, none of the registers
> mentioned are directly related to audio setup.

I agree with that, thanks a lot for handling this patchset!

Your change from r600_hdmi.c should be probably also made in
r600_audio_chipset_supported.
diff mbox

Patch

From 2a011eb7d763257e75b08c98adfb70a8d35ec6ae Mon Sep 17 00:00:00 2001
From: Alex Deucher <alexander.deucher@amd.com>
Date: Thu, 18 Apr 2013 09:42:13 -0400
Subject: [PATCH] drm/radeon: disable audio format interrupts on Evergreen

The audio format change interrupts are an aid in debugging,
but not required for operation.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/radeon/r600_hdmi.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c
index e419b98..95397b2 100644
--- a/drivers/gpu/drm/radeon/r600_hdmi.c
+++ b/drivers/gpu/drm/radeon/r600_hdmi.c
@@ -461,7 +461,9 @@  void r600_hdmi_enable(struct drm_encoder *encoder)
 
 	if (rdev->irq.installed) {
 		/* if irq is available use it */
-		radeon_irq_kms_enable_afmt(rdev, dig->afmt->id);
+		/* XXX: shouldn't need this on any asics.  Double check DCE2/3 */
+		if (!ASIC_IS_DCE4(rdev))
+			radeon_irq_kms_enable_afmt(rdev, dig->afmt->id);
 	}
 
 	dig->afmt->enabled = true;
-- 
1.7.7.5