aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2010-02-01 15:22:22 +0000
committerAlexander Motin <mav@FreeBSD.org>2010-02-01 15:22:22 +0000
commite024cf2af01fe54253a011e30fa502c6df29b69f (patch)
treee03adadb6bc684c206536b94d954d76303c24555 /sys/dev/ata
parentdc5fd2595ce7d1b63724d18755865e04430ce976 (diff)
Notes
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/chipsets/ata-netcell.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/ata/chipsets/ata-netcell.c b/sys/dev/ata/chipsets/ata-netcell.c
index f6a75451ceae..8e5a9cbe8d29 100644
--- a/sys/dev/ata/chipsets/ata-netcell.c
+++ b/sys/dev/ata/chipsets/ata-netcell.c
@@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$");
/* local prototypes */
static int ata_netcell_chipinit(device_t dev);
static int ata_netcell_ch_attach(device_t dev);
+static int ata_netcell_setmode(device_t dev, int target, int mode);
/*
* NetCell chipset support functions
@@ -80,7 +81,7 @@ ata_netcell_chipinit(device_t dev)
return ENXIO;
ctlr->ch_attach = ata_netcell_ch_attach;
- ctlr->setmode = ata_generic_setmode;
+ ctlr->setmode = ata_netcell_setmode;
return 0;
}
@@ -95,7 +96,16 @@ ata_netcell_ch_attach(device_t dev)
/* the NetCell only supports 16 bit PIO transfers */
ch->flags |= ATA_USE_16BIT;
+ /* It is a hardware RAID without cable. */
+ ch->flags |= ATA_CHECKS_CABLE;
return 0;
}
+static int
+ata_netcell_setmode(device_t dev, int target, int mode)
+{
+
+ return (min(mode, ATA_UDMA6));
+}
+
ATA_DECLARE_DRIVER(ata_netcell);