summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@redhat.com>2004-03-15 01:03:56 -0500
committerJeff Garzik <jgarzik@redhat.com>2004-03-15 01:03:56 -0500
commit6aa7c16764de77c327cb89769c5ac7777a725ef4 (patch)
tree4e136c08bc6ce0b8c90472aae0f6652909cfc456 /include/linux
parent585a692ca593f50db521a4c24fc9b317d1e247b8 (diff)
[libata] disable clustering by default, whitespace cleanups
Disable SCSI's clustering of S/G entries, typically reducing overall S/G list size. Although ATA S/G tables are getting smarter (64-bit address, 32-bit length, no DMA boundary besides 4G itself), working harder to generate large byte sizes for each S/G size is not necessarily in our best interest: * SATA consists of frames, much like ethernet, called "FIS". A Data FIS consists of up to 2048 dwords (8K) of data. We don't want generate large byte sizes in S/G entries, just to have the host controller break them up again into smaller chunks. * Reduces the possibility that ata_fill_sg (libata-core.c) must split an S/G into two pieces, because it straddles a 64K boundary. * Reduces the possibility that FIS-related errata workarounds must be enabled. One such exists in the Silicon Image driver (sata_sil), which is currently worked around by limiting the max-sectors-per-request to 15.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/libata.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 20dc26522c15..0d10e7df6771 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -28,7 +28,6 @@
#include <asm/io.h>
#include <linux/ata.h>
-
/*
* compile-time options
*/
@@ -82,7 +81,7 @@ enum {
ATA_SHT_EMULATED = 1,
ATA_SHT_CMD_PER_LUN = 1,
ATA_SHT_THIS_ID = -1,
- ATA_SHT_USE_CLUSTERING = 1,
+ ATA_SHT_USE_CLUSTERING = 0,
/* struct ata_device stuff */
ATA_DFLAG_LBA48 = (1 << 0), /* device supports LBA48 */
@@ -251,7 +250,7 @@ struct ata_queued_cmd {
struct ata_port *ap;
struct ata_device *dev;
- struct scsi_cmnd *scsicmd;
+ struct scsi_cmnd *scsicmd;
void (*scsidone)(struct scsi_cmnd *);
struct list_head node;