[ALSA] via82xx: add support for VIA VT8251 (AC'97)
Add support for VIA VT8251 AC'97. Includes a workaround which ensures sound won't stop playing after one second of playback. Signed-off-by: Bastiaan Jacques <b.jacques@planet.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5732e7a2ce
commit
8263c65fbe
|
@ -123,6 +123,7 @@ module_param(enable, bool, 0444);
|
|||
#define VIA_REV_8233A 0x40 /* 1 rec, 1 multi-pb, spdf */
|
||||
#define VIA_REV_8235 0x50 /* 2 rec, 4 pb, 1 multi-pb, spdif */
|
||||
#define VIA_REV_8237 0x60
|
||||
#define VIA_REV_8251 0x70
|
||||
|
||||
/*
|
||||
* Direct registers
|
||||
|
@ -863,9 +864,16 @@ static snd_pcm_uframes_t snd_via8233_pcm_pointer(struct snd_pcm_substream *subst
|
|||
status = inb(VIADEV_REG(viadev, OFFSET_STATUS));
|
||||
|
||||
if (!(status & VIA_REG_STAT_ACTIVE)) {
|
||||
/* An apparent bug in the 8251 is worked around by sending
|
||||
* a REG_CTRL_START. */
|
||||
if (chip->revision == VIA_REV_8251)
|
||||
snd_via82xx_pcm_trigger(substream,
|
||||
SNDRV_PCM_TRIGGER_START);
|
||||
else {
|
||||
res = 0;
|
||||
goto unlock;
|
||||
}
|
||||
}
|
||||
if (count & 0xffffff) {
|
||||
idx = count >> 24;
|
||||
if (idx >= viadev->tbl_entries) {
|
||||
|
@ -2313,6 +2321,7 @@ static struct via823x_info via823x_cards[] __devinitdata = {
|
|||
{ VIA_REV_8233A, "VIA 8233A", TYPE_VIA8233A },
|
||||
{ VIA_REV_8235, "VIA 8235", TYPE_VIA8233 },
|
||||
{ VIA_REV_8237, "VIA 8237", TYPE_VIA8233 },
|
||||
{ VIA_REV_8251, "VIA 8251", TYPE_VIA8233 },
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -2342,6 +2351,7 @@ static int __devinit check_dxs_list(struct pci_dev *pci)
|
|||
{ .subvendor = 0x1043, .subdevice = 0x810d, .action = VIA_DXS_SRC }, /* ASUS */
|
||||
{ .subvendor = 0x1043, .subdevice = 0x812a, .action = VIA_DXS_SRC }, /* ASUS A8V Deluxe */
|
||||
{ .subvendor = 0x1043, .subdevice = 0x8174, .action = VIA_DXS_SRC }, /* ASUS */
|
||||
{ .subvendor = 0x1043, .subdevice = 0x81b9, .action = VIA_DXS_SRC }, /* ASUS A8V-MX */
|
||||
{ .subvendor = 0x1071, .subdevice = 0x8375, .action = VIA_DXS_NO_VRA }, /* Vobis/Yakumo/Mitac notebook */
|
||||
{ .subvendor = 0x1071, .subdevice = 0x8399, .action = VIA_DXS_NO_VRA }, /* Umax AB 595T (VIA K8N800A - VT8237) */
|
||||
{ .subvendor = 0x10cf, .subdevice = 0x118e, .action = VIA_DXS_ENABLE }, /* FSC laptop */
|
||||
|
|
Loading…
Reference in New Issue