All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Pavel Hofman <pavel.hofman@insite.cz>
Cc: alsa-devel@alsa-project.org
Subject: Re: Fixes in intel8x0.c
Date: Tue, 26 May 2009 11:57:36 +0200	[thread overview]
Message-ID: <s5hab5089v3.wl%tiwai@suse.de> (raw)
In-Reply-To: <4A1BBC79.3080700@insite.cz>

At Tue, 26 May 2009 11:55:05 +0200,
Pavel Hofman wrote:
> 
> Takashi Iwai wrote:
> > At Tue, 26 May 2009 10:09:57 +0200,
> > Pavel Hofman wrote:
> >> Takashi Iwai wrote:
> >>> At Tue, 26 May 2009 01:19:06 +0200,
> >>> Pavel Hofman wrote:
> >>>> Hi,
> >>>>
> >>>> while trying to dive into complexities of intel8x0.c I found the following:
> >>>>
> >>>> static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
> >>>> 	SND_PCI_QUIRK(0x0e11, 0x008a, "AD1885", 41000),
> >>>> 	SND_PCI_QUIRK(0x1028, 0x00be, "AD1885", 44100),
> >>>> .....
> >>>>
> >>>> Is it really supposed to be 41000, instead of 44100?
> >>> Looks like so, judging from the patch Jaroslav wrote.
> >>>
> >>>> In static int snd_intel8x0_pcm_open(struct snd_pcm_substream *substream,
> >>>> struct ichdev *ichdev)
> >>>> ...
> >>>> 	runtime->hw.rates = ichdev->pcm->rates;
> >>>>
> >>>> The pcm field in ichdev is snd_ac97, while the rates field in snd_ac97
> >>>> is defined
> >>>>
> >>>> unsigned int rates[6];	/* see AC97_RATES_* defines */
> >>>>
> >>>> I guess this way always rates[0] from the list is taken, unlike e.g. in
> >>>> via82xx.c: runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF];
> >>> 41000 is the base clock.  The actual rate written is
> >>>
> >>> 	rate * clock / 48000
> >>>
> >>> Normally the base clock is 48000.  But some boards have a different
> >>> base clock and the rate has to be adjusted to match with that.
> >>>
> >> Takashi, thanks for your answer, 41000 is OK.
> >>
> >> How about the second question regarding the assignment of rates field
> >> being an array? I am remotely troubleshooting SPDIF output of Dell D600
> >> which seems to be stuck at 48kHz (plughw always resamples to 48kHz, even
> >> though the analog  PCM accepts 44.1kHz. The above mentioned code is
> >> related to this (not exactly the cause though.
> > 
> > I don't see any problem in the code.  Are you sure that it's really related?
> 
> Sorry, my fault, I confused ac97_pcm with snd_ac97.

Well, actually it's a part of snd_ac97_codec module.

The logic in ac97_pcm.c is somewhat different from via82xx.c and others,
and is more complex due to the slog assignment mechanism.
(And actually SPDIF is limited only to 48k on many codecs, and the driver
 behaves intentionally so.)


Takashi

      reply	other threads:[~2009-05-26  9:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 23:19 Fixes in intel8x0.c Pavel Hofman
2009-05-26  6:01 ` Takashi Iwai
2009-05-26  8:09   ` Pavel Hofman
2009-05-26  8:26     ` Takashi Iwai
2009-05-26  9:55       ` Pavel Hofman
2009-05-26  9:57         ` Takashi Iwai [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=s5hab5089v3.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=pavel.hofman@insite.cz \
    /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.