diff options
author | simokawa <simokawa@FreeBSD.org> | 2003-10-02 04:06:56 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2003-10-02 04:06:56 +0000 |
commit | db5d831317931b7bb1d2ea7b34c895d5de9e931e (patch) | |
tree | 7f27d60f89b5c06e7ea329138d86ab46f08532d4 /sys/dev/firewire/fwmem.h | |
parent | 1c522512fd8b855dc3d6dbd26fed59bda6e9f0e4 (diff) | |
download | FreeBSD-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.h | 9 |
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; |