AC'97 useful functions and few AC'97 codecs per board.

Hello, All!

ALSA has some functions for easy to use when writting the driver, but now it
is my head pain I need everytime use the same code in each driver, like
that:

/* disable DAC power */
snd_ac97_update_bits(chip->ac97, AC97_POWERDOWN, 0x0200, 0x0200);

It would be nice if QSA might have the same functions !

And the main question: what about supporting few AC’97 codecs per one board
(primary, secondary) ?

BTW: What’s about Power Management support for QSA ?

With best regards, Mike Gorchak.

“Mike Gorchak” <mike@malva.ua.remove.this.for.no.spam> wrote in message
news:aggork$mnh$1@inn.qnx.com

Hello, All!

ALSA has some functions for easy to use when writting the driver, but now
it
is my head pain I need everytime use the same code in each driver, like
that:

/* disable DAC power */
snd_ac97_update_bits(chip->ac97, AC97_POWERDOWN, 0x0200, 0x0200);

It would be nice if QSA might have the same functions !

This function does not do much beyond touching AC97 registers. Perhaps
useful, but once you have codec_read() and codec_write() it is not a big
deal to do it yourself. More painful is the fact that ac97.so in QNX
disregards the fact that some ac97 codecs don’t like touching certain
registers… which means you hang codec bus when load ac97.so.

And the main question: what about supporting few AC’97 codecs per one
board
(primary, secondary) ?

I think that all it takes is having/using proper codec_read/codec_write
functions. As long as you can access all codecs, the rest is up to you. I
don’t know how signals would be routed to different codecs.

BTW: What’s about Power Management support for QSA ?

It is actually ‘what about power management support for QNX’. Proper power
management framework is lot of work which would require changing all
drivers, not only audio. ACPI is very big and painful to implement, APM is
too limited… I guess they are waiting for better times :wink:

– igor