Hidetoshi Shimokawa
f918ec7bac
* firewire.c
...
- Don't initiate bus reset even if probe failed for some nodes to prevent
infinite bus reset loop.
Problem Reported by: Pierre Beyssac <pb@fasterix.frmug.org>
- Protect timeout routine with splfw() for 4-stable.
* sbp.c
- Make sure to release devq when start request.
2003-02-17 14:24:06 +00:00
Hidetoshi Shimokawa
6611732341
Protect calling fwohci_intr() with splfw() for 4-stable.
2003-02-15 01:25:39 +00:00
Hidetoshi Shimokawa
3173a15429
- Increase split transaction timeout from 2 sec to 6 sec.
...
Problem reported by: Michael Reifenberger <root@nihil.reifenberger.com>
- Improve debug message.
2003-02-15 00:54:10 +00:00
Hidetoshi Shimokawa
c26f4c7168
Clear the bus reset event flag as soon as possible after
...
the initialization has completed to start transactions even when
interrupt is disabled during the boot process.
2003-02-14 15:52:32 +00:00
Hidetoshi Shimokawa
f3d2847dd0
- Though I got a feedback from the originator of kern/48129 that the
...
previous revision fixed the panic, I found the problem exits in
another part of the function by investigating the crom dump sent by him.
The search was started in the middle of bus info block and the
routine misunderstood the EUI64 as a crom entry. This problem is fixed.
PR: kern/48129
Fix incorrect type mask included in a logical unit number and check
the validity of the lun.
2003-02-14 03:09:59 +00:00
Hidetoshi Shimokawa
627d85fbdd
firewire/fwohci
...
- Drain fwohci TX queue first then drain xfer queue which has not started.
- Check validity of the received packet length.
- Don't allocate too large buffer for xfer receive buf.
sbp
- Fix panic for some CROM which doesn't have a text leaf.
This could fix the PR kern/48129 but no feedback has been gotten from
the originator yet.
- Put back some M_NOWAIT flags into malloc which could be called
in interrupt context for 4-stable.
2003-02-13 13:35:57 +00:00
Hidetoshi Shimokawa
645394e60b
Increase atrq.ndesc for if_fwe.
2003-02-09 17:11:55 +00:00
Hidetoshi Shimokawa
233b1b978b
Add new ioctl to specify target EUI64 for fwmem.
2003-02-09 10:14:22 +00:00
Hidetoshi Shimokawa
5a8d8970be
Remove unnecessary check for OCB_ACT_CMD.
2003-02-09 07:40:27 +00:00
Hidetoshi Shimokawa
864d7e72b8
- Detect split transcation timeout.
...
* implement watchdog timer.
* check all standing transactions in firewire_xfer_timeout().
- Add firewire_xferq_drain() for fw_busreset().
- Add/improve some debug messages.
- Call fw_xfer_done() if retry handler is NULL.
2003-02-09 07:16:01 +00:00
Hidetoshi Shimokawa
6f99c2ff52
Remove debug message.
2003-02-07 09:46:30 +00:00
Hidetoshi Shimokawa
d3539e9792
Fix memory leak.
2003-02-06 17:23:01 +00:00
Hidetoshi Shimokawa
5db3899d2e
Fix for fwmem write part.
...
- fix typo
- don't need to check receive buffer.
- don't forget to free xfer on errer.
2003-02-05 17:19:34 +00:00
Hidetoshi Shimokawa
8a45d99b2a
- Implement write part.
...
- Use quad access for aligned 4 byte access.
2003-02-04 17:09:59 +00:00
Hidetoshi Shimokawa
a487c0f261
- Improve recovery after timeout.
...
* reset agent first then reset target.
* untimeout all ccbs.
- Try reconnect first if the device has been seen.
- Fix for ORB_FUN_ATA.
2003-02-04 17:08:45 +00:00
Hidetoshi Shimokawa
beb19fc5dd
Remove unnecessary M_NOWAIT.
2003-02-03 09:41:42 +00:00
Hidetoshi Shimokawa
62dae95462
Add missing 'static'.
2003-02-03 08:10:50 +00:00
Hidetoshi Shimokawa
48249fe0c8
- Take malloc type as an argument in fw_xfer_alloc().
...
- Fix overwrite problem of freed buffers. It was rare but could happen
when fwohci_arcv() is called before fwohci_txd() is called for
the transcation.
- Drain AT queues and pend AR queues on SID receive rather than BUS reset to
make sure DMA actually stops.
- Do agent reset in sbp_timeout().
2003-02-03 07:33:31 +00:00
Hidetoshi Shimokawa
5166f1df39
Define new malloc type M_FW and use it.
2003-02-01 15:04:33 +00:00
Hidetoshi Shimokawa
0981f5f00e
- replace timeout with callout_*.
...
- replace TAILQ with STAILQ for device list.
- some clean up.
2003-02-01 14:42:49 +00:00
Hidetoshi Shimokawa
3c62126d84
Check status FIFO more closely to report error.
2003-02-01 12:06:57 +00:00
Hidetoshi Shimokawa
0db3d1635c
Add basic support for device wiring down to specific (CAM)
...
target id. It still needs to be hard-coded now but will
be changed to be configured by tunables or device hints.
2003-02-01 08:55:33 +00:00
Hidetoshi Shimokawa
4230e8de2f
Sort device list by eui64 in acendent order correctly.
2003-02-01 06:34:36 +00:00
Hidetoshi Shimokawa
ba3129cb87
function name change.
2003-01-31 14:14:45 +00:00
Hidetoshi Shimokawa
64cf5240a9
SBP related changes.
...
- Issue LOGOUT command on detach and shutdown.
- Rename some functions.
2003-01-31 14:11:22 +00:00
Hidetoshi Shimokawa
9bb3ca0305
SBP related changes.
...
- Set dual phase retry BUSY_TIMEOUT.
- Let users to know serial bus error.
2003-01-31 03:09:13 +00:00
Hidetoshi Shimokawa
958c774916
Restart cycle master after bus manager election.
...
This should fix the IR(and maybe IT) problem when
the host becames the bus manager.
- rename fw_noderesolve() to fw_noderesolve_eui64() and add
fw_noderesolve_nodeid().
2003-01-30 05:18:35 +00:00
Hidetoshi Shimokawa
449e559cdb
- Handle SCSI_STATUS_BUSY case.
2003-01-30 05:12:56 +00:00
Hidetoshi Shimokawa
7054e8482e
- Probe number of IT/IR DMA contexts as specified in OHCI spec.
2003-01-29 15:32:35 +00:00
Hidetoshi Shimokawa
878db8920f
- Fix build on alpha.
...
- Add a missing newline in printf.
2003-01-29 02:13:31 +00:00
Hidetoshi Shimokawa
c3e9e25542
- Allow multiple packets read/write for IR/IT to reduce system call.
...
- Remove unused variables.
2003-01-28 15:09:07 +00:00
Hidetoshi Shimokawa
53f1eb8620
- Split db.desc.cmd into desc.control and desc.reqcount.
...
- remove unncessary descriptor updates.
2003-01-26 18:38:06 +00:00
Hidetoshi Shimokawa
5a7ba74dc4
- Improve IT/IR DMA queue management.
...
- Improve debug message for mbuf handling.
- Wait 1 sec for DMA stop in fwohci_i{t,r}x_disable() before freeing buffers.
2003-01-26 15:39:04 +00:00
Hidetoshi Shimokawa
c547b896f5
Change API of FW_GDEVLST ioctl.
...
- include information about itself.
- define struct fw_devinfo and use it in struct fw_devlstreq.
- unify EUI64 representation using struct fw_eui64.
2003-01-25 14:47:33 +00:00
Hidetoshi Shimokawa
9190691bd0
Remove FW_SSTDV ioctl. It is not used anymore.
2003-01-24 13:03:19 +00:00
Hidetoshi Shimokawa
e715bfae6c
Merge little and big endian case.
2003-01-24 12:45:19 +00:00
Hidetoshi Shimokawa
16e0f48443
- Add sysctl knob for bus manager. (hw.firewire.try_bmr)
...
- Check invalid SID length.
- Add some debug messages.
2003-01-23 13:34:40 +00:00
Hidetoshi Shimokawa
93001c7214
Define misc structs outside of struct firewire_comm.
2003-01-21 16:37:01 +00:00
Hidetoshi Shimokawa
b9b35d1965
Ignore events of unused IR DMA.
2003-01-21 16:24:35 +00:00
Alfred Perlstein
44956c9863
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
...
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
Hidetoshi Shimokawa
ae8c82bbe9
Replace M_DONTWAIT with M_NOWAIT for malloc().
...
Pointed out by: nate@root.org
2003-01-17 15:15:21 +00:00
Hidetoshi Shimokawa
0ef6095d41
Improve some debug massages.
2003-01-17 15:03:57 +00:00
Hidetoshi Shimokawa
6340b71e5f
Fix bus manager election process.
...
- Lock response 0x3f means that the host becomes the bus manager.
- Add missing htonl().
2003-01-17 15:03:25 +00:00
Hidetoshi Shimokawa
7643dc189d
Detect underrun of IT queue for debugging.
...
Add some comments.
2003-01-17 03:52:48 +00:00
Hidetoshi Shimokawa
e2ad5d6e8c
Improve memory allocation.
...
- Don't use contigmalloc() and allocate page by page to avoid
allocation failure.
- allocate buffer by PAGE_SIZE.
2003-01-16 13:09:33 +00:00
Hidetoshi Shimokawa
97ae6c1f15
Use cycleMatch for precise IT DMA start timing.
2003-01-16 07:01:54 +00:00
Hidetoshi Shimokawa
744bdf5752
DV_PAL shouldn't be here.
2003-01-15 05:28:50 +00:00
Hidetoshi Shimokawa
6d6f7f2891
Add DV_PAL for PAL users.
2003-01-15 05:26:23 +00:00
Hidetoshi Shimokawa
4ed65ce9e1
Fix IT DMA underun while bus reset.
...
- Reduce number of DELAY's
2003-01-15 04:21:16 +00:00
Hidetoshi Shimokawa
5dda08514e
Fix for FreeBSD-4.
...
- Protect whole fw_tbuf_update() with splfw().
2003-01-14 08:35:45 +00:00