mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
ALSA: au88x0: Fix assignment in if condition
PCI AU88x0 driver code contains a lot of assignments in if condition, which is a bad coding style that may confuse readers and occasionally lead to bugs. This patch is merely for coding-style fixes. A potential real fix is about the PCI AGP bridge management refcount in addition while spotted out during conversions. Link: https://lore.kernel.org/r/20210608140540.17885-36-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
e66fd36264
commit
c2b0718f78
7 changed files with 115 additions and 89 deletions
|
@ -46,8 +46,9 @@ MODULE_DEVICE_TABLE(pci, snd_vortex_ids);
|
||||||
static void vortex_fix_latency(struct pci_dev *vortex)
|
static void vortex_fix_latency(struct pci_dev *vortex)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
if (!(rc = pci_write_config_byte(vortex, 0x40, 0xff))) {
|
rc = pci_write_config_byte(vortex, 0x40, 0xff);
|
||||||
dev_info(&vortex->dev, "vortex latency is 0xff\n");
|
if (!rc) {
|
||||||
|
dev_info(&vortex->dev, "vortex latency is 0xff\n");
|
||||||
} else {
|
} else {
|
||||||
dev_warn(&vortex->dev,
|
dev_warn(&vortex->dev,
|
||||||
"could not set vortex latency: pci error 0x%x\n", rc);
|
"could not set vortex latency: pci error 0x%x\n", rc);
|
||||||
|
@ -65,9 +66,12 @@ static void vortex_fix_agp_bridge(struct pci_dev *via)
|
||||||
* read the config and it is not already set
|
* read the config and it is not already set
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!(rc = pci_read_config_byte(via, 0x42, &value))
|
rc = pci_read_config_byte(via, 0x42, &value);
|
||||||
&& ((value & 0x10)
|
if (!rc) {
|
||||||
|| !(rc = pci_write_config_byte(via, 0x42, value | 0x10)))) {
|
if (!(value & 0x10))
|
||||||
|
rc = pci_write_config_byte(via, 0x42, value | 0x10);
|
||||||
|
}
|
||||||
|
if (!rc) {
|
||||||
dev_info(&via->dev, "bridge config is 0x%x\n", value | 0x10);
|
dev_info(&via->dev, "bridge config is 0x%x\n", value | 0x10);
|
||||||
} else {
|
} else {
|
||||||
dev_warn(&via->dev,
|
dev_warn(&via->dev,
|
||||||
|
@ -102,14 +106,16 @@ static void snd_vortex_workaround(struct pci_dev *vortex, int fix)
|
||||||
} else {
|
} else {
|
||||||
if (fix & 0x1)
|
if (fix & 0x1)
|
||||||
vortex_fix_latency(vortex);
|
vortex_fix_latency(vortex);
|
||||||
if ((fix & 0x2) && (via = pci_get_device(PCI_VENDOR_ID_VIA,
|
if (fix & 0x2)
|
||||||
PCI_DEVICE_ID_VIA_8365_1, NULL)))
|
via = pci_get_device(PCI_VENDOR_ID_VIA,
|
||||||
vortex_fix_agp_bridge(via);
|
PCI_DEVICE_ID_VIA_8365_1, NULL);
|
||||||
if ((fix & 0x4) && (via = pci_get_device(PCI_VENDOR_ID_VIA,
|
else if (fix & 0x4)
|
||||||
PCI_DEVICE_ID_VIA_82C598_1, NULL)))
|
via = pci_get_device(PCI_VENDOR_ID_VIA,
|
||||||
vortex_fix_agp_bridge(via);
|
PCI_DEVICE_ID_VIA_82C598_1, NULL);
|
||||||
if ((fix & 0x8) && (via = pci_get_device(PCI_VENDOR_ID_AMD,
|
else if (fix & 0x8)
|
||||||
PCI_DEVICE_ID_AMD_FE_GATE_7007, NULL)))
|
via = pci_get_device(PCI_VENDOR_ID_AMD,
|
||||||
|
PCI_DEVICE_ID_AMD_FE_GATE_7007, NULL);
|
||||||
|
if (via)
|
||||||
vortex_fix_agp_bridge(via);
|
vortex_fix_agp_bridge(via);
|
||||||
}
|
}
|
||||||
pci_dev_put(via);
|
pci_dev_put(via);
|
||||||
|
@ -147,7 +153,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
|
||||||
*rchip = NULL;
|
*rchip = NULL;
|
||||||
|
|
||||||
// check PCI availability (DMA).
|
// check PCI availability (DMA).
|
||||||
if ((err = pci_enable_device(pci)) < 0)
|
err = pci_enable_device(pci);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32))) {
|
if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32))) {
|
||||||
dev_err(card->dev, "error to set DMA mask\n");
|
dev_err(card->dev, "error to set DMA mask\n");
|
||||||
|
@ -174,7 +181,8 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
|
||||||
// (1) PCI resource allocation
|
// (1) PCI resource allocation
|
||||||
// Get MMIO area
|
// Get MMIO area
|
||||||
//
|
//
|
||||||
if ((err = pci_request_regions(pci, CARD_NAME_SHORT)) != 0)
|
err = pci_request_regions(pci, CARD_NAME_SHORT);
|
||||||
|
if (err)
|
||||||
goto regions_out;
|
goto regions_out;
|
||||||
|
|
||||||
chip->mmio = pci_ioremap_bar(pci, 0);
|
chip->mmio = pci_ioremap_bar(pci, 0);
|
||||||
|
@ -187,14 +195,15 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
|
||||||
/* Init audio core.
|
/* Init audio core.
|
||||||
* This must be done before we do request_irq otherwise we can get spurious
|
* This must be done before we do request_irq otherwise we can get spurious
|
||||||
* interrupts that we do not handle properly and make a mess of things */
|
* interrupts that we do not handle properly and make a mess of things */
|
||||||
if ((err = vortex_core_init(chip)) != 0) {
|
err = vortex_core_init(chip);
|
||||||
|
if (err) {
|
||||||
dev_err(card->dev, "hw core init failed\n");
|
dev_err(card->dev, "hw core init failed\n");
|
||||||
goto core_out;
|
goto core_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((err = request_irq(pci->irq, vortex_interrupt,
|
err = request_irq(pci->irq, vortex_interrupt,
|
||||||
IRQF_SHARED, KBUILD_MODNAME,
|
IRQF_SHARED, KBUILD_MODNAME, chip);
|
||||||
chip)) != 0) {
|
if (err) {
|
||||||
dev_err(card->dev, "cannot grab irq\n");
|
dev_err(card->dev, "cannot grab irq\n");
|
||||||
goto irq_out;
|
goto irq_out;
|
||||||
}
|
}
|
||||||
|
@ -205,9 +214,9 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
|
||||||
// End of PCI setup.
|
// End of PCI setup.
|
||||||
|
|
||||||
// Register alsa root device.
|
// Register alsa root device.
|
||||||
if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
|
err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
|
||||||
|
if (err < 0)
|
||||||
goto alloc_out;
|
goto alloc_out;
|
||||||
}
|
|
||||||
|
|
||||||
*rchip = chip;
|
*rchip = chip;
|
||||||
|
|
||||||
|
@ -252,7 +261,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
// (3)
|
// (3)
|
||||||
if ((err = snd_vortex_create(card, pci, &chip)) < 0) {
|
err = snd_vortex_create(card, pci, &chip);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -278,12 +288,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
||||||
}
|
}
|
||||||
#ifndef CHIP_AU8820
|
#ifndef CHIP_AU8820
|
||||||
// ADB SPDIF
|
// ADB SPDIF
|
||||||
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_SPDIF, 1)) < 0) {
|
err = snd_vortex_new_pcm(chip, VORTEX_PCM_SPDIF, 1);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
// A3D
|
// A3D
|
||||||
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_A3D, NR_A3D)) < 0) {
|
err = snd_vortex_new_pcm(chip, VORTEX_PCM_A3D, NR_A3D);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -297,12 +309,14 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
||||||
*/
|
*/
|
||||||
#ifndef CHIP_AU8810
|
#ifndef CHIP_AU8810
|
||||||
// WT pcm.
|
// WT pcm.
|
||||||
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_WT, NR_WT)) < 0) {
|
err = snd_vortex_new_pcm(chip, VORTEX_PCM_WT, NR_WT);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if ((err = snd_vortex_midi(chip)) < 0) {
|
err = snd_vortex_midi(chip);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -327,13 +341,13 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// (5)
|
// (5)
|
||||||
if ((err = pci_read_config_word(pci, PCI_DEVICE_ID,
|
err = pci_read_config_word(pci, PCI_DEVICE_ID, &chip->device);
|
||||||
&(chip->device))) < 0) {
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
if ((err = pci_read_config_word(pci, PCI_VENDOR_ID,
|
err = pci_read_config_word(pci, PCI_VENDOR_ID, &chip->vendor);
|
||||||
&(chip->vendor))) < 0) {
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -352,7 +366,8 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// (6)
|
// (6)
|
||||||
if ((err = snd_card_register(card)) < 0) {
|
err = snd_card_register(card);
|
||||||
|
if (err < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -849,46 +849,50 @@ static int vortex_a3d_register_controls(vortex_t *vortex)
|
||||||
int err, i;
|
int err, i;
|
||||||
/* HRTF controls. */
|
/* HRTF controls. */
|
||||||
for (i = 0; i < NR_A3D; i++) {
|
for (i = 0; i < NR_A3D; i++) {
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
|
||||||
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
kcontrol->id.numid = CTRLID_HRTF;
|
kcontrol->id.numid = CTRLID_HRTF;
|
||||||
kcontrol->info = snd_vortex_a3d_hrtf_info;
|
kcontrol->info = snd_vortex_a3d_hrtf_info;
|
||||||
kcontrol->put = snd_vortex_a3d_hrtf_put;
|
kcontrol->put = snd_vortex_a3d_hrtf_put;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
/* ITD controls. */
|
/* ITD controls. */
|
||||||
for (i = 0; i < NR_A3D; i++) {
|
for (i = 0; i < NR_A3D; i++) {
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
|
||||||
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
kcontrol->id.numid = CTRLID_ITD;
|
kcontrol->id.numid = CTRLID_ITD;
|
||||||
kcontrol->info = snd_vortex_a3d_itd_info;
|
kcontrol->info = snd_vortex_a3d_itd_info;
|
||||||
kcontrol->put = snd_vortex_a3d_itd_put;
|
kcontrol->put = snd_vortex_a3d_itd_put;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
/* ILD (gains) controls. */
|
/* ILD (gains) controls. */
|
||||||
for (i = 0; i < NR_A3D; i++) {
|
for (i = 0; i < NR_A3D; i++) {
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
|
||||||
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
kcontrol->id.numid = CTRLID_GAINS;
|
kcontrol->id.numid = CTRLID_GAINS;
|
||||||
kcontrol->info = snd_vortex_a3d_ild_info;
|
kcontrol->info = snd_vortex_a3d_ild_info;
|
||||||
kcontrol->put = snd_vortex_a3d_ild_put;
|
kcontrol->put = snd_vortex_a3d_ild_put;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
/* Filter controls. */
|
/* Filter controls. */
|
||||||
for (i = 0; i < NR_A3D; i++) {
|
for (i = 0; i < NR_A3D; i++) {
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
|
||||||
snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
kcontrol->id.numid = CTRLID_FILTER;
|
kcontrol->id.numid = CTRLID_FILTER;
|
||||||
kcontrol->info = snd_vortex_a3d_filter_info;
|
kcontrol->info = snd_vortex_a3d_filter_info;
|
||||||
kcontrol->put = snd_vortex_a3d_filter_put;
|
kcontrol->put = snd_vortex_a3d_filter_put;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -2120,9 +2120,9 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
|
||||||
VORTEX_RESOURCE_DMA);
|
VORTEX_RESOURCE_DMA);
|
||||||
} else {
|
} else {
|
||||||
en = 1;
|
en = 1;
|
||||||
if ((dma =
|
dma = vortex_adb_checkinout(vortex, NULL, en,
|
||||||
vortex_adb_checkinout(vortex, NULL, en,
|
VORTEX_RESOURCE_DMA);
|
||||||
VORTEX_RESOURCE_DMA)) < 0)
|
if (dma < 0)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2140,18 +2140,20 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
|
||||||
/* Get SRC and MIXER hardware resources. */
|
/* Get SRC and MIXER hardware resources. */
|
||||||
if (stream->type != VORTEX_PCM_SPDIF) {
|
if (stream->type != VORTEX_PCM_SPDIF) {
|
||||||
for (i = 0; i < nr_ch; i++) {
|
for (i = 0; i < nr_ch; i++) {
|
||||||
if ((src[i] = vortex_adb_checkinout(vortex,
|
src[i] = vortex_adb_checkinout(vortex,
|
||||||
stream->resources, en,
|
stream->resources, en,
|
||||||
VORTEX_RESOURCE_SRC)) < 0) {
|
VORTEX_RESOURCE_SRC);
|
||||||
|
if (src[i] < 0) {
|
||||||
memset(stream->resources, 0,
|
memset(stream->resources, 0,
|
||||||
sizeof(stream->resources));
|
sizeof(stream->resources));
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
if (stream->type != VORTEX_PCM_A3D) {
|
if (stream->type != VORTEX_PCM_A3D) {
|
||||||
if ((mix[i] = vortex_adb_checkinout(vortex,
|
mix[i] = vortex_adb_checkinout(vortex,
|
||||||
stream->resources,
|
stream->resources,
|
||||||
en,
|
en,
|
||||||
VORTEX_RESOURCE_MIXIN)) < 0) {
|
VORTEX_RESOURCE_MIXIN);
|
||||||
|
if (mix[i] < 0) {
|
||||||
memset(stream->resources,
|
memset(stream->resources,
|
||||||
0,
|
0,
|
||||||
sizeof(stream->resources));
|
sizeof(stream->resources));
|
||||||
|
@ -2162,10 +2164,10 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
|
||||||
}
|
}
|
||||||
#ifndef CHIP_AU8820
|
#ifndef CHIP_AU8820
|
||||||
if (stream->type == VORTEX_PCM_A3D) {
|
if (stream->type == VORTEX_PCM_A3D) {
|
||||||
if ((a3d =
|
a3d = vortex_adb_checkinout(vortex,
|
||||||
vortex_adb_checkinout(vortex,
|
stream->resources, en,
|
||||||
stream->resources, en,
|
VORTEX_RESOURCE_A3D);
|
||||||
VORTEX_RESOURCE_A3D)) < 0) {
|
if (a3d < 0) {
|
||||||
memset(stream->resources, 0,
|
memset(stream->resources, 0,
|
||||||
sizeof(stream->resources));
|
sizeof(stream->resources));
|
||||||
dev_err(vortex->card->dev,
|
dev_err(vortex->card->dev,
|
||||||
|
@ -2278,19 +2280,18 @@ vortex_adb_allocroute(vortex_t *vortex, int dma, int nr_ch, int dir,
|
||||||
|
|
||||||
/* Get SRC and MIXER hardware resources. */
|
/* Get SRC and MIXER hardware resources. */
|
||||||
for (i = 0; i < nr_ch; i++) {
|
for (i = 0; i < nr_ch; i++) {
|
||||||
if ((mix[i] =
|
mix[i] = vortex_adb_checkinout(vortex,
|
||||||
vortex_adb_checkinout(vortex,
|
stream->resources, en,
|
||||||
stream->resources, en,
|
VORTEX_RESOURCE_MIXOUT);
|
||||||
VORTEX_RESOURCE_MIXOUT))
|
if (mix[i] < 0) {
|
||||||
< 0) {
|
|
||||||
memset(stream->resources, 0,
|
memset(stream->resources, 0,
|
||||||
sizeof(stream->resources));
|
sizeof(stream->resources));
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
if ((src[i] =
|
src[i] = vortex_adb_checkinout(vortex,
|
||||||
vortex_adb_checkinout(vortex,
|
stream->resources, en,
|
||||||
stream->resources, en,
|
VORTEX_RESOURCE_SRC);
|
||||||
VORTEX_RESOURCE_SRC)) < 0) {
|
if (src[i] < 0) {
|
||||||
memset(stream->resources, 0,
|
memset(stream->resources, 0,
|
||||||
sizeof(stream->resources));
|
sizeof(stream->resources));
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
|
@ -873,29 +873,33 @@ static int vortex_eq_init(vortex_t *vortex)
|
||||||
|
|
||||||
vortex_Eqlzr_init(vortex);
|
vortex_Eqlzr_init(vortex);
|
||||||
|
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_eqtoggle_kcontrol, vortex);
|
||||||
snd_ctl_new1(&vortex_eqtoggle_kcontrol, vortex)) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
kcontrol->private_value = 0;
|
kcontrol->private_value = 0;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
/* EQ gain controls */
|
/* EQ gain controls */
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
if ((kcontrol =
|
kcontrol = snd_ctl_new1(&vortex_eq_kcontrol, vortex);
|
||||||
snd_ctl_new1(&vortex_eq_kcontrol, vortex)) == NULL)
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
snprintf(kcontrol->id.name, sizeof(kcontrol->id.name),
|
snprintf(kcontrol->id.name, sizeof(kcontrol->id.name),
|
||||||
"%s Playback Volume", EqBandLabels[i]);
|
"%s Playback Volume", EqBandLabels[i]);
|
||||||
kcontrol->private_value = i;
|
kcontrol->private_value = i;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
//vortex->eqctrl[i] = kcontrol;
|
//vortex->eqctrl[i] = kcontrol;
|
||||||
}
|
}
|
||||||
/* EQ band levels */
|
/* EQ band levels */
|
||||||
if ((kcontrol = snd_ctl_new1(&vortex_levels_kcontrol, vortex)) == NULL)
|
kcontrol = snd_ctl_new1(&vortex_levels_kcontrol, vortex);
|
||||||
|
if (!kcontrol)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
|
err = snd_ctl_add(vortex->card, kcontrol);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -30,7 +30,8 @@ static int snd_vortex_mixer(vortex_t *vortex)
|
||||||
.read = vortex_codec_read,
|
.read = vortex_codec_read,
|
||||||
};
|
};
|
||||||
|
|
||||||
if ((err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus)) < 0)
|
err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
memset(&ac97, 0, sizeof(ac97));
|
memset(&ac97, 0, sizeof(ac97));
|
||||||
// Initialize AC97 codec stuff.
|
// Initialize AC97 codec stuff.
|
||||||
|
|
|
@ -68,9 +68,9 @@ static int snd_vortex_midi(vortex_t *vortex)
|
||||||
|
|
||||||
/* Create MPU401 instance. */
|
/* Create MPU401 instance. */
|
||||||
#ifdef VORTEX_MPU401_LEGACY
|
#ifdef VORTEX_MPU401_LEGACY
|
||||||
if ((temp =
|
temp = snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_MPU401, 0x330,
|
||||||
snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_MPU401, 0x330,
|
MPU401_INFO_IRQ_HOOK, -1, &rmidi);
|
||||||
MPU401_INFO_IRQ_HOOK, -1, &rmidi)) != 0) {
|
if (temp) {
|
||||||
hwwrite(vortex->mmio, VORTEX_CTRL,
|
hwwrite(vortex->mmio, VORTEX_CTRL,
|
||||||
(hwread(vortex->mmio, VORTEX_CTRL) &
|
(hwread(vortex->mmio, VORTEX_CTRL) &
|
||||||
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
|
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
|
||||||
|
@ -78,10 +78,10 @@ static int snd_vortex_midi(vortex_t *vortex)
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
port = (unsigned long)(vortex->mmio + VORTEX_MIDI_DATA);
|
port = (unsigned long)(vortex->mmio + VORTEX_MIDI_DATA);
|
||||||
if ((temp =
|
temp = snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_AUREAL, port,
|
||||||
snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_AUREAL, port,
|
MPU401_INFO_INTEGRATED | MPU401_INFO_MMIO |
|
||||||
MPU401_INFO_INTEGRATED | MPU401_INFO_MMIO |
|
MPU401_INFO_IRQ_HOOK, -1, &rmidi);
|
||||||
MPU401_INFO_IRQ_HOOK, -1, &rmidi)) != 0) {
|
if (temp) {
|
||||||
hwwrite(vortex->mmio, VORTEX_CTRL,
|
hwwrite(vortex->mmio, VORTEX_CTRL,
|
||||||
(hwread(vortex->mmio, VORTEX_CTRL) &
|
(hwread(vortex->mmio, VORTEX_CTRL) &
|
||||||
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
|
~CTRL_MIDI_PORT) & ~CTRL_MIDI_EN);
|
||||||
|
|
|
@ -130,14 +130,14 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream)
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/* Force equal size periods */
|
/* Force equal size periods */
|
||||||
if ((err =
|
err = snd_pcm_hw_constraint_integer(runtime,
|
||||||
snd_pcm_hw_constraint_integer(runtime,
|
SNDRV_PCM_HW_PARAM_PERIODS);
|
||||||
SNDRV_PCM_HW_PARAM_PERIODS)) < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
/* Avoid PAGE_SIZE boundary to fall inside of a period. */
|
/* Avoid PAGE_SIZE boundary to fall inside of a period. */
|
||||||
if ((err =
|
err = snd_pcm_hw_constraint_pow2(runtime, 0,
|
||||||
snd_pcm_hw_constraint_pow2(runtime, 0,
|
SNDRV_PCM_HW_PARAM_PERIOD_BYTES);
|
||||||
SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
snd_pcm_hw_constraint_step(runtime, 0,
|
snd_pcm_hw_constraint_step(runtime, 0,
|
||||||
|
@ -658,7 +658,8 @@ static int snd_vortex_new_pcm(vortex_t *chip, int idx, int nr)
|
||||||
kctl = snd_ctl_new1(&snd_vortex_mixer_spdif[i], chip);
|
kctl = snd_ctl_new1(&snd_vortex_mixer_spdif[i], chip);
|
||||||
if (!kctl)
|
if (!kctl)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
if ((err = snd_ctl_add(chip->card, kctl)) < 0)
|
err = snd_ctl_add(chip->card, kctl);
|
||||||
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue