aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652/hdspm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/rme9652/hdspm.c')
-rw-r--r--sound/pci/rme9652/hdspm.c40
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);