All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Mark Brown <broonie@kernel.org>
Cc: Daniel Mack <daniel@zonque.org>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org,
	patches@opensource.wolfsonmicro.com
Subject: Re: [RFC PATCH 2/7] ALSA: ac97: add an ac97 bus
Date: Tue, 03 May 2016 21:43:20 +0200	[thread overview]
Message-ID: <87twiforl3.fsf@belgarion.home> (raw)
In-Reply-To: <20160503162938.GT6292@sirena.org.uk> (Mark Brown's message of "Tue, 3 May 2016 17:29:38 +0100")

Mark Brown <broonie@kernel.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

WARNING: multiple messages have this Message-ID (diff)
From: robert.jarzmik@free.fr (Robert Jarzmik)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 2/7] ALSA: ac97: add an ac97 bus
Date: Tue, 03 May 2016 21:43:20 +0200	[thread overview]
Message-ID: <87twiforl3.fsf@belgarion.home> (raw)
In-Reply-To: <20160503162938.GT6292@sirena.org.uk> (Mark Brown's message of "Tue, 3 May 2016 17:29:38 +0100")

Mark Brown <broonie@kernel.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

  reply	other threads:[~2016-05-03 19:43 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-30 21:15 [RFC PATCH 0/7] AC97 device/driver model revamp Robert Jarzmik
2016-04-30 21:15 ` Robert Jarzmik
2016-04-30 21:15 ` [RFC PATCH 1/7] ALSA: ac97: split out the generic ac97 registers Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-05-03 11:51   ` Mark Brown
2016-05-03 11:51     ` Mark Brown
2016-05-03 19:22     ` Robert Jarzmik
2016-05-03 19:22       ` Robert Jarzmik
2016-05-03 19:22       ` Robert Jarzmik
2016-05-04  9:07       ` Mark Brown
2016-05-04  9:07         ` Mark Brown
2016-05-05 19:06         ` Robert Jarzmik
2016-05-05 19:06           ` Robert Jarzmik
2016-05-05 19:06           ` Robert Jarzmik
2016-05-05 19:17           ` Mark Brown
2016-05-05 19:17             ` Mark Brown
2016-05-05 19:46             ` Robert Jarzmik
2016-05-05 19:46               ` Robert Jarzmik
2016-05-06 17:17               ` Mark Brown
2016-05-06 17:17                 ` Mark Brown
2017-09-04 17:25   ` Applied "ALSA: ac97: split out the generic ac97 registers" to the asoc tree Mark Brown
2017-09-04 17:25     ` Mark Brown
2017-09-04 17:25     ` Mark Brown
2016-04-30 21:15 ` [RFC PATCH 2/7] ALSA: ac97: add an ac97 bus Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-05-03 16:29   ` Mark Brown
2016-05-03 16:29     ` Mark Brown
2016-05-03 19:43     ` Robert Jarzmik [this message]
2016-05-03 19:43       ` Robert Jarzmik
2016-05-04 16:22       ` Mark Brown
2016-05-04 16:22         ` Mark Brown
2016-05-05 19:14         ` Robert Jarzmik
2016-05-05 19:14           ` Robert Jarzmik
2016-05-09  9:31   ` Takashi Iwai
2016-05-09  9:31     ` Takashi Iwai
2016-05-09  9:31     ` Takashi Iwai
2016-05-14  9:50     ` Robert Jarzmik
2016-05-14  9:50       ` Robert Jarzmik
2016-05-14  9:50       ` Robert Jarzmik
2016-05-14 15:13       ` Takashi Iwai
2016-05-14 15:13         ` Takashi Iwai
2016-05-14 15:13         ` Takashi Iwai
2016-05-15 21:29         ` Robert Jarzmik
2016-05-15 21:29           ` Robert Jarzmik
2016-05-15 21:29           ` Robert Jarzmik
2016-05-16  5:40           ` Takashi Iwai
2016-05-16  5:40             ` Takashi Iwai
2016-05-16  5:40             ` Takashi Iwai
2016-05-16  8:53             ` Robert Jarzmik
2016-05-16  8:53               ` Robert Jarzmik
2016-05-16  8:53               ` Robert Jarzmik
2016-05-16 12:58               ` Takashi Iwai
2016-05-16 12:58                 ` Takashi Iwai
2016-05-16 12:58                 ` Takashi Iwai
2016-05-16 13:12                 ` Mark Brown
2016-05-16 13:12                   ` Mark Brown
2016-04-30 21:15 ` [RFC PATCH 3/7] ASoC: wm9713: add ac97 new bus support Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15 ` [RFC PATCH 4/7] ASoC: pxa: switch to new ac97 " Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15 ` [RFC PATCH 5/7] ARM: pxa: mioa701 remove wm9713 from platform devices Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15 ` [RFC PATCH 6/7] ASoC: mioa701_wm9713: convert to new ac97 bus Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-04-30 21:15 ` [RFC PATCH 7/7] ASoC: add new ac97 bus support Robert Jarzmik
2016-04-30 21:15   ` Robert Jarzmik
2016-05-09  9:04 ` [RFC PATCH 0/7] AC97 device/driver model revamp Takashi Iwai
2016-05-09  9:04   ` Takashi Iwai
2016-05-09  9:04   ` Takashi Iwai
2016-05-14  8:13   ` Robert Jarzmik
2016-05-14  8:13     ` Robert Jarzmik
2016-05-14  8:13     ` Robert Jarzmik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87twiforl3.fsf@belgarion.home \
    --to=robert.jarzmik@free.fr \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=daniel@zonque.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.wolfsonmicro.com \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.