summaryrefslogtreecommitdiffstats
path: root/sys/dev/firewire/fwmem.h
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2003-10-02 04:06:56 +0000
committersimokawa <simokawa@FreeBSD.org>2003-10-02 04:06:56 +0000
commitdb5d831317931b7bb1d2ea7b34c895d5de9e931e (patch)
tree7f27d60f89b5c06e7ea329138d86ab46f08532d4 /sys/dev/firewire/fwmem.h
parent1c522512fd8b855dc3d6dbd26fed59bda6e9f0e4 (diff)
downloadFreeBSD-src-db5d831317931b7bb1d2ea7b34c895d5de9e931e.zip
FreeBSD-src-db5d831317931b7bb1d2ea7b34c895d5de9e931e.tar.gz
MFp4: Change struct fw_xfer to reduce memory copy in fwmem_*() functions.
And many changes. * all - Major change of struct fw_xfer. o {send,recv}.buf is splitted into hdr and payload. o Remove unnecessary fields. o spd is moved under send and recv. - Remove unnecessary 'volatile' keyword. - Add definition of rtcode and extcode. * firewire.c - Ignore FWDEVINVAL devices in fw_noderesolve_nodeid(). - Check the existance of the bind before call STAILQ_REMOVE(). - Fix bug in the fw_bindadd(). - Change element of struct fw_bind for simplicity. - Check rtcode of response packet. - Reduce split transaction timeout to 200 msec. (100msec is the default value in the spec.) - Set watchdog timer cycle to 10 Hz. - Set xfer->tv just before calling fw_get_tlabel(). * fwohci.c - Simplifies fwohci_get_plen(). * sbp.c - Fix byte order of multibyte scsi_status informations. - Split sbp.c and sbp.h. - Unit number is not necessary for FIFO¤ address. - Reduce LOGIN_DELAY and SCAN_DELAY to 1 sec. - Add some constants defineded in SBP-2 spec. * fwmem.c - Introduce fwmem_strategy() and reduce memory copy.
Diffstat (limited to 'sys/dev/firewire/fwmem.h')
-rw-r--r--sys/dev/firewire/fwmem.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/firewire/fwmem.h b/sys/dev/firewire/fwmem.h
index 0567f81..f9442bb 100644
--- a/sys/dev/firewire/fwmem.h
+++ b/sys/dev/firewire/fwmem.h
@@ -35,13 +35,13 @@
*/
struct fw_xfer *fwmem_read_quad(struct fw_device *, caddr_t, u_int8_t,
- u_int16_t, u_int32_t, void (*)(struct fw_xfer *));
+ u_int16_t, u_int32_t, void *, void (*)(struct fw_xfer *));
struct fw_xfer *fwmem_write_quad(struct fw_device *, caddr_t, u_int8_t,
- u_int16_t, u_int32_t, u_int32_t, void (*)(struct fw_xfer *));
+ u_int16_t, u_int32_t, void *, void (*)(struct fw_xfer *));
struct fw_xfer *fwmem_read_block(struct fw_device *, caddr_t, u_int8_t,
- u_int16_t, u_int32_t, int, void (*)(struct fw_xfer *));
+ u_int16_t, u_int32_t, int, void *, void (*)(struct fw_xfer *));
struct fw_xfer *fwmem_write_block(struct fw_device *, caddr_t, u_int8_t,
- u_int16_t, u_int32_t, int, char *, void (*)(struct fw_xfer *));
+ u_int16_t, u_int32_t, int, void *, void (*)(struct fw_xfer *));
d_open_t fwmem_open;
d_close_t fwmem_close;
@@ -50,3 +50,4 @@ d_read_t fwmem_read;
d_write_t fwmem_write;
d_poll_t fwmem_poll;
d_mmap_t fwmem_mmap;
+d_strategy_t fwmem_strategy;
OpenPOWER on IntegriCloud