Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcf87a2e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* '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
Loading
Loading
Loading
Loading
+43 −22
Original line number Diff line number Diff line
@@ -4,27 +4,44 @@ comment "An alternative FireWire stack is available with EXPERIMENTAL=y"
	depends on EXPERIMENTAL=n

config FIREWIRE
	tristate "IEEE 1394 (FireWire) support (JUJU alternative stack, experimental)"
	tristate "IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL"
	depends on EXPERIMENTAL
	select CRC_ITU_T
	help
	  IEEE 1394 describes a high performance serial bus, which is also
	  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
	  This is the "Juju" FireWire stack, a new alternative implementation
	  designed for robustness and simplicity.  You can build either this
	  stack, or the classic stack (the ieee1394 driver, ohci1394 etc.)
	  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
	tristate "Support for OHCI FireWire host controllers"
	depends on PCI && FIREWIRE
@@ -34,11 +51,13 @@ config FIREWIRE_OHCI
	  is the only chipset in use, so say Y here.

	  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,
	  blacklist either ohci1394 or firewire-ohci to let hotplug load the
	  desired driver.
	  If you also build ohci1394 of the classic stack, blacklist either
	  ohci1394 or firewire-ohci to let hotplug load only the desired driver.

config FIREWIRE_SBP2
	tristate "Support for storage devices (SBP-2 protocol driver)"
@@ -50,12 +69,14 @@ config FIREWIRE_SBP2
	  like scanners.

	  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
	  configuration section.

	  If you also build sbp2 of the classic IEEE 1394 driver stack,
	  blacklist either sbp2 or firewire-sbp2 to let hotplug load the
	  desired driver.
          NOTE:

	  If you also build sbp2 of the classic stack, blacklist either sbp2
	  or firewire-sbp2 to let hotplug load only the desired driver.
+3 −3
Original line number Diff line number Diff line
@@ -373,7 +373,7 @@ static void ar_context_tasklet(unsigned long data)

		offset = offsetof(struct ar_buffer, data);
		dma_unmap_single(ohci->card.device,
				 ab->descriptor.data_address - offset,
			le32_to_cpu(ab->descriptor.data_address) - offset,
			PAGE_SIZE, DMA_BIDIRECTIONAL);

		buffer = ab;
@@ -427,7 +427,7 @@ static void ar_context_run(struct ar_context *ctx)
	size_t offset;

	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, CONTROL_SET(ctx->regs), CONTEXT_RUN);