On Fri, Apr 29, 2011 at 12:04:04AM +0200, Lars-Peter Clausen wrote:
On 04/28/2011 11:48 PM, Mark Brown wrote:
Moving to the card doesn't seem helpful, while we're currently doing one update at once it's not immediately obvious that we want to keep doing that indefinitely.
But keeping it in the dapm context would limit us to one update per context which doesn't seem very sustainable either.
The contexts are pretty much I/O limited - there's a limit to how much you can do simultaneously on a context because at some point you have to interact with the hardware and that's usually the only thing that takes enough time to really care about. Each context will usually go along with a control interface and sometimes those control interfaces will be able to run separately.
Though for global state changes like this that's pretty much irrelevant as we need to walk the entire graph at once.
Turning the pointer in the card struct into a list seems like an option though.
dapm_power_widgets works over the whole card, so the updates to be done should in my opinion be kept on a per card basis as well.
They're going to be tied to a context anyway, simply as a result of getting the I/O context for a register write - if they get moved to the card they'll need to have a context added.