Commit Graph

90 Commits

Author SHA1 Message Date
jmc 46ebed2ee8 Initial checkin for fwnode support 2001-05-01 04:19:20 +00:00
jmc b2230effa3 Doesn't need fwohci include's. Change struct device to ieee1394_softc. 2001-05-01 04:18:29 +00:00
jmc 1a5e77115a Place holder until real fwscsi code is fleshed out. 2001-04-30 09:06:27 +00:00
jmc dfc69462fd First pass at the overall TODO list. Some of these may come off before I get the full code checked in even 2001-04-30 09:05:40 +00:00
jmc 98182717b8 Rework implementation notes/ideas with a more fleshed out example. 2001-04-30 09:02:38 +00:00
jmc a2d52d0ed4 Add #define for 1394 ROM signature 2001-04-29 08:37:04 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
enami fe99796a13 Make fwohci works on big endian cpu (e.g., powermac g4). 2001-03-15 23:01:33 +00:00
enami bb839b38fa - Wrap long line.
- Consistently use #define<TAB> instead of #define<SPACE>.
2001-03-15 22:26:03 +00:00
onoe 9b1d7974ba make compilable again without FW_DEBUG. 2001-03-14 06:46:17 +00:00
onoe e880c0b80b Fix to validate selfid buffer according to the OHCI spec.
1. read 'gen' from first quadlet of the buffer.
	2. raed selfid packets in the buffer.
	3. confirm 'gen' field of the SELFID register matches 1.
2001-03-12 23:39:35 +00:00
onoe 4536167cac Reinitialize context match register at fwohci_hw_init()
to receive asynchronous stream data after suspend/resume.
2001-03-12 23:36:09 +00:00
onoe 2cff6cf490 use OHCI_BITVAL(val, name), instead of
((val) & (name##_MASK)) >> name##_BITPOS
2001-03-12 23:27:53 +00:00
onoe 1c4a0d3428 change fw_verbose inside #ifdef FW_DEBUG
0) no verbose messages.
	1) print non-fatal errors, nodeid, unique ID for other nodes.
	2) extra printfs.
2001-03-12 23:22:37 +00:00
onoe 4cbaa2a213 show 16 byte ifaddr instead of EUI-64 at attach. 2001-03-03 02:21:26 +00:00
onoe 9ad90c81ef Do not require GUID ROM, which is optional according to the OHCI spec.
Use Global UID register as is, it should be initialized by firmware.
If it is not initialized (i.e. 0), try to read GUID ROM if exists.
On my VAIO PCG-N505AS, the version register says it implement GUID ROM,
but reading GUID ROM returns all zero bytes.  I'm not sure where the bug is.
2001-03-03 02:04:54 +00:00
onoe f48ed8355a fix length calculation not to overrun in receiving packets around MHLEN. 2001-03-03 00:52:58 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
thorpej 64778c5e5c XXX ALTQ (not done in 1394 layer yet). 2000-12-14 07:03:50 +00:00
enami b31ace33b7 Add RCS Id. 2000-12-13 11:30:14 +00:00
thorpej c5293456da Adapt to bpfattach() changes, and further centralize the bpfattach()
and bpfdetach() calls into link-type subroutines where possible.
2000-12-12 18:00:22 +00:00
enami 99a39489d8 Pass the right size of object (in this case, a trailer) to fwohci_buf_pktget.
Since the fp_trail is a pointer to trailer, we have to pass sizeof(*fp_trail)
instead of sizeof(fp_trail).
2000-11-30 06:59:08 +00:00
enami a89beb967d Make this file compiles on alpha even if FW_DEBUG is defined. 2000-11-30 06:42:26 +00:00
enami 4792308b32 Pass the right max segment size to bus_dmamap_create. 2000-11-30 06:36:43 +00:00
takemura 3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
onoe 2819c7b688 Use DMA from mbuf instead of copy in transmit.
Still use memcpy in receiving because we must use buffer fill mode
	and many packets may share single receive buffer.

XXX: Workaround(?) for CXD3222: it fails to DMA for selfid packet according
to code placement. I'm not sure about the reason (cache? timing? bug?).

Fixed the bug: transmitter sometimes stop and OACTIVE bit of if_fw
never be cleared.
Fixed the bug: freeing free buffer.

Enable ieee1394_drain and ieee1394_watchdog for loss of fragment.
2000-11-20 12:12:18 +00:00
matt 617742b256 Add a fwlynx device. Move the file for fwohci to files.ieee1394 2000-11-14 23:37:20 +00:00
onoe f1c77e81db Add support for link fragmentation and reassemble for IEEE-1394.
XXX: drain is still not yet implemented, thus memory leak will occur
    in case of any of fragment lost.
2000-11-14 11:14:55 +00:00
enami da071ce468 Remove lonely splx in fw_detach. 2000-11-10 03:45:09 +00:00
onoe 5b19fc8512 Add powerhook and shutdownhook to support Notebook.
Use PAGE_SIZE instead of OHCI_PAGE_SIZE for each DMA mem.
	OHCI_PAGE_SIZE(2kB) will be round up PAGE_SIZE, anyway.
	XXX: need more sophisticated way to manage buffer.
Clear IntEvent first not to lose SelfIDCompleted in multiple bus reset.
Be careful not to clear BusReset int event in SelfID duration to follow
the OHCI spec.
Initiate BusReset if selfid is not completed within 3sec after busreset.
2000-11-08 06:00:18 +00:00
onoe 5d7a16ff8c make it compilable with FW_DEBUG 2000-11-05 23:04:00 +00:00
matt f0bd09f42d Merge in my some of my stuff. 2000-11-05 22:35:56 +00:00
jdolecek 0f1770e08d make compilable without FW_DEBUG 2000-11-05 19:43:32 +00:00
onoe e83458422f First Prototype implementation of network interface part for IEEE1394 (if_fw).
Current status:
	Only OHCI chip is supported (fwohci).
	ping (IPv4) works with Sony's implementation (SmartConnect) on Win98.
	sometimes works but not stable.
Not implemented yet:
	IRM (Isochronous Resource Manager) functionality.
	Link layer fragmentation.
	Topology map.
More to do:
	clean ups
	MCAP
	charactor device part
	dhcp

There is no entry in GENERIC config file yet.
Follow sys/dev/ieee1394/IMPLEMENTATION to enable if_fw.
2000-11-05 17:17:12 +00:00
matt 28b0517c9c random thoughts on how i'm implementing this. 2000-05-31 03:42:34 +00:00
matt ede7ab9361 Install ieee1394reg.h since user application (someday) will need it. 2000-05-30 22:52:02 +00:00
matt e621957503 add more speeds (up to 3.2Gb/s) 2000-05-30 14:56:59 +00:00
augustss b85fe33276 Make this file compile. (I know it's just a placeholder, but I couldn't
resist trying it.)
2000-05-30 08:31:57 +00:00
matt e78793c612 Beginning of a IEEE 1394 framework. An attachment for PCI OHCI controllers
and bus-independent module that just begins to print things out.  No real
code behind it.  THIS IS A WORK IN PROGRESS.  The *reg.h are woefully
incomplete.
2000-05-30 06:56:13 +00:00