diff options
Diffstat (limited to 'sound/pci/rme9652/hdspm.c')
-rw-r--r-- | sound/pci/rme9652/hdspm.c | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index 60a0b7de8e57..15a6c3b9bc9a 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
@@ -520,16 +520,9 @@ MODULE_SUPPORTED_DEVICE("{{RME HDSPM-MADI}}"); | |||
520 | #define HDSPM_DMA_AREA_BYTES (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES) | 520 | #define HDSPM_DMA_AREA_BYTES (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES) |
521 | #define HDSPM_DMA_AREA_KILOBYTES (HDSPM_DMA_AREA_BYTES/1024) | 521 | #define HDSPM_DMA_AREA_KILOBYTES (HDSPM_DMA_AREA_BYTES/1024) |
522 | 522 | ||
523 | /* revisions >= 230 indicate AES32 card */ | ||
524 | #define HDSPM_MADI_ANCIENT_REV 204 | ||
525 | #define HDSPM_MADI_OLD_REV 207 | ||
526 | #define HDSPM_MADI_REV 210 | ||
527 | #define HDSPM_RAYDAT_REV 211 | 523 | #define HDSPM_RAYDAT_REV 211 |
528 | #define HDSPM_AIO_REV 212 | 524 | #define HDSPM_AIO_REV 212 |
529 | #define HDSPM_MADIFACE_REV 213 | 525 | #define HDSPM_MADIFACE_REV 213 |
530 | #define HDSPM_AES_REV 240 | ||
531 | #define HDSPM_AES32_REV 234 | ||
532 | #define HDSPM_AES32_OLD_REV 233 | ||
533 | 526 | ||
534 | /* speed factor modes */ | 527 | /* speed factor modes */ |
535 | #define HDSPM_SPEED_SINGLE 0 | 528 | #define HDSPM_SPEED_SINGLE 0 |
@@ -6503,13 +6496,6 @@ static int __devinit snd_hdspm_create(struct snd_card *card, | |||
6503 | strcpy(card->driver, "HDSPM"); | 6496 | strcpy(card->driver, "HDSPM"); |
6504 | 6497 | ||
6505 | switch (hdspm->firmware_rev) { | 6498 | switch (hdspm->firmware_rev) { |
6506 | case HDSPM_MADI_REV: | ||
6507 | case HDSPM_MADI_OLD_REV: | ||
6508 | case HDSPM_MADI_ANCIENT_REV: | ||
6509 | hdspm->io_type = MADI; | ||
6510 | hdspm->card_name = "RME MADI"; | ||
6511 | hdspm->midiPorts = 3; | ||
6512 | break; | ||
6513 | case HDSPM_RAYDAT_REV: | 6499 | case HDSPM_RAYDAT_REV: |
6514 | hdspm->io_type = RayDAT; | 6500 | hdspm->io_type = RayDAT; |
6515 | hdspm->card_name = "RME RayDAT"; | 6501 | hdspm->card_name = "RME RayDAT"; |
@@ -6525,17 +6511,25 @@ static int __devinit snd_hdspm_create(struct snd_card *card, | |||
6525 | hdspm->card_name = "RME MADIface"; | 6511 | hdspm->card_name = "RME MADIface"; |
6526 | hdspm->midiPorts = 1; | 6512 | hdspm->midiPorts = 1; |
6527 | break; | 6513 | break; |
6528 | case HDSPM_AES_REV: | ||
6529 | case HDSPM_AES32_REV: | ||
6530 | case HDSPM_AES32_OLD_REV: | ||
6531 | hdspm->io_type = AES32; | ||
6532 | hdspm->card_name = "RME AES32"; | ||
6533 | hdspm->midiPorts = 2; | ||
6534 | break; | ||
6535 | default: | 6514 | default: |
6536 | snd_printk(KERN_ERR "HDSPM: unknown firmware revision %x\n", | 6515 | if ((hdspm->firmware_rev == 0xf0) || |
6516 | ((hdspm->firmware_rev >= 0xe6) && | ||
6517 | (hdspm->firmware_rev <= 0xea))) { | ||
6518 | hdspm->io_type = AES32; | ||
6519 | hdspm->card_name = "RME AES32"; | ||
6520 | hdspm->midiPorts = 2; | ||
6521 | } else if ((hdspm->firmware_rev == 0xd5) || | ||
6522 | ((hdspm->firmware_rev >= 0xc8) && | ||
6523 | (hdspm->firmware_rev <= 0xcf))) { | ||
6524 | hdspm->io_type = MADI; | ||
6525 | hdspm->card_name = "RME MADI"; | ||
6526 | hdspm->midiPorts = 3; | ||
6527 | } else { | ||
6528 | snd_printk(KERN_ERR | ||
6529 | "HDSPM: unknown firmware revision %x\n", | ||
6537 | hdspm->firmware_rev); | 6530 | hdspm->firmware_rev); |
6538 | return -ENODEV; | 6531 | return -ENODEV; |
6532 | } | ||
6539 | } | 6533 | } |
6540 | 6534 | ||
6541 | err = pci_enable_device(pci); | 6535 | err = pci_enable_device(pci); |