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
Hidetoshi Shimokawa
0aaa9a23cd
Minimal fix for DV part.
...
- Don't panic on contigmalloc failure.
- Calculate timestamp by feedforward rather than feedback which depends on
unreliable interrupt timing.
- Overwrite timestamp in CIP header correctly.
- Add debug code for timestamp synchronization.
- Add comments.
2003-01-13 16:08:09 +00:00
Hidetoshi Shimokawa
d0035474c3
Merge big endian and little endian case.
...
Fill fdf bit fields and others.
2003-01-13 15:08:48 +00:00
Hidetoshi Shimokawa
435dd29b27
- Add error messages for bulkxfer.
...
- Reduce register access.
2003-01-09 10:25:07 +00:00
Hidetoshi Shimokawa
9a7d0adfaa
- Fix print format for FreeBSD-4
...
- Reduce debug message.
2003-01-07 12:58:08 +00:00
Hidetoshi Shimokawa
64666ed6e7
Don't call fw_bus_probe() twice when successive self-id packets received.
...
This change should stabilize SBP-II device probing.
2003-01-07 04:26:45 +00:00