summaryrefslogtreecommitdiffstats
path: root/sys/dev/siis
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-02-05 17:20:48 +0000
committermav <mav@FreeBSD.org>2010-02-05 17:20:48 +0000
commit2cf2bd6f0aa07a5b8fbb8b59dbd38a9cd1e014b0 (patch)
tree677c58cb329414284218bd305398279f3953c93d /sys/dev/siis
parent89887095f909badf754e94cfb50cb580e3554eee (diff)
downloadFreeBSD-src-2cf2bd6f0aa07a5b8fbb8b59dbd38a9cd1e014b0.zip
FreeBSD-src-2cf2bd6f0aa07a5b8fbb8b59dbd38a9cd1e014b0.tar.gz
Use new helper functions to set PCIe max read request size.
Diffstat (limited to 'sys/dev/siis')
-rw-r--r--sys/dev/siis/siis.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/dev/siis/siis.c b/sys/dev/siis/siis.c
index dc24c6c..60aa4bd 100644
--- a/sys/dev/siis/siis.c
+++ b/sys/dev/siis/siis.c
@@ -230,20 +230,10 @@ static int
siis_resume(device_t dev)
{
struct siis_controller *ctlr = device_get_softc(dev);
- int cap;
- uint16_t val;
/* Set PCIe max read request size to at least 1024 bytes */
- if (pci_find_extcap(dev, PCIY_EXPRESS, &cap) == 0) {
- val = pci_read_config(dev,
- cap + PCIR_EXPRESS_DEVICE_CTL, 2);
- if ((val & PCIM_EXP_CTL_MAX_READ_REQUEST) < 0x3000) {
- val &= ~PCIM_EXP_CTL_MAX_READ_REQUEST;
- val |= 0x3000;
- pci_write_config(dev,
- cap + PCIR_EXPRESS_DEVICE_CTL, val, 2);
- }
- }
+ if (pci_get_max_read_req(dev) < 1024)
+ pci_set_max_read_req(dev, 1024);
/* Put controller into reset state. */
ctlr->gctl |= SIIS_GCTL_GRESET;
ATA_OUTL(ctlr->r_gmem, SIIS_GCTL, ctlr->gctl);
OpenPOWER on IntegriCloud