Update of /cvsroot/alsa/alsa-kernel/pci
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14557/pci
Modified Files:
atiixp.c
Log Message:
- fixed the direct SPDIF playback mode. (still experimental)
- use the different driver id name for the direct spdif mode, so that
alsa-lib can read another corresponding configuration.
Index: atiixp.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/atiixp.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- atiixp.c 23 Apr 2004 15:07:54 -0000 1.7
+++ atiixp.c 4 May 2004 15:24:29 -0000 1.8
@@ -862,9 +862,7 @@
ATI_REG_CMD_INTERLEAVE_OUT : 0);
} else {
atiixp_update(chip, CMD, ATI_REG_CMD_SPDF_CONFIG_MASK, 0);
- atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_SPDF,
- substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ?
- ATI_REG_CMD_INTERLEAVE_SPDF : 0);
+ atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_SPDF, 0);
}
spin_unlock(&chip->reg_lock);
return 0;
@@ -1024,9 +1022,8 @@
runtime->hw.rates = chip->pcms[pcm_type]->rates;
snd_pcm_limit_hw_rates(runtime);
} else {
- /* SPDIF */
- runtime->hw.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100 |
SNDRV_PCM_RATE_32000;
- runtime->hw.rate_min = 32000;
+ /* direct SPDIF */
+ runtime->hw.formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE;
}
if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS))
< 0)
return err;
@@ -1277,7 +1274,10 @@
return err;
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_atiixp_spdif_ops);
pcm->private_data = chip;
- strcpy(pcm->name, "ATI IXP IEC958");
+ if (chip->spdif_over_aclink)
+ strcpy(pcm->name, "ATI IXP IEC958 (AC97)");
+ else
+ strcpy(pcm->name, "ATI IXP IEC958 (Direct)");
chip->pcmdevs[1] = pcm;
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
@@ -1584,7 +1584,7 @@
pci_read_config_byte(pci, PCI_REVISION_ID, &revision);
- strcpy(card->driver, "ATIIXP");
+ strcpy(card->driver, spdif_aclink[dev] ? "ATIIXP" : "ATIIXP-SPDMA");
strcpy(card->shortname, "ATI IXP");
if ((err = snd_atiixp_create(card, pci, &chip)) < 0)
goto __error;
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog