|
@@ -520,16 +520,9 @@ MODULE_SUPPORTED_DEVICE("{{RME HDSPM-MADI}}");
|
|
#define HDSPM_DMA_AREA_BYTES (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES)
|
|
#define HDSPM_DMA_AREA_BYTES (HDSPM_MAX_CHANNELS * HDSPM_CHANNEL_BUFFER_BYTES)
|
|
#define HDSPM_DMA_AREA_KILOBYTES (HDSPM_DMA_AREA_BYTES/1024)
|
|
#define HDSPM_DMA_AREA_KILOBYTES (HDSPM_DMA_AREA_BYTES/1024)
|
|
|
|
|
|
-/* revisions >= 230 indicate AES32 card */
|
|
|
|
-#define HDSPM_MADI_ANCIENT_REV 204
|
|
|
|
-#define HDSPM_MADI_OLD_REV 207
|
|
|
|
-#define HDSPM_MADI_REV 210
|
|
|
|
#define HDSPM_RAYDAT_REV 211
|
|
#define HDSPM_RAYDAT_REV 211
|
|
#define HDSPM_AIO_REV 212
|
|
#define HDSPM_AIO_REV 212
|
|
#define HDSPM_MADIFACE_REV 213
|
|
#define HDSPM_MADIFACE_REV 213
|
|
-#define HDSPM_AES_REV 240
|
|
|
|
-#define HDSPM_AES32_REV 234
|
|
|
|
-#define HDSPM_AES32_OLD_REV 233
|
|
|
|
|
|
|
|
/* speed factor modes */
|
|
/* speed factor modes */
|
|
#define HDSPM_SPEED_SINGLE 0
|
|
#define HDSPM_SPEED_SINGLE 0
|
|
@@ -6503,13 +6496,6 @@ static int __devinit snd_hdspm_create(struct snd_card *card,
|
|
strcpy(card->driver, "HDSPM");
|
|
strcpy(card->driver, "HDSPM");
|
|
|
|
|
|
switch (hdspm->firmware_rev) {
|
|
switch (hdspm->firmware_rev) {
|
|
- case HDSPM_MADI_REV:
|
|
|
|
- case HDSPM_MADI_OLD_REV:
|
|
|
|
- case HDSPM_MADI_ANCIENT_REV:
|
|
|
|
- hdspm->io_type = MADI;
|
|
|
|
- hdspm->card_name = "RME MADI";
|
|
|
|
- hdspm->midiPorts = 3;
|
|
|
|
- break;
|
|
|
|
case HDSPM_RAYDAT_REV:
|
|
case HDSPM_RAYDAT_REV:
|
|
hdspm->io_type = RayDAT;
|
|
hdspm->io_type = RayDAT;
|
|
hdspm->card_name = "RME RayDAT";
|
|
hdspm->card_name = "RME RayDAT";
|
|
@@ -6525,17 +6511,25 @@ static int __devinit snd_hdspm_create(struct snd_card *card,
|
|
hdspm->card_name = "RME MADIface";
|
|
hdspm->card_name = "RME MADIface";
|
|
hdspm->midiPorts = 1;
|
|
hdspm->midiPorts = 1;
|
|
break;
|
|
break;
|
|
- case HDSPM_AES_REV:
|
|
|
|
- case HDSPM_AES32_REV:
|
|
|
|
- case HDSPM_AES32_OLD_REV:
|
|
|
|
- hdspm->io_type = AES32;
|
|
|
|
- hdspm->card_name = "RME AES32";
|
|
|
|
- hdspm->midiPorts = 2;
|
|
|
|
- break;
|
|
|
|
default:
|
|
default:
|
|
- snd_printk(KERN_ERR "HDSPM: unknown firmware revision %x\n",
|
|
|
|
|
|
+ if ((hdspm->firmware_rev == 0xf0) ||
|
|
|
|
+ ((hdspm->firmware_rev >= 0xe6) &&
|
|
|
|
+ (hdspm->firmware_rev <= 0xea))) {
|
|
|
|
+ hdspm->io_type = AES32;
|
|
|
|
+ hdspm->card_name = "RME AES32";
|
|
|
|
+ hdspm->midiPorts = 2;
|
|
|
|
+ } else if ((hdspm->firmware_rev == 0xd5) ||
|
|
|
|
+ ((hdspm->firmware_rev >= 0xc8) &&
|
|
|
|
+ (hdspm->firmware_rev <= 0xcf))) {
|
|
|
|
+ hdspm->io_type = MADI;
|
|
|
|
+ hdspm->card_name = "RME MADI";
|
|
|
|
+ hdspm->midiPorts = 3;
|
|
|
|
+ } else {
|
|
|
|
+ snd_printk(KERN_ERR
|
|
|
|
+ "HDSPM: unknown firmware revision %x\n",
|
|
hdspm->firmware_rev);
|
|
hdspm->firmware_rev);
|
|
- return -ENODEV;
|
|
|
|
|
|
+ return -ENODEV;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
err = pci_enable_device(pci);
|
|
err = pci_enable_device(pci);
|