On Thu, Aug 25, 2016 at 02:40:34PM +0800, Mengdong Lin wrote:
In previous design, we had thought that BE DAI and BE DAI links should be created based on ACPI info in BIOS. But unfortunately, the BIOS doesn't have enough physical information, so BE DAI & DAI links are hard coded in platform and machine driver. But when new platforms are coming out with different physical connections, this BIOS gap blocks us from sharing a generic driver across platforms. Now the gap in BIOS ACPI info still exists, the implementations also vary for different generations of platforms, BIOS for public shipped machines cannot change ... So finally we fall back to topology to overcome the BIOS gap and make driver sharing possible. We have tried creating BE DAI & DAI links to new platforms and plan to back port this to upstream drivers for existing platforms like SKL.
I don't understand why we're not able to just enumerate all the possible back ends in the driver and then select the required one at runtime - even if we do this there's going to be some fairly strict limits on the set of back ends that can be added. Do we have any concrete examples here?