On Mon, Apr 30, 2012 at 09:40:55PM +0200, Hans J. Koch wrote:
On Thu, Apr 26, 2012 at 10:37:45PM +0100, Mark Brown wrote:
On Thu, Apr 26, 2012 at 11:11:33PM +0200, Christoph Fritz wrote:
ac97_write() doesn't get called when I try to change "Item: Differential Source".
Oh, right - you're not actually seeing any attempt to write. There won't be anything on the bus, then. Still, why are you identifying the shift there? The write will be suppresed if the register contents don't change which looks like what you're seeing here - though I can't see
[...]
I overlooked that one. What kind of horror show is that? It's definetly wrong to make any assumptions about hardware register contents. A low-level write function always has to write the given value to the given register. Everything else, like suppressing a write because you _think_ a register hasn't changed, will sooner or later lead to hard-to-find errors.
Any performance optimizations have to take place on the highest possible level.
I'm not entirely sure you've looked at the code here...