m68k 53c700 SCSI
cover m68k 53c700 SCSI
Hi James,
These patches add support for m68k to the 53c700 SCSI core and introduce new drivers for various m68k hardware using this 53c700 SCSI core, to replace the just removed drivers using the old 53c7xx SCSI core.
[1] [PATCH] 53c700 scsi: m68k support for the 53c700 SCSI core
[2] [PATCH] 53c700 scsi: m68k BVME6000 NCR53C710 SCSI
[3] [PATCH] 53c700 scsi: m68k MVME16x NCR53C710 SCSI
[4] [PATCH] 53c700 scsi: Amiga 4000T NCR53c710 SCSI
[5] [PATCH] 53c700 scsi: Amiga Zorro NCR53c710 SCSI
Please apply for 2.6.23. Thx!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
PATCH 1/5 53c700 scsi: m68k support for the 53c700 SCSI core
From: Kars de Jong <[email protected]>
Add m68k support to the 53c700 SCSI driver
--- drivers/scsi/53c700.c | 20 ++++++++++---------- drivers/scsi/53c700.h | 5 +++++ drivers/scsi/Kconfig | 13 +++++-------- 3 files changed, 20 insertions(+), 18 deletions(-)
drivers/scsi/53c700.c +10 -10
@@ -653,7 +653,6 @@ NCR_700_chip_setup(struct Scsi_Host *hos {struct NCR_700_Host_Parameters *hostdata = (struct NCR_700_Host_Parameters *)host->hostdata[0 ]; -__u32 dcntl_extra =0 ;__u8 min_period;__u8 min_xferp = (hostdata->chip710 ?NCR_710_MIN_XFERP :NCR_700_MIN_XFERP );
@@ -678,13 +677,14 @@ NCR_700_chip_setup(struct Scsi_Host *hos burst_disable =BURST_DISABLE ;break ; } - dcntl_extra =COMPAT_700_MODE ; + hostdata->dcntl_extra |=COMPAT_700_MODE ; -NCR_700_writeb (dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (hostdata->dcntl_extra, host,DCNTL_REG );NCR_700_writeb (burst_length | hostdata->dmode_extra, host,DMODE_710_REG ); -NCR_700_writeb (burst_disable | (hostdata->differential ? -DIFF :0 ), host,CTEST7_REG ); +NCR_700_writeb (burst_disable | hostdata->ctest7_extra | + (hostdata->differential ?DIFF :0 ), + host,CTEST7_REG );NCR_700_writeb (BTB_TIMER_DISABLE , host,CTEST0_REG );NCR_700_writeb (FULL_ARBITRATION |ENABLE_PARITY |PARITY |AUTO_ATN , host,SCNTL0_REG );
@@ -719,13 +719,13 @@ NCR_700_chip_setup(struct Scsi_Host *hos* of spec: sync divider 2, async divider 3 */ DEBUG (("53c700: sync 2 async 3\n" ));NCR_700_writeb (SYNC_DIV_2_0 , host,SBCL_REG ); -NCR_700_writeb (ASYNC_DIV_3_0 | dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (ASYNC_DIV_3_0 | hostdata->dcntl_extra, host,DCNTL_REG ); hostdata->sync_clock = hostdata->clock/2 ; }else if (hostdata->clock >50 && hostdata->clock <=75 ) {/* sync divider 1.5, async divider 3 */ DEBUG (("53c700: sync 1.5 async 3\n" ));NCR_700_writeb (SYNC_DIV_1_5 , host,SBCL_REG ); -NCR_700_writeb (ASYNC_DIV_3_0 | dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (ASYNC_DIV_3_0 | hostdata->dcntl_extra, host,DCNTL_REG ); hostdata->sync_clock = hostdata->clock*2 ; hostdata->sync_clock /=3 ;
@@ -733,18 +733,18 @@ NCR_700_chip_setup(struct Scsi_Host *hos/* sync divider 1, async divider 2 */ DEBUG (("53c700: sync 1 async 2\n" ));NCR_700_writeb (SYNC_DIV_1_0 , host,SBCL_REG ); -NCR_700_writeb (ASYNC_DIV_2_0 | dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (ASYNC_DIV_2_0 | hostdata->dcntl_extra, host,DCNTL_REG ); hostdata->sync_clock = hostdata->clock; }else if (hostdata->clock >25 && hostdata->clock <=37 ) {/* sync divider 1, async divider 1.5 */ DEBUG (("53c700: sync 1 async 1.5\n" ));NCR_700_writeb (SYNC_DIV_1_0 , host,SBCL_REG ); -NCR_700_writeb (ASYNC_DIV_1_5 | dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (ASYNC_DIV_1_5 | hostdata->dcntl_extra, host,DCNTL_REG ); hostdata->sync_clock = hostdata->clock; }else {DEBUG (("53c700: sync 1 async 1\n" ));NCR_700_writeb (SYNC_DIV_1_0 , host,SBCL_REG ); -NCR_700_writeb (ASYNC_DIV_1_0 | dcntl_extra, host,DCNTL_REG ); +NCR_700_writeb (ASYNC_DIV_1_0 | hostdata->dcntl_extra, host,DCNTL_REG );/* sync divider 1, async divider 1 */ hostdata->sync_clock = hostdata->clock; }
drivers/scsi/53c700.h +5 -0
@@ -177,6 +177,7 @@ struct NCR_700_command_slot {__u8 state;#define NCR_700_FLAG_AUTOSENSE 0x01__u8 flags; +__u8 pad1[2 ];/* Needed for m68k where min alignment is 2 bytes */ int tag;__u32 resume_offset;struct scsi_cmnd *cmnd;
@@ -196,6 +197,8 @@ struct NCR_700_Host_Parameters {void __iomem *base;/* the base for the port (copied to host) */ struct device *dev;__u32 dmode_extra;/* adjustable bus settings */ +__u32 dcntl_extra;/* adjustable bus settings */ +__u32 ctest7_extra;/* adjustable bus settings */ __u32 differential:1; /* if we are differential */#ifdef CONFIG_53C700_LE_ON_BE /* This option is for HP only. Set it if your chip is wired for
@@ -352,6 +355,7 @@ struct NCR_700_Host_Parameters {#define SEL_TIMEOUT_DISABLE 0x10/* 710 only */ #define DFP 0x08#define EVP 0x04 +#define CTEST7_TT1 0x02#define DIFF 0x01#define CTEST6_REG 0x1A#define TEMP_REG 0x1C
@@ -385,6 +389,7 @@ struct NCR_700_Host_Parameters {#define SOFTWARE_RESET 0x01#define COMPAT_700_MODE 0x01#define SCRPTS_16BITS 0x20 +#define EA_710 0x20#define ASYNC_DIV_2_0 0x00#define ASYNC_DIV_1_5 0x40#define ASYNC_DIV_1_0 0x80
drivers/scsi/Kconfig +5 -8
@@ -1006,6 +1006,11 @@ config SCSI_STEX To compile this driver as a module, choose M here: the module will be called stex. +config 53C700_BE_BUS + bool + depends on M68K + default y + config SCSI_SYM53C8XX_2 tristate "SYM53C8XX Version 2 SCSI support" depends on PCI && SCSI
@@ -1728,14 +1733,6 @@ config BVME6000_SCSI SCSI controller chip. Almost everyone using one of these boards will want to say Y to this question. -config SCSI_NCR53C7xx_FAST - bool "allow FAST-SCSI [10MHz]" - depends on SCSI_AMIGA7XX || MVME16x_SCSI || BVME6000_SCSI - help - This will enable 10MHz FAST-SCSI transfers with your host - adapter. Some systems have problems with that speed, so it's safest - to say N here. - config SUN3_SCSI tristate "Sun3 NCR5380 SCSI" depends on SUN3 && SCSI
Signature · 10 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsPATCH 2/5 53c700 scsi: m68k BVME6000 NCR53C710 SCSI
In reply to Geert UytterhoevenFrom: Kars de Jong <[email protected]>
New driver for the BVME6000 NCR53C710 SCSI controller, using the 53c700 SCSI core.
--- drivers/scsi/Kconfig | 6 - drivers/scsi/Makefile | 1 drivers/scsi/bvme6000_scsi.c | 135 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+), 3 deletions(-)
drivers/scsi/Kconfig +3 -3
@@ -1008,7 +1008,7 @@ config SCSI_STEX config 53C700_BE_BUS bool - depends on M68K + depends on BVME6000_SCSI default y config SCSI_SYM53C8XX_2
@@ -1725,8 +1725,8 @@ config MVME16x_SCSI will want to say Y to this question. config BVME6000_SCSI - bool "NCR53C710 SCSI driver for BVME6000" - depends on BVME6000 && SCSI && BROKEN + tristate "NCR53C710 SCSI driver for BVME6000" + depends on BVME6000 && SCSI select SCSI_SPI_ATTRS help The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
drivers/scsi/Makefile +1 -0
@@ -52,6 +52,7 @@ obj-$(CONFIG_ATARI_SCSI) += atari_scsi.o obj-$(CONFIG_MAC_SCSI) += mac_scsi.o obj-$(CONFIG_SCSI_MAC_ESP) += mac_esp.o NCR53C9x.o obj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o +obj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o obj-$(CONFIG_SCSI_PSI240I) += psi240i.o
drivers/scsi/bvme6000_scsi.c new file +135 -0
135 lines not on this page · raw message
Signature · 10 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsPATCH 3/5 53c700 scsi: m68k MVME16x NCR53C710 SCSI
In reply to Geert UytterhoevenFrom: Kars de Jong <[email protected]>
New driver for the MVME16x NCR53C710 SCSI controller, using the 53c700 SCSI core.
--- drivers/scsi/Kconfig | 6 - drivers/scsi/Makefile | 1 drivers/scsi/mvme16x_scsi.c | 158 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 162 insertions(+), 3 deletions(-)
drivers/scsi/Kconfig +3 -3
@@ -1008,7 +1008,7 @@ config SCSI_STEX config 53C700_BE_BUS bool - depends on BVME6000_SCSI + depends on MVME16x_SCSI || BVME6000_SCSI default y config SCSI_SYM53C8XX_2
@@ -1716,8 +1716,8 @@ config MVME147_SCSI single-board computer. config MVME16x_SCSI - bool "NCR53C710 SCSI driver for MVME16x" - depends on MVME16x && SCSI && BROKEN + tristate "NCR53C710 SCSI driver for MVME16x" + depends on MVME16x && SCSI select SCSI_SPI_ATTRS help The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
drivers/scsi/Makefile +1 -0
@@ -52,6 +52,7 @@ obj-$(CONFIG_ATARI_SCSI) += atari_scsi.o obj-$(CONFIG_MAC_SCSI) += mac_scsi.o obj-$(CONFIG_SCSI_MAC_ESP) += mac_esp.o NCR53C9x.o obj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o +obj-$(CONFIG_MVME16x_SCSI) += 53c700.o mvme16x_scsi.o obj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o
drivers/scsi/mvme16x_scsi.c new file +158 -0
158 lines not on this page · raw message
Signature · 10 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsPATCH 4/5 53c700 scsi: Amiga 4000T NCR53c710 SCSI
In reply to Geert UytterhoevenFrom: Kars de Jong <[email protected]>
New driver for the Amiga 4000T built-in NCR53c710 SCSI controller, using the 53c700 SCSI core.
--- drivers/scsi/Kconfig | 14 ++++ drivers/scsi/Makefile | 1 drivers/scsi/a4000t.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 2 deletions(-)
drivers/scsi/Kconfig +12 -2
@@ -1008,7 +1008,7 @@ config SCSI_STEX config 53C700_BE_BUS bool - depends on MVME16x_SCSI || BVME6000_SCSI + depends on SCSI_A4000T || MVME16x_SCSI || BVME6000_SCSI default y config SCSI_SYM53C8XX_2
@@ -1615,13 +1615,23 @@ config FASTLANE_SCSI If you have the Phase5 Fastlane Z3 SCSI controller, or plan to use one in the near future, say Y to this question. Otherwise, say N. +config SCSI_A4000T + tristate "A4000T NCR53c710 SCSI support (EXPERIMENTAL)" + depends on AMIGA && SCSI && EXPERIMENTAL + select SCSI_SPI_ATTRS + help + If you have an Amiga 4000T and have SCSI devices connected to the + built-in SCSI controller, say Y. Otherwise, say N. + + To compile this driver as a module, choose M here: the + module will be called a4000t. + config SCSI_AMIGA7XX bool "Amiga NCR53c710 SCSI support (EXPERIMENTAL)" depends on AMIGA && SCSI && EXPERIMENTAL && BROKEN help Support for various NCR53c710-based SCSI controllers on the Amiga. This includes: - - the builtin SCSI controller on the Amiga 4000T, - the Amiga 4091 Zorro III SCSI-2 controller, - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller (info at
drivers/scsi/Makefile +1 -0
@@ -37,6 +37,7 @@ obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/ obj-$(CONFIG_ISCSI_TCP) += libiscsi.o iscsi_tcp.o obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o +obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o
drivers/scsi/a4000t.c new file +142 -0
142 lines not on this page · raw message
Signature · 10 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsPATCH 5/5 53c700 scsi: Amiga Zorro NCR53c710 SCSI
In reply to Geert UytterhoevenFrom: Kars de Jong <[email protected]>
New driver for Amiga Zorro bus NCR53c710 SCSI controllers, using the 53c700 SCSI core.
--- drivers/scsi/Kconfig | 16 +--- drivers/scsi/Makefile | 1 drivers/scsi/zorro7xx.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 189 insertions(+), 9 deletions(-)
drivers/scsi/Kconfig +7 -9
@@ -1008,7 +1008,7 @@ config SCSI_STEX config 53C700_BE_BUS bool - depends on SCSI_A4000T || MVME16x_SCSI || BVME6000_SCSI + depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI default y config SCSI_SYM53C8XX_2
@@ -1626,11 +1626,13 @@ config SCSI_A4000T To compile this driver as a module, choose M here: the module will be called a4000t. -config SCSI_AMIGA7XX - bool "Amiga NCR53c710 SCSI support (EXPERIMENTAL)" - depends on AMIGA && SCSI && EXPERIMENTAL && BROKEN +config SCSI_ZORRO7XX + tristate "Zorro NCR53c710 SCSI support (EXPERIMENTAL)" + depends on ZORRO && SCSI && EXPERIMENTAL + select SCSI_SPI_ATTRS help - Support for various NCR53c710-based SCSI controllers on the Amiga. + Support for various NCR53c710-based SCSI controllers on Zorro + expansion boards for the Amiga. This includes: - the Amiga 4091 Zorro III SCSI-2 controller, - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
@@ -1639,10 +1641,6 @@ config SCSI_AMIGA7XX - the SCSI controller on the Phase5 Blizzard PowerUP 603e+ accelerator card for the Amiga 1200, - the SCSI controller on the GVP Turbo 040/060 accelerator. - Note that all of the above SCSI controllers, except for the builtin - SCSI controller on the Amiga 4000T, reside on the Zorro expansion - bus, so you also have to enable Zorro bus support if you want to use - them. config OKTAGON_SCSI tristate "BSC Oktagon SCSI support (EXPERIMENTAL)"
drivers/scsi/Makefile +1 -0
@@ -38,6 +38,7 @@ obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/ obj-$(CONFIG_ISCSI_TCP) += libiscsi.o iscsi_tcp.o obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o +obj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o
drivers/scsi/zorro7xx.c new file +181 -0
181 lines not on this page · raw message
Signature · 10 lines
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsHi James,
Quoted 11 lines · Geert Uytterhoeven
These patches add support for m68k to the 53c700 SCSI core and introduce new drivers for various m68k hardware using this 53c700 SCSI core, to replace the just removed drivers using the old 53c7xx SCSI core.
[1] [PATCH] 53c700 scsi: m68k support for the 53c700 SCSI core
[2] [PATCH] 53c700 scsi: m68k BVME6000 NCR53C710 SCSI
[3] [PATCH] 53c700 scsi: m68k MVME16x NCR53C710 SCSI
[4] [PATCH] 53c700 scsi: Amiga 4000T NCR53c710 SCSI
[5] [PATCH] 53c700 scsi: Amiga Zorro NCR53c710 SCSIPlease apply for 2.6.23. Thx!
Apparently I made some major mistakes when preparing these patches. Here are the fixes.
---
Fixup m68k 53c700 drivers:
- a4000t.c: Add missing include, needed in some configurations
- bvme6000_scsi.c: Kill bogus opening brace
- zorro7xx.c: Remove MODULE_DEVICE_TABLE, it should be part of another patch
--- drivers/scsi/a4000t.c | 1 + drivers/scsi/bvme6000_scsi.c | 2 +- drivers/scsi/zorro7xx.c | 1 - 3 files changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/a4000t.c +1 -0
@@ -12,6 +12,7 @@#include <linux/platform_device.h> #include <linux/init.h> #include <linux/interrupt.h> +#include <asm/amigahw.h> #include <asm/amigaints.h> #include <scsi/scsi_host.h> #include <scsi/scsi_transport_spi.h>
drivers/scsi/bvme6000_scsi.c +1 -1
@@ -112,7 +112,7 @@ static int __init bvme6000_scsi_init(voiint err; err =driver_register (&bvme6000_scsi_driver); -if (err) { +if (err)return err; bvme6000_scsi_device = platform_device_register_simple("bvme6000-scsi",
drivers/scsi/zorro7xx.c +0 -1
@@ -65,7 +65,6 @@ static struct zorro_device_id zorro7xx_z }, { 0 } }; -MODULE_DEVICE_TABLE (zorro, zorro7xx_zorro_tbl);static int __devinit zorro7xx_init_one (struct zorro_dev *z,const struct zorro_device_id *ent)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 6 lines · Geert Uytterhoeven
Hi James,
These patches add support for m68k to the 53c700 SCSI core and introduce new drivers for various m68k hardware using this 53c700 SCSI core, to replace the just removed drivers using the old 53c7xx SCSI core.
Quoted 7 lines
[1] [PATCH] 53c700 scsi: m68k support for the 53c700 SCSI core
[2] [PATCH] 53c700 scsi: m68k BVME6000 NCR53C710 SCSI
[3] [PATCH] 53c700 scsi: m68k MVME16x NCR53C710 SCSI
[4] [PATCH] 53c700 scsi: Amiga 4000T NCR53c710 SCSI
[5] [PATCH] 53c700 scsi: Amiga Zorro NCR53c710 SCSIPlease apply for 2.6.23. Thx!
The patches all look very nice to me, thanks a lot.