[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87twiforl3.fsf@belgarion.home>
Date: Tue, 03 May 2016 21:43:20 +0200
From: Robert Jarzmik <robert.jarzmik@...e.fr>
To: Mark Brown <broonie@...nel.org>
Cc: Daniel Mack <daniel@...que.org>,
Haojian Zhuang <haojian.zhuang@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Liam Girdwood <lgirdwood@...il.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
alsa-devel@...a-project.org, patches@...nsource.wolfsonmicro.com
Subject: Re: [RFC PATCH 2/7] ALSA: ac97: add an ac97 bus
Mark Brown <broonie@...nel.org> writes:
> On Sat, Apr 30, 2016 at 11:15:34PM +0200, Robert Jarzmik wrote:
>> AC97 is a bus for sound usage. It enables for a AC97 AC-Link to link one
>> controller to 0 to 4 AC97 codecs.
>
>> The goal of this new implementation is to implement a device/driver
>> model for AC97, with an automatic scan of the bus and automatic
>> discovery of AC97 codec devices.
>
> I think this is basically what I was thinking of, yes. One thing we'll
> need to do is work out how to handle systems that need some explicit
> action to start clocks for the bus clock, though they were never very
> common and it's entirely possible nobody cares any more so perhaps we
> just punt and see if anyone notices for now.
You probably mean the BITCLK clock.
What is a bit pesky about this clock is that it can either be mastered by
digital controller and the codec is a slave, or the other way around.
So we had either the BITCLK provided by :
- the controller
=> this could be passed in ac97_digital_controller_register()
- the codec
=> this is trouble, I don't really know how to handle this case
If the bus code has this clock, it can indeed prepare and enable it.
>> +int ac97_digital_controller_register(const struct ac97_controller_ops *ops,
>> + struct device *dev);
>> +int ac97_digital_controller_unregister(const struct device *dev);
>
> Why "digital"?
I copy-pasted this from Audio Codec '97 Revision 2.3, where in several places
they call the controller a "digital controller".
Quoting chapter 1.4:
The digital link that connects the AC ‘97 Digital Controller to the AC ‘97
Codec, referred to as AC-link, is a bi- directional, 5-wire, serial time
domain multiplexed (TDM) format interface. AC-link supports connections
between a single Controller and up to 4 CODECs on a circuit board and/or
riser card.
Now if you prefer "ac97_controller" or something like that, that's as you wish,
the name does not matter that much to me ;)
Cheers.
--
Robert
Powered by blists - more mailing lists