Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k/mac: Enable PDMA for PowerBook 500 series

I can confirm that mac_scsi PDMA now works on these machines.
This increases sequential read throughput by a factor of 4.5.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

authored by

Finn Thain and committed by
Geert Uytterhoeven
cf85d895 d72e90f3

+1 -19
-1
arch/m68k/include/asm/macintosh.h
··· 57 57 #define MAC_SCSI_IIFX 5 58 58 #define MAC_SCSI_DUO 6 59 59 #define MAC_SCSI_LC 7 60 - #define MAC_SCSI_LATE 8 61 60 62 61 #define MAC_IDE_NONE 0 63 62 #define MAC_IDE_QUADRA 1
+1 -18
arch/m68k/mac/config.c
··· 709 709 .name = "PowerBook 520", 710 710 .adb_type = MAC_ADB_PB2, 711 711 .via_type = MAC_VIA_QUADRA, 712 - .scsi_type = MAC_SCSI_LATE, 712 + .scsi_type = MAC_SCSI_OLD, 713 713 .scc_type = MAC_SCC_QUADRA, 714 714 .ether_type = MAC_ETHER_SONIC, 715 715 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 943 943 }, 944 944 }; 945 945 946 - static const struct resource mac_scsi_late_rsrc[] __initconst = { 947 - { 948 - .flags = IORESOURCE_IRQ, 949 - .start = IRQ_MAC_SCSI, 950 - .end = IRQ_MAC_SCSI, 951 - }, { 952 - .flags = IORESOURCE_MEM, 953 - .start = 0x50010000, 954 - .end = 0x50011FFF, 955 - }, 956 - }; 957 - 958 946 static const struct resource mac_scsi_ccl_rsrc[] __initconst = { 959 947 { 960 948 .flags = IORESOURCE_IRQ, ··· 1051 1063 */ 1052 1064 platform_device_register_simple("mac_scsi", 0, 1053 1065 mac_scsi_old_rsrc, ARRAY_SIZE(mac_scsi_old_rsrc)); 1054 - break; 1055 - case MAC_SCSI_LATE: 1056 - /* XXX PDMA support for PowerBook 500 series needs testing */ 1057 - platform_device_register_simple("mac_scsi", 0, 1058 - mac_scsi_late_rsrc, ARRAY_SIZE(mac_scsi_late_rsrc)); 1059 1066 break; 1060 1067 case MAC_SCSI_LC: 1061 1068 /* Addresses from Mac LC data in Designing Cards & Drivers 3ed.