m68k/mac: Fix scsi_type for Mac LC and similar models
authorFinn Thain <fthain@telegraphics.com.au>
Wed, 7 Jan 2015 00:17:35 +0000 (11:17 +1100)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 11 Jan 2015 10:38:46 +0000 (11:38 +0100)
Designing Cards and Drivers for the Macintosh Family, 3rd ed. on page 310
says that the I/O address space for the Mac LC is $50F0 0000 - $50FF FFFF.
The developer notes for the Classic II, LC III and IIvx/IIvi give the same
I/O address space.

That means I've assigned the wrong platform resources to those Mac models.
Fix the scsi_type initialization for the affected models, to restore the
SCSI base address to its value prior to Linux 3.18.

Also rename MAC_SCSI_CCL as MAC_SCSI_LC for the sake of correct chronology.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/include/asm/macintosh.h
arch/m68k/mac/config.c

index 29c7c6c3a5f2055423f91911dba42049e6a1e876..42235e7fbeedba40afb420b6eb1bcd774ba1a2c5 100644 (file)
@@ -55,7 +55,7 @@ struct mac_model
 #define MAC_SCSI_QUADRA3       4
 #define MAC_SCSI_IIFX          5
 #define MAC_SCSI_DUO           6
-#define MAC_SCSI_CCL           7
+#define MAC_SCSI_LC            7
 #define MAC_SCSI_LATE          8
 
 #define MAC_IDE_NONE           0
index e9c3756139fc0e4130a4570d22148383f6344f61..689b47d292acd4d5f44472a2efed3d2d1e94cc0e 100644 (file)
@@ -296,7 +296,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "IIvi",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -305,7 +305,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "IIvx",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -320,7 +320,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Classic II",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -329,7 +329,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Color Classic",
                .adb_type       = MAC_ADB_CUDA,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_CCL,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -338,7 +338,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Color Classic II",
                .adb_type       = MAC_ADB_CUDA,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_CCL,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -353,7 +353,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "LC",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -362,7 +362,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "LC II",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -371,7 +371,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "LC III",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -499,7 +499,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Performa 460",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -526,7 +526,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Performa 520",
                .adb_type       = MAC_ADB_CUDA,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_CCL,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -535,7 +535,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Performa 550",
                .adb_type       = MAC_ADB_CUDA,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_CCL,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -567,7 +567,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "TV",
                .adb_type       = MAC_ADB_CUDA,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_CCL,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -576,7 +576,7 @@ static struct mac_model mac_data_table[] = {
                .name           = "Performa 600",
                .adb_type       = MAC_ADB_IISI,
                .via_type       = MAC_VIA_IICI,
-               .scsi_type      = MAC_SCSI_OLD,
+               .scsi_type      = MAC_SCSI_LC,
                .scc_type       = MAC_SCC_II,
                .nubus_type     = MAC_NUBUS,
                .floppy_type    = MAC_FLOPPY_SWIM_ADDR2,
@@ -1109,8 +1109,10 @@ int __init mac_platform_init(void)
                platform_device_register_simple("mac_scsi", 0,
                        mac_scsi_late_rsrc, ARRAY_SIZE(mac_scsi_late_rsrc));
                break;
-       case MAC_SCSI_CCL:
-               /* Addresses from the Color Classic Developer Note.
+       case MAC_SCSI_LC:
+               /* Addresses from Mac LC data in Designing Cards & Drivers 3ed.
+                * Also from the Developer Notes for Classic II, LC III,
+                * Color Classic and IIvx.
                 * $50F0 6000 - $50F0 7FFF: SCSI handshake
                 * $50F1 0000 - $50F1 1FFF: SCSI
                 * $50F1 2000 - $50F1 3FFF: SCSI DMA