[RFC][PATCH] drm/radeon/hdmi: use separated file for DCE 3.1+ hw

Alex Deucher alexdeucher at gmail.com
Tue May 13 06:50:02 PDT 2014


On Tue, May 13, 2014 at 5:05 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
>  On 12 May 2014 20:09, Alex Deucher <alexdeucher at gmail.com> wrote:
>> As far as I recall, 3.1 is
>> pretty much the same as 3.0 from a programming perspective, but it's
>> been a while since I looked at it in detail.
>
> Please take a look at attached dce31.html file. It's a dump from fglrx
> operations during HDMI mode setup.
>
> You can see it's very similar for DCE 3.2 except for
> AUDIO_PACKET_CONTROL and INFOFRAME_CONTROL0. But I think it's still
> easier to add 2 or 3 /ifs/ in the code shared between DCE 3.1 and DCE
> 3.2
>
> Apart from the above exceptions:
>
> 1) DCE3.1 uses AFMT_AUDIO_PACKET_CONTROL2 like DCE3.2
> I don't think DCE2/3 had AUDIO_LAYOUT_OVRD or 60958_CS_SOURCE.
>
> 2) DCE3.1 controls ACR_AUTO_SEND with HDMI_ACR_PACKET_CONTROL like
> DCE3.2. In DCE2/3 it was handled in HDMI0_ACR_PACKET_CONTROL register,
> but wasn't touched by fglrx code.
>
> 3) DCE3.1 has this new AFMT_60958_2 register just like DCE3.2
> It wasn't present in DCE2/3, see:
> /* HDMI0_60958_2 is r7xx only */
>
> 4) DCE3.1 has AUDIO_DESCRIPTORs, like DCE3.2
> I believe they were not present on DCE2/3
>
> 5) DCE3.1 enables audio engines just like DCE3.2 (using extra 0x7308
> register during en/disable)
>
> So I'm pretty sure we don't want to share code between DCE2/3.0 and DCE3.1.
>
> The question is if we want separated code for DCE3.1 and DCE3.2. So
> far it seems we can handle DCE3.1 and DCE3.2 with shared simply using
> 2 or 3 conditions.

Fair enough.  Sounds good to me.  You may want to double check DCE3.0
as well.  The register specs aren't that clear on the hdmi registers
between various DCE3.x asics.

Alex


More information about the dri-devel mailing list