imp
cf874b345d
Back out M_* changes, per decision of the TRB.
...
Approved by: trb
2003-02-19 05:47:46 +00:00
simokawa
ccc0127ea3
Fix fwdev memory leak on detaching.
2003-02-18 10:56:00 +00:00
simokawa
9f3122a719
Use pci_get_devid().
2003-02-18 10:01:44 +00:00
simokawa
c8473ad138
Add 'uPD72871/2 IEEE1394 1-Chip OHCI Host Controller'.
2003-02-18 09:46:52 +00:00
simokawa
3b267173bf
* firewire.c
...
- Fix memory leak in detaching.
- Initialize fc->status to other than FWBUSREST.
* fwohci.c
- Ignore BUS reset events while BUS reset phase. We can't clear that flag
during bus reset phase.
2003-02-18 09:39:48 +00:00
simokawa
4461b7347a
* 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
simokawa
12452d3510
Protect calling fwohci_intr() with splfw() for 4-stable.
2003-02-15 01:25:39 +00:00
simokawa
40dca7e24f
- 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
simokawa
698ee2e678
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
simokawa
ee568cc79e
- 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
simokawa
cad5969811
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
simokawa
d40dbd1c8c
Increase atrq.ndesc for if_fwe.
2003-02-09 17:11:55 +00:00
simokawa
51e766f699
Add new ioctl to specify target EUI64 for fwmem.
2003-02-09 10:14:22 +00:00
simokawa
36ad849baa
Remove unnecessary check for OCB_ACT_CMD.
2003-02-09 07:40:27 +00:00
simokawa
edadda996a
- 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
simokawa
fc5f5fef96
Remove debug message.
2003-02-07 09:46:30 +00:00
simokawa
65fd97f7e7
Fix memory leak.
2003-02-06 17:23:01 +00:00
simokawa
a2b80d2be8
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
simokawa
ef78581d72
- Implement write part.
...
- Use quad access for aligned 4 byte access.
2003-02-04 17:09:59 +00:00
simokawa
485435e319
- 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
simokawa
57fd1b57b9
Remove unnecessary M_NOWAIT.
2003-02-03 09:41:42 +00:00
simokawa
d15a58ad27
Add missing 'static'.
2003-02-03 08:10:50 +00:00
simokawa
afb9eb67e2
- 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
simokawa
1071276d73
Define new malloc type M_FW and use it.
2003-02-01 15:04:33 +00:00
simokawa
5790015ee5
- replace timeout with callout_*.
...
- replace TAILQ with STAILQ for device list.
- some clean up.
2003-02-01 14:42:49 +00:00
simokawa
1c5753d03f
Check status FIFO more closely to report error.
2003-02-01 12:06:57 +00:00
simokawa
095827745e
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
simokawa
551f94c8c8
Sort device list by eui64 in acendent order correctly.
2003-02-01 06:34:36 +00:00
simokawa
bfede02c1b
function name change.
2003-01-31 14:14:45 +00:00
simokawa
30013fce11
SBP related changes.
...
- Issue LOGOUT command on detach and shutdown.
- Rename some functions.
2003-01-31 14:11:22 +00:00
simokawa
2088790fbc
SBP related changes.
...
- Set dual phase retry BUSY_TIMEOUT.
- Let users to know serial bus error.
2003-01-31 03:09:13 +00:00
simokawa
af62f90cdb
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
simokawa
90073e85da
- Handle SCSI_STATUS_BUSY case.
2003-01-30 05:12:56 +00:00
simokawa
7a73a2b78e
- Probe number of IT/IR DMA contexts as specified in OHCI spec.
2003-01-29 15:32:35 +00:00
simokawa
0a3c80b382
- Fix build on alpha.
...
- Add a missing newline in printf.
2003-01-29 02:13:31 +00:00
simokawa
e62202f284
- Allow multiple packets read/write for IR/IT to reduce system call.
...
- Remove unused variables.
2003-01-28 15:09:07 +00:00
simokawa
d3dc53e828
- Split db.desc.cmd into desc.control and desc.reqcount.
...
- remove unncessary descriptor updates.
2003-01-26 18:38:06 +00:00
simokawa
376bd949e0
- 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
simokawa
ea028a97ec
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
simokawa
0a0fee3fac
Remove FW_SSTDV ioctl. It is not used anymore.
2003-01-24 13:03:19 +00:00
simokawa
14df48f995
Merge little and big endian case.
2003-01-24 12:45:19 +00:00
simokawa
b4946c8e83
- 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
simokawa
8f2916a747
Define misc structs outside of struct firewire_comm.
2003-01-21 16:37:01 +00:00
simokawa
a43a378645
Ignore events of unused IR DMA.
2003-01-21 16:24:35 +00:00
alfred
bf8e8a6e8f
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
simokawa
5dc188b5c1
Replace M_DONTWAIT with M_NOWAIT for malloc().
...
Pointed out by: nate@root.org
2003-01-17 15:15:21 +00:00
simokawa
48e65aa188
Improve some debug massages.
2003-01-17 15:03:57 +00:00
simokawa
ccf87bc3ad
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
simokawa
a03e3d2538
Detect underrun of IT queue for debugging.
...
Add some comments.
2003-01-17 03:52:48 +00:00
simokawa
873e3b0a11
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