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
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
Hidetoshi Shimokawa
17faeefca6
Use device_printf() and s/fc->dev/fc->bdev/.
2003-01-06 08:07:20 +00:00
Hidetoshi Shimokawa
9bfd777adb
Fix fc->dev to fc->bdev.
2003-01-06 05:57:48 +00:00
Hidetoshi Shimokawa
a423957600
Reduce diff to RELENG_4.
2003-01-05 14:58:45 +00:00
Hidetoshi Shimokawa
bda19384a1
Syntax fix in fwohci_pci_suspend().
2003-01-05 09:12:47 +00:00
Hidetoshi Shimokawa
94b6f028fd
- Change definition of fc->maxrec same as fwdev->maxrec.
...
- 'spec' and 'ver' are attributes of a unit rather than a node.
- Report Phy and Link info separatelly.
- Reorder intialization step in fwohci_reset().
2003-01-05 06:21:30 +00:00
Hidetoshi Shimokawa
bce5729a9d
- Remove speed_map API because speed_map is obsoleted by 1394a.
...
- Add definition of OHCI_HCC_BIBIV in fwohcireg.h.
2003-01-04 16:03:50 +00:00
Hidetoshi Shimokawa
7ddbf617b1
- Handle zero sized directory right way.
...
- Staticize.
2003-01-04 10:32:31 +00:00
Hidetoshi Shimokawa
d6105b602c
- Replace printf() with device_printf().
...
- Separate fc->dev (i.e. fwohci0) and fc->bdev (i.e. firewire0).
- Remove unused firewirebusreg.h.
- Reduce size of descriptor block for asynchronous transmit and
check the number of descriptor when copying from mbuf.
- Skip mbuf whose length is zero. NFS seems passing such mbuf and
some chips generates unrecoverable error.
2003-01-04 10:21:11 +00:00
Hidetoshi Shimokawa
9339321d89
- Propagate suspend/resume to child devices.
...
- Restore pci config registers after resume.
- Reinitialize and start rx buffers after resume.
- Don't reallocate memory in fwohci_db_init() if the dbch is
already initialized.
- Fix typo.
- Some clean up.
2003-01-04 06:40:57 +00:00
Hidetoshi Shimokawa
d0fd7bc6b5
Experimental support for suspend/resume, not finished yet.
2003-01-01 08:25:32 +00:00
Hidetoshi Shimokawa
6faac3ac96
Reduce debug message.
2003-01-01 08:22:29 +00:00
Hidetoshi Shimokawa
1f2361f8f8
- Retry phy access when the wait-loop count is exhausted.
...
- Free allocated memory when detaching.
- Detect contigmalloc failure.
2003-01-01 04:23:54 +00:00
Hidetoshi Shimokawa
7895313547
Fix and add several device IDs.
2002-12-31 13:43:44 +00:00
Hidetoshi Shimokawa
b018dcd1b8
- Implement primal Configuration ROM parser.
...
- Support multiple LUNs for SBP-II.
2002-12-31 10:28:49 +00:00
Hidetoshi Shimokawa
e4b13179f6
Improve error checking of phy access and retry when error occurs.
2002-12-31 10:00:36 +00:00
Hidetoshi Shimokawa
e238f68de5
- Add more CSR related definitions (IEEE-1212).
...
- Fix struct csrtext's spec fields.
- Add prototypes of upcoming configuration ROM related functions.
2002-12-30 09:41:32 +00:00
Hidetoshi Shimokawa
ee126d67f7
Cosmetic change. s/Firewire/FireWire/.
2002-12-26 06:50:09 +00:00
Hidetoshi Shimokawa
f3abec2274
Replace ntohl() with ntohs() because orb_hi is u_int16_t.
2002-12-26 06:41:37 +00:00
Hidetoshi Shimokawa
ac9f66922b
firewire.c
...
- Fix permission of device node.
fwochi.c, fwohcireg.h
- Detect phy access failure correct way.
- Set root hold-off bit before initiating bus reset.
This should fix the problem with VIA6306.
fwohcivar.h
- Fix over-allocation of array. (fwohcivar.h)
sbp.c
- Return CAM_DEV_NOT_THERE rather than CAM_TID_INVALID to prevent retry.
2002-12-26 03:17:59 +00:00
Hidetoshi Shimokawa
17c3d42c9e
Reduce and improve debug messages.
...
Approved by: re
2002-12-06 02:17:30 +00:00
Sam Leffler
673d91916d
network interface driver changes:
...
o don't strip the Ethernet header from inbound packets; pass packets
up the stack intact (required significant changes to some drivers)
o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN)
o track ether_ifattach/ether_ifdetach API changes
o track bpf changes (use BPF_TAP and BPF_MTAP)
o track vlan changes (ifnet capabilities, revised processing scheme, etc.)
o use if_input to pass packets "up"
o call ether_ioctl for default handling of ioctls
Reviewed by: many
Approved by: re
2002-11-14 23:54:55 +00:00
Hidetoshi Shimokawa
d6ec58858c
- Add fwmem_xfer_req() and use this in other functions.
2002-11-12 17:19:21 +00:00
Hidetoshi Shimokawa
8687c4fbcd
- Remove unused code.
...
- Fix style.
2002-11-12 17:16:20 +00:00
Hidetoshi Shimokawa
c57d646f99
fix wording.
2002-11-12 17:11:32 +00:00
Hidetoshi Shimokawa
17821895ee
Split userland services to fwdev.c.
2002-11-12 15:22:19 +00:00
Hidetoshi Shimokawa
f90ce7b125
Use struct fw_device in fwmem.c
...
- specify fwmem target by EUI64.
- fw_noderesolve returns struct fw_device rather than dst.
- include struct firewire_comm in struct fw_device.
2002-11-12 13:49:17 +00:00
Hidetoshi Shimokawa
5e2a411f2d
Add a prototype for suspend/resume.
2002-11-12 13:46:09 +00:00
Hidetoshi Shimokawa
98e6731b51
Change interface of fwmem_read_*() functions to be usable from other part
...
of the module.
2002-11-12 11:15:01 +00:00
Hidetoshi Shimokawa
c3b0952272
Change interface of fwmem_read_*() functions to be usable from other part
...
of the module.
2002-11-12 11:08:50 +00:00
Hidetoshi Shimokawa
8da326fd37
- clean up
2002-11-12 10:02:50 +00:00
Hidetoshi Shimokawa
c572b81055
- Remove unused code.
...
- Style fixes.
2002-11-12 05:52:01 +00:00
Hidetoshi Shimokawa
783058fa0d
Restrict process count in fwohci_arcv() and fwohci_ircv().
2002-11-12 04:54:30 +00:00
Hidetoshi Shimokawa
70ce30b573
- Fix printf warnings on 64bit plathome.
...
- Disable fw_vmaccess() because it's not used and unuseful 64bit plathome.
2002-11-07 02:13:40 +00:00
Hidetoshi Shimokawa
1d3e59b1d3
Minor clean up on cdb handling.
2002-11-06 15:34:52 +00:00
Hidetoshi Shimokawa
aeeb228712
- Let the PCI code try to route interrupt in -current
...
- Print warning in -stable.
2002-11-06 04:07:05 +00:00
Hidetoshi Shimokawa
851c3ad031
Sony CXD3222 OHCI i.LINK chips needs more DELAY before starting SCLK
...
when no devices are connected.
2002-11-05 02:42:28 +00:00
Hidetoshi Shimokawa
06a93bac4f
- Dequeue OCBs more safely in sbp_abort_all_ocbs().
2002-10-23 13:04:02 +00:00
Hidetoshi Shimokawa
8e484a62c8
- Abort all OCBs for timeout.
...
- Improve warning message.
2002-10-21 15:36:59 +00:00
Hidetoshi Shimokawa
481df042ff
fix prototype of asyreqq().
2002-10-21 10:21:49 +00:00
Hidetoshi Shimokawa
41d45c5235
These (userland) files shouldn't be here.
2002-10-21 10:14:26 +00:00
John Baldwin
83a20b6e3e
This file doesn't need opt_bus.h.
2002-10-14 19:11:19 +00:00
Hidetoshi Shimokawa
ba68cdd304
don't include bus_dma.h which doesn't need.
2002-09-21 15:05:22 +00:00
Hidetoshi Shimokawa
b24db4ddd9
remove unused code.
2002-09-21 14:48:07 +00:00
Katsushi Kobayashi
a9c9b6989c
Firewire device support for Apple eMac with PPC kernel.
...
Contributed by Peter Grehan <grehan@freebsd.org>
2002-09-17 12:50:43 +00:00
Katsushi Kobayashi
3c60ba66c4
Initial import for IEEE1394 OHCI chipdet device driver and SBP-2 (Serial
...
Bus Protocol 2:SCSI over IEEE1394) support for CAM.
2002-09-13 12:31:56 +00:00