linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Lucas Stach <dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>
Cc: alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2 RESEND 2/2] ASOC: tegra: fix AC97 clock handling
Date: Tue, 17 Dec 2013 15:20:35 -0700	[thread overview]
Message-ID: <52B0CE33.7080605@wwwdotorg.org> (raw)
In-Reply-To: <20131217214352.GF28455-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>

On 12/17/2013 02:43 PM, Mark Brown wrote:
> On Tue, Dec 17, 2013 at 03:49:53PM +0100, Lucas Stach wrote:
>> Am Dienstag, den 17.12.2013, 14:00 +0000 schrieb Mark Brown:
> 
>>> I don't understand this commit message at all I'm afraid.  What does it
>>> mean to "be in line with the devicetree" and what is the purpose of this
>>> change?
> 
>> Clocks were added to the DT after the Tegra AC97 driver was initially
>> pushed upstream and the layout changed a bit in the process. Stephen
>> Warren convinced me that it's the right thing to let the Audio PLL be
>> controlled by the ASoC machine driver, rather than the AC97 host
>> controller driver.
> 
>> So currently the host controller driver asks for clocks that aren't
>> there in the DT. This change corrects the clock handling so that the
>> host controller driver only ask for it's own clock, but the Audio PLL
>> handling is pushed into the machine driver.
> 
> Are we sure this is the best thing to do here?  There is standard
> clocking behaviour specified in AC'97 so if the machine driver clocking
> control includes that it's not clear that we want to vary it.  In any
> case a clearer changelog explaining that the driver never worked due to
> these clocking changes would be good.

The Tegra clocking architecture has a shared audio PLL that provides
clocks to the various IO controllers (I2S, AC'97, S/PDIF). In order to
allow multiple IO controllers to be in use at once, a single SW entity
has to manage the clocks, so that it can configure the audio PLL, rather
than having each individual IO controller attempt to assert ownership on
the shared resource. The centralized PLL management needs to switch the
PLL rate between 2 different values for 48-/44.1KHz-based audio for
example, and deny requests to switch if already-active audio is running
at the other rate.

So yes, I think doing this all in the machine driver is the best thing.

  parent reply	other threads:[~2013-12-17 22:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-17 10:52 [PATCH v2 RESEND 1/2] ASOC: tegra: fix matching of AC97 components Lucas Stach
     [not found] ` <1387277564-4774-1-git-send-email-dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>
2013-12-17 10:52   ` [PATCH v2 RESEND 2/2] ASOC: tegra: fix AC97 clock handling Lucas Stach
     [not found]     ` <1387277564-4774-2-git-send-email-dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>
2013-12-17 14:00       ` Mark Brown
     [not found]         ` <20131217140017.GI3185-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-17 14:49           ` Lucas Stach
2013-12-17 21:43             ` Mark Brown
     [not found]               ` <20131217214352.GF28455-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-17 22:20                 ` Stephen Warren [this message]
     [not found]                   ` <52B0CE33.7080605-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-12-17 22:28                     ` Mark Brown
     [not found]                       ` <20131217222847.GK28455-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-17 22:33                         ` Stephen Warren
2013-12-17 22:39                           ` Mark Brown
     [not found]                             ` <20131217223957.GO28455-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-12-18 11:33                               ` Lucas Stach
2013-12-17 13:56 ` [PATCH v2 RESEND 1/2] ASOC: tegra: fix matching of AC97 components Mark Brown

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=52B0CE33.7080605@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@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).