Same disclaimer as with broadsas... it's better to go ahead and get
this work-in-progress out there for people to comment on.
The chip: the 6440 has per-HBA rings for TX (delivery) and RX
(completions, events). You build a DMA command descriptor describing
the SSP, SMP, STP or SATA command, and let it rip. Wide ports are
supported (search for "phy_mask" in the code). Have plenty of control.
SATA is currently unsupported. The 6440 has some useful internal
buffers "SATA register sets", which permit dynamic associations between
SATA targets and SATA register blocks.
Most error handling, and some phy handling code is notably missing.
The 'sas' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git sas
contains the following updates:
drivers/scsi/Kconfig | 20 +
drivers/scsi/Makefile | 2 +
drivers/scsi/broadsas.c | 1025 +++++++++++++++++++++++++++++++++++++++++++++
drivers/scsi/mvsas.c | 1064 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 2111 insertions(+), 0 deletions(-)
create mode 100644 drivers/scsi/broadsas.c
create mode 100644 drivers/scsi/mvsas.c
Jeff Garzik (3):
Add Broadcom 8603 SAS/SATA driver (rough draft).
Add Marvell 88SE6440 SAS/SATA driver (rough draft).
broadsas, mvsas: fill in sas_port, sas_phy arrays
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 6f2c71e..bb041b8 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -486,6 +486,16 @@ config SCSI_AIC7XXX_OLD
source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
source "drivers/scsi/aic94xx/Kconfig"
+config SCSI_BROADSAS
+ tristate "Broadcom 8603 SAS/SATA support"
+ depends on PCI
+ select SCSI_SAS_LIBSAS
+ help
+ This driver supports Broadcom SAS/SATA PCI devices.
+
+ To compile this driver as a module, choose M here: the
+ module will be called broadsas.
+
# All the I2O code and drivers do not seem to be 64bit safe.
config SCSI_DPT_I2O
tristate "Adaptec I2O RAID support "
@@...