Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
  [ALSA] ice1724 - Fix IRQ lock-up with MPU access
  [ALSA] Define MPU401 registers in sound/mpu401_uart.h
  [ALSA] pcsp: fix wording in DEBUG_PAGEALLOC warning
  [ALSA] pcsp - Fix dependency in Kconfig
  [ALSA] soc - ac97 - Clean up checkpatch warnings
  [ALSA] soc - wm8750 - Clean up checkpatch warnings
  [ALSA] soc - wm8731 - Clean up checkpatch warnings
  [ALSA] soc - pxa2xx-pcm - Fix checkpatch warnings
  [ALSA] soc - spitz - Fix checkpatch warnings
  [ALSA] soc - poodle - Fix checkpatch warnings
  [ALSA] soc - corgi - Fix checkpatch warnings
  [ALSA] soc - s3c24xx-i2s - Add missing spaces
  [ALSA] soc - s3c24xx-i2s - Fix tab/space breakage
  [ALSA] soc - s3c24xx-i2s - Use linux/io.h
  [ALSA] hda - Fix Thinkpad X300 digital mic
  pcsp - Don't build pcspkr when snd-pcsp is enabled
  [ALSA] hda - Fix model for Acer Aspire 5720z
  [ALSA] soc - s3c24xx - Declare suspend and resume static
  [ALSA] soc - s3c24xx - Improve diagnostic output
  [ALSA] Fix possible races at free_irq in PCI drivers
  ...
  • Loading branch information
Linus Torvalds committed Apr 24, 2008
2 parents d02aacf + 3a841d5 commit 38ccc19
Show file tree
Hide file tree
Showing 170 changed files with 10,716 additions and 2,298 deletions.
8 changes: 8 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,8 @@ D: Linux CD and Support Giveaway List
N: Erik Inge Bolsø
E: knan@mo.himolde.no
D: Misc kernel hacks
D: Updated PC speaker driver for 2.3
S: Norway

N: Andreas E. Bombe
E: andreas.bombe@munich.netsurf.de
Expand Down Expand Up @@ -3116,6 +3118,12 @@ S: Post Office Box 64132
S: Sunnyvale, California 94088-4132
S: USA

N: Stas Sergeev
E: stsp@users.sourceforge.net
D: PCM PC-Speaker driver
D: misc fixes
S: Russia

N: Simon Shapiro
E: shimon@i-Connect.Net
W: http://www.-i-Connect.Net/~shimon
Expand Down
47 changes: 44 additions & 3 deletions Documentation/sound/alsa/ALSA-Configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
control correctly. If you have problems regarding this, try
another ALSA compliant mixer (alsamixer works).

Module snd-aw2
--------------

Module for Audiowerk2 sound card

This module supports multiple cards.

Module snd-azt2320
------------------

Expand Down Expand Up @@ -818,19 +825,25 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
hippo_1 Hippo (Benq) with jack detection
sony-assamd Sony ASSAMD
ultra Samsung Q1 Ultra Vista model
lenovo-3000 Lenovo 3000 y410
basic fixed pin assignment w/o SPDIF
auto auto-config reading BIOS (default)

ALC268
ALC267/268
quanta-il1 Quanta IL1 mini-notebook
3stack 3-stack model
toshiba Toshiba A205
acer Acer laptops
dell Dell OEM laptops (Vostro 1200)
zepto Zepto laptops
test for testing/debugging purpose, almost all controls can
adjusted. Appearing only when compiled with
$CONFIG_SND_DEBUG=y
auto auto-config reading BIOS (default)

ALC269
basic Basic preset

ALC662
3stack-dig 3-stack (2-channel) with SPDIF
3stack-6ch 3-stack (6-channel)
Expand Down Expand Up @@ -871,10 +884,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
lenovo-nb0763 Lenovo NB0763
lenovo-ms7195-dig Lenovo MS7195
haier-w66 Haier W66
6stack-hp HP machines with 6stack (Nettle boards)
3stack-hp HP machines with 3stack (Lucknow, Samba boards)
6stack-dell Dell machines with 6stack (Inspiron 530)
mitac Mitac 8252D
clevo-m720 Clevo M720 laptop series
fujitsu-pi2515 Fujitsu AMILO Pi2515
auto auto-config reading BIOS (default)

ALC861/660
Expand Down Expand Up @@ -911,6 +925,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
3stack 3-stack mode (default)
6stack 6-stack mode

AD1884A / AD1883 / AD1984A / AD1984B
desktop 3-stack desktop (default)
laptop laptop with HP jack sensing
mobile mobile devices with HP jack sensing
thinkpad Lenovo Thinkpad X300

AD1884
N/A

Expand All @@ -936,7 +956,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100)
ultra 2-channel with EAPD (Samsung Ultra tablet PC)

AD1988
AD1988/AD1988B/AD1989A/AD1989B
6stack 6-jack
6stack-dig ditto with SPDIF
3stack 3-jack
Expand Down Expand Up @@ -979,6 +999,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
dell-m26 Dell Inspiron 1501
dell-m27 Dell Inspiron E1705/9400
gateway Gateway laptops with EAPD control
panasonic Panasonic CF-74

STAC9205/9254
ref Reference board
Expand Down Expand Up @@ -1017,6 +1038,16 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
3stack D965 3stack
5stack D965 5stack + SPDIF
dell-3stack Dell Dimension E520
dell-bios Fixes with Dell BIOS setup

STAC92HD71B*
ref Reference board
dell-m4-1 Dell desktops
dell-m4-2 Dell desktops

STAC92HD73*
ref Reference board
dell-m6 Dell desktops

STAC9872
vaio Setup for VAIO FE550G/SZ110
Expand Down Expand Up @@ -1590,6 +1621,16 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

Power management is _not_ supported.

Module snd-pcsp
-----------------

Module for internal PC-Speaker.

nforce_wa - enable NForce chipset workaround. Expect bad sound.

This module supports system beeps, some kind of PCM playback and
even a few mixer controls.

Module snd-pcxhr
----------------

Expand Down
1 change: 1 addition & 0 deletions drivers/input/misc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ if INPUT_MISC
config INPUT_PCSPKR
tristate "PC Speaker support"
depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
depends on SND_PCSP=n
help
Say Y here if you want the standard PC Speaker to be used for
bells and whistles.
Expand Down
4 changes: 1 addition & 3 deletions drivers/media/video/cx88/cx88-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -690,10 +690,8 @@ MODULE_DEVICE_TABLE(pci, cx88_audio_pci_tbl);
static int snd_cx88_free(snd_cx88_card_t *chip)
{

if (chip->irq >= 0){
synchronize_irq(chip->irq);
if (chip->irq >= 0)
free_irq(chip->irq, chip);
}

cx88_core_put(chip->core,chip->pci);

Expand Down
4 changes: 1 addition & 3 deletions drivers/media/video/saa7134/saa7134-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -954,10 +954,8 @@ static void snd_saa7134_free(struct snd_card * card)
if (chip->dev->dmasound.priv_data == NULL)
return;

if (chip->irq >= 0) {
synchronize_irq(chip->irq);
if (chip->irq >= 0)
free_irq(chip->irq, &chip->dev->dmasound);
}

chip->dev->dmasound.priv_data = NULL;

Expand Down
1 change: 1 addition & 0 deletions include/sound/ac97_codec.h
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,7 @@
#define AC97_HAS_NO_TONE (1<<16) /* no Tone volume */
#define AC97_HAS_NO_STD_PCM (1<<17) /* no standard AC97 PCM volume and mute */
#define AC97_HAS_NO_AUX (1<<18) /* no standard AC97 AUX volume and mute */
#define AC97_HAS_8CH (1<<19) /* supports 8-channel output */

/* rates indexes */
#define AC97_RATES_FRONT_DAC 0
Expand Down
1 change: 1 addition & 0 deletions include/sound/ak4114.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ struct ak4114 {
unsigned char rcs0;
unsigned char rcs1;
struct delayed_work work;
unsigned int check_flags;
void *change_callback_private;
void (*change_callback)(struct ak4114 *ak4114, unsigned char c0, unsigned char c1);
};
Expand Down
2 changes: 1 addition & 1 deletion include/sound/ak4xxx-adda.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ struct snd_akm4xxx {
enum {
SND_AK4524, SND_AK4528, SND_AK4529,
SND_AK4355, SND_AK4358, SND_AK4381,
SND_AK5365, NON_AKM
SND_AK5365
} type;

/* (array) information of combined codecs */
Expand Down
8 changes: 8 additions & 0 deletions include/sound/asoundef.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,14 @@
#define IEC958_AES3_CON_CLOCK_1000PPM (0<<4) /* 1000 ppm */
#define IEC958_AES3_CON_CLOCK_50PPM (1<<4) /* 50 ppm */
#define IEC958_AES3_CON_CLOCK_VARIABLE (2<<4) /* variable pitch */
#define IEC958_AES4_CON_MAX_WORDLEN_24 (1<<0) /* 0 = 20-bit, 1 = 24-bit */
#define IEC958_AES4_CON_WORDLEN (7<<1) /* mask - sample word length */
#define IEC958_AES4_CON_WORDLEN_NOTID (0<<1) /* not indicated */
#define IEC958_AES4_CON_WORDLEN_20_16 (1<<1) /* 20-bit or 16-bit */
#define IEC958_AES4_CON_WORDLEN_22_18 (2<<1) /* 22-bit or 18-bit */
#define IEC958_AES4_CON_WORDLEN_23_19 (4<<1) /* 23-bit or 19-bit */
#define IEC958_AES4_CON_WORDLEN_24_20 (5<<1) /* 24-bit or 20-bit */
#define IEC958_AES4_CON_WORDLEN_21_17 (6<<1) /* 21-bit or 17-bit */

/*****************************************************************************
* *
Expand Down
7 changes: 7 additions & 0 deletions include/sound/control.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,11 @@ int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol,
int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo);

/*
* virtual master control
*/
struct snd_kcontrol *snd_ctl_make_virtual_master(char *name,
const unsigned int *tlv);
int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave);

#endif /* __SOUND_CONTROL_H */
10 changes: 5 additions & 5 deletions include/sound/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,8 @@ int snd_minor_info_done(void);
int snd_minor_info_oss_init(void);
int snd_minor_info_oss_done(void);
#else
#define snd_minor_info_oss_init() /*NOP*/
#define snd_minor_info_oss_done() /*NOP*/
static inline int snd_minor_info_oss_init(void) { return 0; }
static inline int snd_minor_info_oss_done(void) { return 0; }
#endif

/* memory.c */
Expand Down Expand Up @@ -310,7 +310,7 @@ int snd_card_file_add(struct snd_card *card, struct file *file);
int snd_card_file_remove(struct snd_card *card, struct file *file);

#ifndef snd_card_set_dev
#define snd_card_set_dev(card,devptr) ((card)->dev = (devptr))
#define snd_card_set_dev(card, devptr) ((card)->dev = (devptr))
#endif

/* device.c */
Expand Down Expand Up @@ -373,7 +373,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
* snd_printd - debug printk
* @fmt: format string
*
* Compiled only when Works like snd_printk() for debugging purpose.
* Works like snd_printk() for debugging purposes.
* Ignored when CONFIG_SND_DEBUG is not set.
*/
#define snd_printd(fmt, args...) \
Expand Down Expand Up @@ -417,7 +417,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
* snd_printdd - debug printk
* @format: format string
*
* Compiled only when Works like snd_printk() for debugging purpose.
* Works like snd_printk() for debugging purposes.
* Ignored when CONFIG_SND_DEBUG_DETECT is not set.
*/
#define snd_printdd(format, args...) snd_printk(format, ##args)
Expand Down
15 changes: 15 additions & 0 deletions include/sound/mpu401.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,21 @@ struct snd_mpu401 {
#define MPU401C(mpu) (mpu)->cport
#define MPU401D(mpu) (mpu)->port

/*
* control register bits
*/
/* read MPU401C() */
#define MPU401_RX_EMPTY 0x80
#define MPU401_TX_FULL 0x40

/* write MPU401C() */
#define MPU401_RESET 0xff
#define MPU401_ENTER_UART 0x3f

/* read MPU401D() */
#define MPU401_ACK 0xfe


/*
*/
Expand Down
4 changes: 2 additions & 2 deletions include/sound/version.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/* include/version.h. Generated by alsa/ksync script. */
#define CONFIG_SND_VERSION "1.0.16rc2"
#define CONFIG_SND_DATE " (Thu Jan 31 16:40:16 2008 UTC)"
#define CONFIG_SND_VERSION "1.0.16"
#define CONFIG_SND_DATE ""
34 changes: 30 additions & 4 deletions sound/arm/pxa2xx-ac97.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ static unsigned short pxa2xx_ac97_read(struct snd_ac97 *ac97, unsigned short reg
if (wait_event_timeout(gsr_wq, (GSR | gsr_bits) & GSR_SDONE, 1) <= 0 &&
!((GSR | gsr_bits) & GSR_SDONE)) {
printk(KERN_ERR "%s: read error (ac97_reg=%d GSR=%#lx)\n",
__FUNCTION__, reg, GSR | gsr_bits);
__func__, reg, GSR | gsr_bits);
val = -1;
goto out;
}
Expand Down Expand Up @@ -104,14 +104,24 @@ static void pxa2xx_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigne
if (wait_event_timeout(gsr_wq, (GSR | gsr_bits) & GSR_CDONE, 1) <= 0 &&
!((GSR | gsr_bits) & GSR_CDONE))
printk(KERN_ERR "%s: write error (ac97_reg=%d GSR=%#lx)\n",
__FUNCTION__, reg, GSR | gsr_bits);
__func__, reg, GSR | gsr_bits);

mutex_unlock(&car_mutex);
}

static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)
{
/* First, try cold reset */
#ifdef CONFIG_PXA3xx
int timeout;

/* Hold CLKBPB for 100us */
GCR = 0;
GCR = GCR_CLKBPB;
udelay(100);
GCR = 0;
#endif

GCR &= GCR_COLD_RST; /* clear everything but nCRST */
GCR &= ~GCR_COLD_RST; /* then assert nCRST */

Expand All @@ -123,6 +133,14 @@ static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)
clk_disable(ac97conf_clk);
GCR = GCR_COLD_RST;
udelay(50);
#elif defined(CONFIG_PXA3xx)
timeout = 1000;
/* Can't use interrupts on PXA3xx */
GCR &= ~(GCR_PRIRDY_IEN|GCR_SECRDY_IEN);

GCR = GCR_WARM_RST | GCR_COLD_RST;
while (!(GSR & (GSR_PCR | GSR_SCR)) && timeout--)
mdelay(10);
#else
GCR = GCR_COLD_RST;
GCR |= GCR_CDONE_IE|GCR_SDONE_IE;
Expand All @@ -131,7 +149,7 @@ static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)

if (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR))) {
printk(KERN_INFO "%s: cold reset timeout (GSR=%#lx)\n",
__FUNCTION__, gsr_bits);
__func__, gsr_bits);

/* let's try warm reset */
gsr_bits = 0;
Expand All @@ -143,14 +161,20 @@ static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)
GCR |= GCR_WARM_RST;
pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
udelay(500);
#elif defined(CONFIG_PXA3xx)
timeout = 100;
/* Can't use interrupts */
GCR |= GCR_WARM_RST;
while (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR)) && timeout--)
mdelay(1);
#else
GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN;
wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1);
#endif

if (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR)))
printk(KERN_INFO "%s: warm reset timeout (GSR=%#lx)\n",
__FUNCTION__, gsr_bits);
__func__, gsr_bits);
}

GCR &= ~(GCR_PRIRDY_IEN|GCR_SECRDY_IEN);
Expand Down Expand Up @@ -424,6 +448,7 @@ static struct platform_driver pxa2xx_ac97_driver = {
.resume = pxa2xx_ac97_resume,
.driver = {
.name = "pxa2xx-ac97",
.owner = THIS_MODULE,
},
};

Expand All @@ -443,3 +468,4 @@ module_exit(pxa2xx_ac97_exit);
MODULE_AUTHOR("Nicolas Pitre");
MODULE_DESCRIPTION("AC97 driver for the Intel PXA2xx chip");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:pxa2xx-ac97");
4 changes: 4 additions & 0 deletions sound/core/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,7 @@ config SND_PCM_XRUN_DEBUG
It is usually not required, but if you have trouble with
sound clicking when system is loaded, it may help to determine
the process or driver which causes the scheduling gaps.

config SND_VMASTER
bool
depends on SND
1 change: 1 addition & 0 deletions sound/core/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
snd-y := sound.o init.o memory.o info.o control.o misc.o device.o
snd-$(CONFIG_ISA_DMA_API) += isadma.o
snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o info_oss.o
snd-$(CONFIG_SND_VMASTER) += vmaster.o

snd-pcm-objs := pcm.o pcm_native.o pcm_lib.o pcm_timer.o pcm_misc.o \
pcm_memory.o
Expand Down
Loading

0 comments on commit 38ccc19

Please sign in to comment.