diff options
Diffstat (limited to 'drivers/media/usb/em28xx/em28xx-core.c')
| -rw-r--r-- | drivers/media/usb/em28xx/em28xx-core.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-core.c b/drivers/media/usb/em28xx/em28xx-core.c index cef3fd4d441c..b5f49703f7ce 100644 --- a/drivers/media/usb/em28xx/em28xx-core.c +++ b/drivers/media/usb/em28xx/em28xx-core.c | |||
| @@ -517,17 +517,19 @@ int em28xx_audio_setup(struct em28xx *dev) | |||
| 517 | dev->has_alsa_audio = false; | 517 | dev->has_alsa_audio = false; |
| 518 | dev->audio_mode.has_audio = false; | 518 | dev->audio_mode.has_audio = false; |
| 519 | return 0; | 519 | return 0; |
| 520 | } else if ((cfg & EM28XX_CHIPCFG_AUDIOMASK) == | 520 | } else if ((cfg & EM28XX_CHIPCFG_AUDIOMASK) != EM28XX_CHIPCFG_AC97) { |
| 521 | EM28XX_CHIPCFG_I2S_3_SAMPRATES) { | 521 | if (dev->chip_id < CHIP_ID_EM2860 && |
| 522 | em28xx_info("I2S Audio (3 sample rates)\n"); | 522 | (cfg & EM28XX_CHIPCFG_AUDIOMASK) == |
| 523 | dev->audio_mode.i2s_3rates = 1; | 523 | EM2820_CHIPCFG_I2S_1_SAMPRATE) |
| 524 | } else if ((cfg & EM28XX_CHIPCFG_AUDIOMASK) == | 524 | dev->audio_mode.i2s_samplerates = 1; |
| 525 | EM28XX_CHIPCFG_I2S_5_SAMPRATES) { | 525 | else if (dev->chip_id >= CHIP_ID_EM2860 && |
| 526 | em28xx_info("I2S Audio (5 sample rates)\n"); | 526 | (cfg & EM28XX_CHIPCFG_AUDIOMASK) == |
| 527 | dev->audio_mode.i2s_5rates = 1; | 527 | EM2860_CHIPCFG_I2S_5_SAMPRATES) |
| 528 | } | 528 | dev->audio_mode.i2s_samplerates = 5; |
| 529 | 529 | else | |
| 530 | if ((cfg & EM28XX_CHIPCFG_AUDIOMASK) != EM28XX_CHIPCFG_AC97) { | 530 | dev->audio_mode.i2s_samplerates = 3; |
| 531 | em28xx_info("I2S Audio (%d sample rate(s))\n", | ||
| 532 | dev->audio_mode.i2s_samplerates); | ||
| 531 | /* Skip the code that does AC97 vendor detection */ | 533 | /* Skip the code that does AC97 vendor detection */ |
| 532 | dev->audio_mode.ac97 = EM28XX_NO_AC97; | 534 | dev->audio_mode.ac97 = EM28XX_NO_AC97; |
| 533 | goto init_audio; | 535 | goto init_audio; |
