summaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sil24.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2008-10-25 14:26:54 +0900
committerJeff Garzik <jgarzik@redhat.com>2008-10-27 23:55:27 -0400
commite8b3b5e9f54512bfdb7c154da07ec0408cbd6c56 (patch)
treef2782dbae6b0b7c184ba37f6323f4092af5e8224 /drivers/ata/sata_sil24.c
parent3cd8ddbd86e4ea6f2f6582da217651f048d76130 (diff)
downloadlinux-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.tar.gz
linux-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.tar.bz2
linux-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.zip
sata_sil24: configure max read request size to 4k
Due to request posting limitations, bandwidth of sil3132 is limited to around 120MB/s with the minimum pci-e payload size (128bytes) which is used by most consumer systems. However, write throughput can be slightly (~3%) increased by increasing the max read requeset size. Configure it to 4k which is the maximum supported. This optimization is also done by SIMG's windows driver. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/sata_sil24.c')
-rw-r--r--drivers/ata/sata_sil24.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 4621807a1a6a..ccee930f1e12 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -1329,6 +1329,11 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
}
}
+ /* Set max read request size to 4096. This slightly increases
+ * write throughput for pci-e variants.
+ */
+ pcie_set_readrq(pdev, 4096);
+
sil24_init_controller(host);
pci_set_master(pdev);