diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-08-07 23:33:06 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2010-08-07 23:33:06 +0000 |
commit | 1e77baed0db7bb121fc11412266be927ce1b96dc (patch) | |
tree | 5067abd41317fb615bfe632cf36084e4c40b3b2f /sys/dev/alc | |
parent | e7a28130c4b93438fdf80b3163b5429efa119428 (diff) | |
download | src-1e77baed0db7bb121fc11412266be927ce1b96dc.tar.gz src-1e77baed0db7bb121fc11412266be927ce1b96dc.zip |
Controller does not seem to support more than 1024 bytes DMA burst.
Limit DMA burst size to be less than or equal to 1024 bytes.
Notes
Notes:
svn path=/head/; revision=211047
Diffstat (limited to 'sys/dev/alc')
-rw-r--r-- | sys/dev/alc/if_alc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c index c685b84e8633..84d22730fb26 100644 --- a/sys/dev/alc/if_alc.c +++ b/sys/dev/alc/if_alc.c @@ -610,6 +610,10 @@ alc_attach(device_t dev) device_printf(dev, "TLP payload size : %u bytes.\n", alc_dma_burst[sc->alc_dma_wr_burst]); } + if (alc_dma_burst[sc->alc_dma_rd_burst] > 1024) + sc->alc_dma_rd_burst = 3; + if (alc_dma_burst[sc->alc_dma_wr_burst] > 1024) + sc->alc_dma_wr_burst = 3; /* Clear data link and flow-control protocol error. */ val = CSR_READ_4(sc, ALC_PEX_UNC_ERR_SEV); val &= ~(PEX_UNC_ERR_SEV_DLP | PEX_UNC_ERR_SEV_FCP); |