2013/4/7 Rafał Miłecki zajec5@gmail.com:
Some devices (ATI/AMD cards) don't want passing ELD struct to the hardware but just require filling specific registers and then hardware/firmware does the rest. In such a cases we need to read info from SAD blocks and put them in the correct registers.
If you wish to see how exactly it works on radeon, see for example evergreend.h: AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR0 AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR1 & friends.