[PATCH 2/3] drm/radeon: clean up audio dto programming

Alex Deucher alexdeucher at gmail.com
Fri Apr 19 06:51:54 PDT 2013


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


More information about the dri-devel mailing list