Update of /cvsroot/alsa/alsa-kernel/pci/ice1712
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11892/pci/ice1712

Modified Files:
        Makefile ice1724.c 
Added Files:
        vt1720_mobo.c vt1720_mobo.h 
Log Message:
- fixed the description of model module parameters for ice1712 and ice1724
  drivers.
- added the support of VT1720-based mobo.
  (still experimental and supporting AC97 only)


--- NEW FILE: vt1720_mobo.c ---
/*
 *   ALSA driver for VT1720/VT1724 (Envy24PT/Envy24HT)
 *
 *   Lowlevel functions for VT1720-based motherboards
 *
 *      Copyright (c) 2004 Takashi Iwai <[EMAIL PROTECTED]>
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 *
 */      

#include <sound/driver.h>
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <sound/core.h>

#include "ice1712.h"
#include "vt1720_mobo.h"


static int __devinit k8x800_init(ice1712_t *ice)
{
        ice->vt1720 = 1;

        /* VT1616 codec */
        ice->num_total_dacs = 6;
        ice->num_total_adcs = 2;

        /* WM8728 codec */
        /* FIXME: TODO */

        return 0;
}

static int __devinit k8x800_add_controls(ice1712_t *ice)
{
        /* FIXME: needs some quirks for VT1616? */
        return 0;
}

/* EEPROM image */

static unsigned char k8x800_eeprom[] __devinitdata = {
        0x01,   /* SYSCONF: clock 256, 1ADC, 2DACs */
        0x02,   /* ACLINK: ACLINK, packed */
        0x00,   /* I2S: - */
        0x00,   /* SPDIF: - */
        0xff,   /* GPIO_DIR */
        0xff,   /* GPIO_DIR1 */
        0x00,   /* - */
        0xff,   /* GPIO_MASK */
        0xff,   /* GPIO_MASK1 */
        0x00,   /* - */
        0x00,   /* GPIO_STATE */
        0x00,   /* GPIO_STATE1 */
        0x00,   /* - */
};


/* entry point */
struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = {
        {
                .subvendor = VT1720_SUBDEVICE_K8X800,
                .name = "Albatron K8X800 Pro II",
                .model = "k8x800",
                .chip_init = k8x800_init,
                .build_controls = k8x800_add_controls,
                .eeprom_size = sizeof(k8x800_eeprom),
                .eeprom_data = k8x800_eeprom,
        },
        {
                .subvendor = VT1720_SUBDEVICE_ZNF3_150,
                .name = "Chaintech ZNF3-150",
                /* identical with k8x800 */
                .chip_init = k8x800_init,
                .build_controls = k8x800_add_controls,
                .eeprom_size = sizeof(k8x800_eeprom),
                .eeprom_data = k8x800_eeprom,
        },
        { } /* terminator */
};


--- NEW FILE: vt1720_mobo.h ---
#ifndef __SOUND_VT1720_MOBO_H
#define __SOUND_VT1720_MOBO_H

/*
 *   ALSA driver for VT1720/VT1724 (Envy24PT/Envy24HT)
 *
 *   Lowlevel functions for VT1720-based motherboards
 *
 *      Copyright (c) 2004 Takashi Iwai <[EMAIL PROTECTED]>
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 *
 */      

#define VT1720_MOBO_DEVICE_DESC        "{Albatron,K8X800 Pro II},"\
                                       "{Chaintech,ZNF3-150},"

#define VT1720_SUBDEVICE_K8X800         0xf217052c
#define VT1720_SUBDEVICE_ZNF3_150       0x0f2741f6

extern struct snd_ice1712_card_info  snd_vt1720_mobo_cards[];

#endif /* __SOUND_VT1720_MOBO_H */

Index: Makefile
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Makefile    18 May 2004 18:32:40 -0000      1.11
+++ Makefile    24 May 2004 13:18:20 -0000      1.12
@@ -5,7 +5,7 @@
 
 snd-ice17xx-ak4xxx-objs := ak4xxx.o
 snd-ice1712-objs := ice1712.o delta.o hoontech.o ews.o
-snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o
+snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o vt1720_mobo.o
 
 # Toplevel Module Dependency
 obj-$(CONFIG_SND_ICE1712) += snd-ice1712.o snd-ice17xx-ak4xxx.o

Index: ice1724.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/ice1724.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- ice1724.c   18 May 2004 18:32:40 -0000      1.31
+++ ice1724.c   24 May 2004 13:18:20 -0000      1.32
@@ -44,6 +44,7 @@
 #include "amp.h"
 #include "revo.h"
 #include "aureon.h"
+#include "vt1720_mobo.h"
 
 
 MODULE_AUTHOR("Jaroslav Kysela <[EMAIL PROTECTED]>");
@@ -54,6 +55,7 @@
               REVO_DEVICE_DESC
               AMP_AUDIO2000_DEVICE_DESC
               AUREON_DEVICE_DESC
+              VT1720_MOBO_DEVICE_DESC
                "{VIA,VT1720},"
                "{VIA,VT1724},"
                "{ICEnsemble,Generic ICE1724},"
@@ -419,7 +421,7 @@
        ice->cur_rate = rate;
 
        /* check MT02 */
-       if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) {
+       if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) {
                val = old = inb(ICEMT1724(ice, I2S_FORMAT));
                if (rate > 96000)
                        val |= VT1724_MT_I2S_MCLK_128X; /* 128x MCLK */
@@ -448,7 +450,7 @@
        }
 
        /* set up AC97 registers if needed */
-       if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) && ice->ac97) {
+       if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) && ice->ac97) {
                snd_ac97_set_rate(ice->ac97, AC97_PCM_FRONT_DAC_RATE, rate);
                snd_ac97_set_rate(ice->ac97, AC97_PCM_SURR_DAC_RATE, rate);
                snd_ac97_set_rate(ice->ac97, AC97_PCM_LFE_DAC_RATE, rate);
@@ -698,7 +700,7 @@
 static int set_rate_constraints(ice1712_t *ice, snd_pcm_substream_t *substream)
 {
        snd_pcm_runtime_t *runtime = substream->runtime;
-       if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) {
+       if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) {
                /* I2S */
                if (ice->eeprom.data[ICE_EEP2_I2S] & 0x08)
                        return snd_pcm_hw_constraint_list(runtime, 0, 
SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_192);
@@ -1815,6 +1817,7 @@
        snd_vt1724_revo_cards,
        snd_vt1724_amp_cards, 
        snd_vt1724_aureon_cards,
+       snd_vt1720_mobo_cards,
        0,
 };
 
@@ -1930,9 +1933,6 @@
 
        outb(0, ICEREG1724(ice, POWERDOWN));
 
-       /* read back to check the availability of SPDIF out */
-       ice->eeprom.data[ICE_EEP2_SPDIF] = inb(ICEREG1724(ice, SPDIF_CFG));
-
        return 0;
 }
 



-------------------------------------------------------
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

Reply via email to