On Tue, May 13, 2014 at 5:05 AM, Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > On 12 May 2014 20:09, Alex Deucher <alexdeucher@xxxxxxxxx> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel