|
From: | Mathieu Sonet |
Subject: | Re: [Qemu-devel] [PATCH] Add AACI audio playback support to the ARM Versatile/PB platform |
Date: | Thu, 12 May 2011 23:00:45 +0200 |
User-agent: | Thunderbird 2.0.0.24 (Macintosh/20100228) |
Paul Brook wrote:
On the other hand the current ac97.c implementation is a closely coupled combination of a PCI/ACLink bridge (Intel 82801AA) with a generic AC97 codec. This has prevent me to easily reuse this code. The milkymist-ac97 implementation is another case. It looks like a basic implementation with the AC97 registers directly mapped on the system bus. Using the ACLink bus I defined, it could be interesting to implement separately the PCI/ACLink bridge from ac97.c. Is it what you mean by saying this should be shared with the other AC97 devices ?Yes. The whole point of AClink is that it separates the host bridge from the codec. We now have at least three devices implementing this. Your aclink implementation is only used by one of these, which gives me little confidence it actually does what it claims.Paul
I understand your concern.In fact after digging the Intel PCI bridge documentation, I see that it offers a mapping of the AC97 registers in the PCI I/O space.
Reusing my current ACLink bus with this bridge would mean to encode register accesses into ACLink frames and then to decode them again on the codec side. Not very simple just for the sake of device models correctness and no added value.
Also QEMU may not need N different re-implemention of an AC97 codec.So I will ditch ACLink/LM4549 and will instead interface the PL041 driver with the codec defined in ac97.c.
PCI---AC97 PL041--/ Thanks for your input Mathieu
[Prev in Thread] | Current Thread | [Next in Thread] |