diff options
author | mav <mav@FreeBSD.org> | 2009-11-11 11:10:36 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-11-11 11:10:36 +0000 |
commit | 17cadb1aa54db7660df55a98f34126e08af6760f (patch) | |
tree | ceea3fcf873c9fdc72f0d23c18d3cdc692b9c8c0 /sys/dev/ahci | |
parent | 2bf1f78b4d6b6f7e74958969c676160766e11f2e (diff) | |
download | FreeBSD-src-17cadb1aa54db7660df55a98f34126e08af6760f.zip FreeBSD-src-17cadb1aa54db7660df55a98f34126e08af6760f.tar.gz |
MFp4:
- Move tagged queueing control from ADA to ATA XPT. It allows to control
device command queue length correctly. First step to support < 32 tags.
- Limit queue for non-tagged devices by 2 slots for ahci(4) and siis(4).
- Implement quirk matching for ATA devices.
- Move xpt_schedule_dev_sendq() from header to source file.
- Move delayed queue shrinking to the more expected place - element freeing.
- Remove some SCSIsms in ATA.
Diffstat (limited to 'sys/dev/ahci')
-rw-r--r-- | sys/dev/ahci/ahci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 92a6519..c46d0ce 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -733,7 +733,8 @@ ahci_ch_attach(device_t dev) } /* Construct SIM entry */ ch->sim = cam_sim_alloc(ahciaction, ahcipoll, "ahcich", ch, - device_get_unit(dev), &ch->mtx, ch->numslots, 0, devq); + device_get_unit(dev), &ch->mtx, + min(2, ch->numslots), ch->numslots, devq); if (ch->sim == NULL) { device_printf(dev, "unable to allocate sim\n"); error = ENOMEM; |