Commit Graph

184 Commits

Author SHA1 Message Date
mycroft 1fd9249360 Attempt to fix sbp2_free() so that it doesn't core dump. As noted in PR 21099,
but fixed differently.
2004-06-29 11:10:29 +00:00
christos a0d397a023 return an error on invalid mode. 2004-05-13 17:34:48 +00:00
lukem 388ed266e4 rework messages so that 'fw0: maximum receive packet (2) is too small' error
doesn't appear corrupted.
2004-04-30 01:31:43 +00:00
enami 6c4e6273df xs->timeout is in milliseconds so convert it to tick before passing
it to callout_reset().
2004-02-13 21:22:13 +00:00
keihan b8702f530b netbsd.org -> NetBSD.org
This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean".  Thanks for the patiance, and sorry for all the commits.
2003-12-04 13:57:30 +00:00
fvdl 5602142448 Fix unitialized var warning, add a comment to indicate that it's use
is suspect.
2003-10-26 21:03:34 +00:00
christos 5220c0436c Fix unitialized variable warnings. 2003-10-26 19:10:42 +00:00
mjl 088da88a56 Typos in comments. From OpenBSD. 2003-10-22 09:02:49 +00:00
enami e7533e9811 Don't limit xfer size to SBP2_MAXPHYS. Its not transfer size limit
but just a threshold how to describe transfer.
2003-10-18 12:47:28 +00:00
mrg 9abaf7289a sprinkle some LL suffixes on >32 bit number literals 2003-08-04 07:00:19 +00:00
lukem 365cbd9428 add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
itojun 7f6ed16ef4 function prototype must not have variable name 2003-07-08 10:06:28 +00:00
drochner 9897b6dfac maintain statistics counters 2003-07-03 11:36:18 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
haya 5ae8bbc4cc Bugfix: fwohci_ir_read(): loop continues when the buffer size not only
greater than but also same as packet size.  This bug is pointed out by
FUKAUMI Naoki.
2003-05-26 16:10:36 +00:00
wiz 1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
christos d77be05384 PR/20982: Eric Fair: fix debugging printf format errors. 2003-04-02 21:53:15 +00:00
jmc 4829a1952a Redo last fix to work correctly. Need to run abort on each orb (though it
doesn't much now it will eventually) and then so a proper sbp2_free_orb.
2003-03-07 20:18:57 +00:00
drochner c0e23f3152 -Fix ORB queue corruption / use of free()d memory
caused by bad interaction of sbp2_free() and sbp2_abort().
 sbp2_abort() requires that its argument ORB is on the
 "active" list, and it puts it onto the freelist - sometimes.
 So we had 2 causes of corruption:
 -removing the ORB from a list which it isn't on
 -free()ing recycleable items on the ORB freelist
-minor cosmetics
2003-03-07 16:29:33 +00:00
enami fa6061e7a4 Make this file compiles when FW_DEBUG is defined but SBP2_DEBUG isn't defined. 2003-02-28 23:31:41 +00:00
thorpej e354490475 Use aprint_*(). 2003-01-31 02:15:57 +00:00
thorpej a5fa1cfd6a Use PRIx64 to get the correct format for 64-bit hex numbers. Don't
need \n at the end of a panic().
2003-01-09 19:16:30 +00:00
wiz c6f1277bfa synchronous, not syncronous. 2003-01-06 13:10:25 +00:00
jmc 216f0f8cde Add some missing splx()'s noted by Krister Walfridsson 2003-01-05 08:11:33 +00:00
jmc da000bb65b Remove arbitrary bufcnt limit in at_output. 2003-01-05 08:03:45 +00:00
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
jmc 549904564e Implementation of page table support for 64k or greater transfers. This should
also handle uio structs passed in as well. All standard filesystem actions
are working at this stage (can copy, execute, mount, umount, fsck, etc).
2002-12-28 10:54:47 +00:00
jmc ae8cc0726d Move SBP data area's below the 4G mark as some broken devices seem to clip data
address's to 32 bits.
XXX - Need to move the if_fw fifo addr as well but this needs some testing
2002-12-28 10:52:41 +00:00
jmc 8630685f69 Add support for page tables 2002-12-19 09:59:47 +00:00
jmc ef48ba7693 Add a minphys routine since the single largest packet is less than minphys() 2002-12-19 09:58:24 +00:00
jmc 31f02beb7c Add defines for supporting page tables 2002-12-19 09:56:10 +00:00
jmc 9980e6b848 Updates 2002-12-19 07:22:40 +00:00
jmc 092fe54e3d Add additional debugging for fwohci_arrq_input: no listener conditions 2002-12-19 02:15:31 +00:00
jmc 62da7b9c60 Add SBP2_MAXPHYS 2002-12-18 06:08:21 +00:00
jmc fe19747374 Redo state handling as ack's, status, etc can come in and be processed in
various orders depending how the upper level driver is flushing it's queue's.
This prevents the deadlocks I was seeing before with >8k writes.

XXX: Still not completely there as > 64k copies trigger bugs and the page
table support still needs to be written to break those down.
2002-12-18 04:48:33 +00:00
jmc e627b7fefc Improve performance with disks almost 60x by redoing the callback handler to
accept ranges as well as single addresses. Still need to go through any key
areas and remove the malloc's and replace these with some sort of pooling
instead.
2002-12-13 07:47:52 +00:00
jmc 0215635717 Checkpoint commit:
1. Reduce debugging level to sane levels
2. Fix bugs in alloc_data_map related to allocing whole bytes of bitmap at
a time.

At this point the driver is functional. It talks to a local drive here and
can label/newfs. Performance is...lacking at the moment as its chewing cpu
heavily (probably due to the number of memcpy's) and will be the next area
attacked.
2002-12-09 23:42:53 +00:00
jmc 151668ce8d Drop default debugging level to something a bit more sane 2002-12-09 23:39:18 +00:00
jmc 33736c059a Ooops...Make sure for status to set error and resid before calling the
completion routines. Makes reads actually return data to userland now which
means I can now put a disklabel on the drive.
2002-12-09 22:28:21 +00:00
jmc 4d74b607a2 Restructure how the at_output dma map gets setup. Ask for a dma map that can
support up to the max ohci descriptor segments. Then attempt to fill it in
via a load. Use the number of segments filled in as the basis for figuring
out how many descriptors to supply to the ohci DMA engine.

XXX: Still needs to account for requests which because of splits may overflow
the 6 dma descriptors available today. For now this fixes cases where a
single 512 byte write was getting split into 2 dma segments from 1 incoming
iov request
2002-12-09 09:09:54 +00:00
jmc 2a3e786250 Fix fwohci_write's sanity check against large packets. Max rec is only used
when writing directly to the device (ala IEEE1394_TCODE_WRITE_REQ_BLOCK).
Otherwise the largest size is determined strictly by speed
2002-12-09 07:26:02 +00:00
jmc 11b3f4e7d1 Provide a macro for turning a speed number into a max rec value 2002-12-09 07:24:57 +00:00
jmc 3d5ded55c7 Write sbp2_free_data_mapping and fix a bug where read responses weren't sending
back the right tlabel
2002-12-09 07:23:43 +00:00
jmc 1f133763ba Don't need sbp2_datamapping. Each one is tracked via the associated orb 2002-12-09 07:23:24 +00:00
jmc 9bea8ca9b7 Fix logic screwup in determining which bits to set in alloc'ing data maps 2002-12-08 05:59:05 +00:00
jmc 5a69251dd8 Account for corner cases better in alloc_data_mapping and only ask for a 16s
reconnect time instead of 2^16s
2002-12-06 02:19:34 +00:00
jmc 9e81590397 Fill in sc1394_node_id after a self id cycle 2002-12-06 02:17:30 +00:00
jmc 9a4d03f9b2 Add a def for a smaller reconnect time that will be used by default 2002-12-06 02:14:59 +00:00
agc ecc0017939 Cast appropriately so that this compiles on sparc, sparc64, macppc etc. 2002-12-05 12:22:37 +00:00