From: Lori Hikichi <lhikichi-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Scott Branden <sbranden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jaroslav Kysela <perex-/Fr2/VpizcU@public.gmane.org>,
Takashi Iwai <tiwai-l3A5Bk7waGM@public.gmane.org>,
alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org,
Dmitry Torokhov <dtor-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Anatol Pomazao <anatol-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
abrestic-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
bryeung-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
olofj-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
pwestin-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH 0/2] Cygnus Audio Driver
Date: Fri, 10 Apr 2015 20:06:28 -0700 [thread overview]
Message-ID: <55288FB4.2010906@broadcom.com> (raw)
In-Reply-To: <20150408185420.GH6023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
On 15-04-08 11:54 AM, Mark Brown wrote:
> On Tue, Apr 07, 2015 at 07:28:40PM -0700, Lori Hikichi wrote:
>> On 15-04-06 02:58 AM, Mark Brown wrote:
>
>>> OK, then it's going to need to be a clock provider at some point - the
>>> clock will be going into external devices which are going to need to be
>>> able to interact with the clock (for example, to get the rate).
>
>> Currently, the ASoC machine driver is responsible for requesting a certain
>> frequency of MCLK be generated from our driver and then also sending the
>> frequency information along to the external device (codec).
>> This is done via the snd_soc_dai_set_sysclk. That is the only clock
>> interaction we have needed for the core part of the driver. For enhanced
>
> I have some passing familiarity with ASoC... if you look at newer
> drivers, especially those for DT systems, you'll see that we're
> transitioning CODEC drivers to use the clock API for their clocks since
> this makes integrating with both generic ASoC things like simple card
> and non-ASoC clocks.
>
>> features, we also have the need to make minor adjustments (tweaks) to the
>> PLL. The tweaks are used to make the PLLs output frequency match as closely
>> as possible to a true reference frequency. As such, we would like to provide
>> the finest adjustment resolution as possible. The clocking framework only
>> seems to allow for a 1 Hz adjustment. This limitation and the fact that no
>> other device seems to need to interact directly will the PLL are why we have
>> not put it in the clocking framework.
>
> That's going to be an issue no matter where you put the control - the
> ASoC specific clocking APIs don't have any control here either. I don't
> know if we want to add the functionality for doing very fine grained
> adjustments into the clock API or not (the use cases seem limited though
> I'm sure they exist), though I do think we should have that discussion
> if only to confirm, but that's a separate thing to how we expose any
> userspace control - the clock API is a kernel internal thing.
>
Seems like there are some benefits to integrating with the clocking framework.
I will have to consider what kernel APIs we want to expose as well. I believe
we may have another kernel driver wanting to control this tweaking. Do you feel
it is ok to have to PLL code reside in this driver for now, and then we can patch
later after we get this clocking control sorted out.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2015-04-11 3:06 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 3:16 [PATCH 0/2] Cygnus Audio Driver Scott Branden
2015-03-31 3:16 ` [PATCH 1/2] ASoC: cygnus-audio: adding device tree bindings Scott Branden
2015-03-31 5:58 ` Mark Brown
2015-04-02 18:47 ` Lori Hikichi
2015-03-31 7:00 ` Mark Brown
2015-03-31 7:26 ` [alsa-devel] " Lars-Peter Clausen
[not found] ` <551A4C37.5090903-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2015-04-02 22:44 ` Lori Hikichi
[not found] ` <1427771784-29950-1-git-send-email-sbranden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2015-03-31 3:16 ` [PATCH 2/2] ASoC: add core audio driver for Broadcom Cygnus SOC Scott Branden
[not found] ` <1427771784-29950-3-git-send-email-sbranden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2015-03-31 6:42 ` Mark Brown
2015-04-02 18:47 ` Lori Hikichi
[not found] ` <551D8EB6.1050004-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2015-04-06 16:19 ` Mark Brown
2015-04-08 2:30 ` Lori Hikichi
2015-04-08 19:23 ` Mark Brown
[not found] ` <20150408192309.GI6023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-10 2:06 ` Lori Hikichi
2015-03-31 6:43 ` [PATCH 0/2] Cygnus Audio Driver Mark Brown
[not found] ` <20150331064338.GE2869-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-03 19:33 ` Scott Branden
[not found] ` <551EEAF8.7050108-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2015-04-06 9:58 ` Mark Brown
[not found] ` <20150406095803.GD6023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-08 2:28 ` Lori Hikichi
2015-04-08 18:54 ` Mark Brown
[not found] ` <20150408185420.GH6023-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-11 3:06 ` Lori Hikichi [this message]
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=55288FB4.2010906@broadcom.com \
--to=lhikichi-dy08kvg/lbpwk0htik3j/w@public.gmane.org \
--cc=abrestic-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
--cc=anatol-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=bryeung-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dtor-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=olofj-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=perex-/Fr2/VpizcU@public.gmane.org \
--cc=pwestin-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=sbranden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
--cc=tiwai-l3A5Bk7waGM@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).