On Fri, Apr 19, 2013 at 2:10 AM, Rafa? Mi?ecki <zajec5 at gmail.com> wrote: > 2013/4/18 <alexdeucher at gmail.com>: >> - switch (radeon_encoder->encoder_id) { >> - case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: >> - case ENCODER_OBJECT_ID_INTERNAL_LVTM1: >> - WREG32_P(R600_AUDIO_TIMING, 0, ~0x301); >> - break; >> - case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: >> - case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: >> - case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: >> - case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: >> - WREG32_P(R600_AUDIO_TIMING, 0x100, ~0x301); >> - break; >> - default: >> - dev_err(rdev->dev, "Unsupported encoder type 0x%02X\n", >> - radeon_encoder->encoder_id); >> - return; >> - } > > Are you sure we can just drop that part?
Yes we should be able to drop that part. The only relevant bits are 9:8 which allows you to force which DTO is used by the audio block. 0 = auto, 1 = force dto0, 2 = force dto1. Additionally, that register doesn't exist on evergreen and newer. On evergreen and newer there is a DIG PHY register at the same offset which may explain the display problems some people are experiencing. > > I'd appreciate waiting with this patch until next week, I'll test it > over the weekend on my RV620. Sounds good. Alex