diff options
author | simokawa <simokawa@FreeBSD.org> | 2003-02-27 12:51:24 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2003-02-27 12:51:24 +0000 |
commit | 15b70bcd2e4f67772c1a7611a7f17d291acbff3f (patch) | |
tree | 9dc6d0572414885de0d9b6a17ee7854130b3e2e9 /sys/dev/firewire/fwdev.c | |
parent | 6eb790939b8d733c0cad2a9b724d11fb1c5c344e (diff) | |
download | FreeBSD-src-15b70bcd2e4f67772c1a7611a7f17d291acbff3f.zip FreeBSD-src-15b70bcd2e4f67772c1a7611a7f17d291acbff3f.tar.gz |
MFp4(simokawa_sbp branch)
Improve SBP device probeing:
- Wait 2 sec before issuing LOGIN ORB expecting the reconnection
hold timer expires.
- Serialize management ORB and scanning LUN by CAM on each target.
This should fix the problem for devices which have multiple LUNs.
Test device is donated by: Jaye Mathisen <mrcpu@internetcds.com>
- Freeze SIM queue for 2 sec after BUS RESET.
- Retry with LOGIN rather than RECONNECT after LOGIN is not completed for
BUS RESET.
- Use appropriate CAM status for BUS RESET and DEVICE RESET.
- Let CAM to scan targets after BUS REST.
- Implement CAM scan target function.
- Keep our own devq freeze count.
- Let CAM to know that SBP does tagged queuing.
These should be merged to RELENG_4 before 4.8-RELEASE.
Diffstat (limited to 'sys/dev/firewire/fwdev.c')
-rw-r--r-- | sys/dev/firewire/fwdev.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/firewire/fwdev.c b/sys/dev/firewire/fwdev.c index a85db14..a25af15 100644 --- a/sys/dev/firewire/fwdev.c +++ b/sys/dev/firewire/fwdev.c @@ -921,13 +921,21 @@ fw_poll(dev_t dev, int events, fw_proc *td) } static int +#if __FreeBSD_version < 500000 +fw_mmap (dev_t dev, vm_offset_t offset, int nproto) +#else fw_mmap (dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int nproto) +#endif { struct firewire_softc *fc; int unit = DEV2UNIT(dev); if (DEV_FWMEM(dev)) +#if __FreeBSD_version < 500000 + return fwmem_mmap(dev, offset, nproto); +#else return fwmem_mmap(dev, offset, paddr, nproto); +#endif fc = devclass_get_softc(firewire_devclass, unit); |