On Sat, Apr 13, 2013 at 7:26 PM, Rafał Miłecki <zajec5@xxxxxxxxx> 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 >
From 2a011eb7d763257e75b08c98adfb70a8d35ec6ae Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> 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@xxxxxxx> --- 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
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel