summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Kristian Høgsberg 2007-04-12 14:11:48 -0400
committerGravatar Kristian Høgsberg 2007-04-12 14:11:48 -0400
commit7096501f0d4d40ad4df67e250e66e3db16de2832 (patch)
treeab179f22ea7745eb92c0d6fb27d6c03ee933d2e9
parentWrap receive tail pointer correctly. (diff)
Use power-of-two max packet sizes.
Diffstat (limited to '')
-rw-r--r--juju/raw1394-iso.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/juju/raw1394-iso.c b/juju/raw1394-iso.c
index 06ece9a..a320440 100644
--- a/juju/raw1394-iso.c
+++ b/juju/raw1394-iso.c
@@ -327,6 +327,18 @@ int raw1394_iso_recv_flush(raw1394handle_t handle)
return 0;
}
+static unsigned int
+round_to_power_of_two(unsigned int value)
+{
+ unsigned int pot;
+
+ pot = 1;
+ while (pot < value)
+ pot <<= 1;
+
+ return pot;
+}
+
static int
iso_init(raw1394handle_t handle, int type,
raw1394_iso_xmit_handler_t xmit_handler,
@@ -366,7 +378,7 @@ iso_init(raw1394handle_t handle, int type,
handle->iso.xmit_handler = xmit_handler;
handle->iso.recv_handler = recv_handler;
handle->iso.buf_packets = buf_packets;
- handle->iso.max_packet_size = max_packet_size;
+ handle->iso.max_packet_size = round_to_power_of_two(max_packet_size);
handle->iso.packet_phase = 0;
handle->iso.packet_count = 0;
handle->iso.packets =
db7992fd?s=13&d=retro' width='13' height='13' alt='Gravatar' /> aeb 3-0/+35 2000-07-05Added raw1394_reset_bus() call.Gravatar aeb 4-0/+23 2000-06-22- Set library version info in configure.in, use in src/Makefile.am.Gravatar aeb 4-2/+16 2000-06-15Update libtool version number.Gravatar aeb 2-2/+2 2000-06-14Added copyright headers.Gravatar aeb 6-0/+54 2000-06-11Added explicit AC_PROG_INSTALL call.Gravatar aeb 1-0/+1 2000-06-09Fix size of error field.Gravatar aeb 1-2/+2 2000-06-02Modified support for 32/64 bit environments, control struct fields have fixed...Gravatar aeb 7-43/+28 2000-05-28Added support for environments with 64 bit kernel and 32 bit userland.Gravatar aeb 8-7/+45 2000-04-27Fixed missing setting of ext code in raw1394_start_lock()Gravatar aeb 1-0/+1 2000-04-15Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5