Commit dcf87a2e authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: add Kconfig help on building both stacks
  firewire: fix async reception on big endian machines
parents a38d6181 fe77d4f2
...@@ -4,27 +4,44 @@ comment "An alternative FireWire stack is available with EXPERIMENTAL=y" ...@@ -4,27 +4,44 @@ comment "An alternative FireWire stack is available with EXPERIMENTAL=y"
depends on EXPERIMENTAL=n depends on EXPERIMENTAL=n
config FIREWIRE config FIREWIRE
tristate "IEEE 1394 (FireWire) support (JUJU alternative stack, experimental)" tristate "IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL"
depends on EXPERIMENTAL depends on EXPERIMENTAL
select CRC_ITU_T select CRC_ITU_T
help help
IEEE 1394 describes a high performance serial bus, which is also This is the "Juju" FireWire stack, a new alternative implementation
known as FireWire(tm) or i.Link(tm) and is used for connecting all
sorts of devices (most notably digital video cameras) to your
computer.
If you have FireWire hardware and want to use it, say Y here. This
is the core support only, you will also need to select a driver for
your IEEE 1394 adapter.
To compile this driver as a module, say M here: the module will be
called firewire-core.
This is the "JUJU" FireWire stack, an alternative implementation
designed for robustness and simplicity. You can build either this designed for robustness and simplicity. You can build either this
stack, or the classic stack (the ieee1394 driver, ohci1394 etc.) stack, or the classic stack (the ieee1394 driver, ohci1394 etc.)
or both. or both.
To compile this driver as a module, say M here: the module will be
called firewire-core. It functionally replaces ieee1394, raw1394,
and video1394.
NOTE:
You should only build ONE of the stacks, unless you REALLY know what
you are doing. If you install both, you should configure them only as
modules rather than link them statically, and you should blacklist one
of the concurrent low-level drivers in /etc/modprobe.conf. Add either
blacklist firewire-ohci
or
blacklist ohci1394
there depending on which driver you DON'T want to have auto-loaded.
You can optionally do the same with the other IEEE 1394/ FireWire
drivers.
If you have an old modprobe which doesn't implement the blacklist
directive, use either
install firewire-ohci /bin/true
or
install ohci1394 /bin/true
and so on, depending on which modules you DON't want to have
auto-loaded.
config FIREWIRE_OHCI config FIREWIRE_OHCI
tristate "Support for OHCI FireWire host controllers" tristate "Support for OHCI FireWire host controllers"
depends on PCI && FIREWIRE depends on PCI && FIREWIRE
...@@ -34,11 +51,13 @@ config FIREWIRE_OHCI ...@@ -34,11 +51,13 @@ config FIREWIRE_OHCI
is the only chipset in use, so say Y here. is the only chipset in use, so say Y here.
To compile this driver as a module, say M here: The module will be To compile this driver as a module, say M here: The module will be
called firewire-ohci. called firewire-ohci. It replaces ohci1394 of the classic IEEE 1394
stack.
NOTE:
If you also build ohci1394 of the classic IEEE 1394 driver stack, If you also build ohci1394 of the classic stack, blacklist either
blacklist either ohci1394 or firewire-ohci to let hotplug load the ohci1394 or firewire-ohci to let hotplug load only the desired driver.
desired driver.
config FIREWIRE_SBP2 config FIREWIRE_SBP2
tristate "Support for storage devices (SBP-2 protocol driver)" tristate "Support for storage devices (SBP-2 protocol driver)"
...@@ -50,12 +69,14 @@ config FIREWIRE_SBP2 ...@@ -50,12 +69,14 @@ config FIREWIRE_SBP2
like scanners. like scanners.
To compile this driver as a module, say M here: The module will be To compile this driver as a module, say M here: The module will be
called firewire-sbp2. called firewire-sbp2. It replaces sbp2 of the classic IEEE 1394
stack.
You should also enable support for disks, CD-ROMs, etc. in the SCSI You should also enable support for disks, CD-ROMs, etc. in the SCSI
configuration section. configuration section.
If you also build sbp2 of the classic IEEE 1394 driver stack, NOTE:
blacklist either sbp2 or firewire-sbp2 to let hotplug load the
desired driver. If you also build sbp2 of the classic stack, blacklist either sbp2
or firewire-sbp2 to let hotplug load only the desired driver.
...@@ -373,7 +373,7 @@ static void ar_context_tasklet(unsigned long data) ...@@ -373,7 +373,7 @@ static void ar_context_tasklet(unsigned long data)
offset = offsetof(struct ar_buffer, data); offset = offsetof(struct ar_buffer, data);
dma_unmap_single(ohci->card.device, dma_unmap_single(ohci->card.device,
ab->descriptor.data_address - offset, le32_to_cpu(ab->descriptor.data_address) - offset,
PAGE_SIZE, DMA_BIDIRECTIONAL); PAGE_SIZE, DMA_BIDIRECTIONAL);
buffer = ab; buffer = ab;
...@@ -427,7 +427,7 @@ static void ar_context_run(struct ar_context *ctx) ...@@ -427,7 +427,7 @@ static void ar_context_run(struct ar_context *ctx)
size_t offset; size_t offset;
offset = offsetof(struct ar_buffer, data); offset = offsetof(struct ar_buffer, data);
ab_bus = ab->descriptor.data_address - offset; ab_bus = le32_to_cpu(ab->descriptor.data_address) - offset;
reg_write(ctx->ohci, COMMAND_PTR(ctx->regs), ab_bus | 1); reg_write(ctx->ohci, COMMAND_PTR(ctx->regs), ab_bus | 1);
reg_write(ctx->ohci, CONTROL_SET(ctx->regs), CONTEXT_RUN); reg_write(ctx->ohci, CONTROL_SET(ctx->regs), CONTEXT_RUN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment