Commit 2e874d17 authored by Finn Thain's avatar Finn Thain Committed by Geert Uytterhoeven

m68k/mac: Fix scsi_type for Mac LC and similar models

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: default avatarFinn Thain <fthain@telegraphics.com.au>
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
parent 8c0ce284
...@@ -55,7 +55,7 @@ struct mac_model ...@@ -55,7 +55,7 @@ struct mac_model
#define MAC_SCSI_QUADRA3 4 #define MAC_SCSI_QUADRA3 4
#define MAC_SCSI_IIFX 5 #define MAC_SCSI_IIFX 5
#define MAC_SCSI_DUO 6 #define MAC_SCSI_DUO 6
#define MAC_SCSI_CCL 7 #define MAC_SCSI_LC 7
#define MAC_SCSI_LATE 8 #define MAC_SCSI_LATE 8
#define MAC_IDE_NONE 0 #define MAC_IDE_NONE 0
......
...@@ -296,7 +296,7 @@ static struct mac_model mac_data_table[] = { ...@@ -296,7 +296,7 @@ static struct mac_model mac_data_table[] = {
.name = "IIvi", .name = "IIvi",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -305,7 +305,7 @@ static struct mac_model mac_data_table[] = { ...@@ -305,7 +305,7 @@ static struct mac_model mac_data_table[] = {
.name = "IIvx", .name = "IIvx",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -320,7 +320,7 @@ static struct mac_model mac_data_table[] = { ...@@ -320,7 +320,7 @@ static struct mac_model mac_data_table[] = {
.name = "Classic II", .name = "Classic II",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -329,7 +329,7 @@ static struct mac_model mac_data_table[] = { ...@@ -329,7 +329,7 @@ static struct mac_model mac_data_table[] = {
.name = "Color Classic", .name = "Color Classic",
.adb_type = MAC_ADB_CUDA, .adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_CCL, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -338,7 +338,7 @@ static struct mac_model mac_data_table[] = { ...@@ -338,7 +338,7 @@ static struct mac_model mac_data_table[] = {
.name = "Color Classic II", .name = "Color Classic II",
.adb_type = MAC_ADB_CUDA, .adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_CCL, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -353,7 +353,7 @@ static struct mac_model mac_data_table[] = { ...@@ -353,7 +353,7 @@ static struct mac_model mac_data_table[] = {
.name = "LC", .name = "LC",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -362,7 +362,7 @@ static struct mac_model mac_data_table[] = { ...@@ -362,7 +362,7 @@ static struct mac_model mac_data_table[] = {
.name = "LC II", .name = "LC II",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -371,7 +371,7 @@ static struct mac_model mac_data_table[] = { ...@@ -371,7 +371,7 @@ static struct mac_model mac_data_table[] = {
.name = "LC III", .name = "LC III",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -499,7 +499,7 @@ static struct mac_model mac_data_table[] = { ...@@ -499,7 +499,7 @@ static struct mac_model mac_data_table[] = {
.name = "Performa 460", .name = "Performa 460",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -526,7 +526,7 @@ static struct mac_model mac_data_table[] = { ...@@ -526,7 +526,7 @@ static struct mac_model mac_data_table[] = {
.name = "Performa 520", .name = "Performa 520",
.adb_type = MAC_ADB_CUDA, .adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_CCL, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -535,7 +535,7 @@ static struct mac_model mac_data_table[] = { ...@@ -535,7 +535,7 @@ static struct mac_model mac_data_table[] = {
.name = "Performa 550", .name = "Performa 550",
.adb_type = MAC_ADB_CUDA, .adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_CCL, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -567,7 +567,7 @@ static struct mac_model mac_data_table[] = { ...@@ -567,7 +567,7 @@ static struct mac_model mac_data_table[] = {
.name = "TV", .name = "TV",
.adb_type = MAC_ADB_CUDA, .adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_CCL, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -576,7 +576,7 @@ static struct mac_model mac_data_table[] = { ...@@ -576,7 +576,7 @@ static struct mac_model mac_data_table[] = {
.name = "Performa 600", .name = "Performa 600",
.adb_type = MAC_ADB_IISI, .adb_type = MAC_ADB_IISI,
.via_type = MAC_VIA_IICI, .via_type = MAC_VIA_IICI,
.scsi_type = MAC_SCSI_OLD, .scsi_type = MAC_SCSI_LC,
.scc_type = MAC_SCC_II, .scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS, .nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2, .floppy_type = MAC_FLOPPY_SWIM_ADDR2,
...@@ -1109,8 +1109,10 @@ int __init mac_platform_init(void) ...@@ -1109,8 +1109,10 @@ int __init mac_platform_init(void)
platform_device_register_simple("mac_scsi", 0, platform_device_register_simple("mac_scsi", 0,
mac_scsi_late_rsrc, ARRAY_SIZE(mac_scsi_late_rsrc)); mac_scsi_late_rsrc, ARRAY_SIZE(mac_scsi_late_rsrc));
break; break;
case MAC_SCSI_CCL: case MAC_SCSI_LC:
/* Addresses from the Color Classic Developer Note. /* 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 * $50F0 6000 - $50F0 7FFF: SCSI handshake
* $50F1 0000 - $50F1 1FFF: SCSI * $50F1 0000 - $50F1 1FFF: SCSI
* $50F1 2000 - $50F1 3FFF: SCSI DMA * $50F1 2000 - $50F1 3FFF: SCSI DMA
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment