IEEE 1394 updates for Linux 2.6.21.y (v564 2007-09-20) Documentation/ABI/removed/raw1394_legacy_isochronous | 16 Documentation/feature-removal-schedule.txt | 10 drivers/Makefile | 1 drivers/firewire/Kconfig | 82 drivers/firewire/Makefile | 12 drivers/firewire/fw-card.c | 560 +++ drivers/firewire/fw-cdev.c | 978 +++++ drivers/firewire/fw-device.c | 843 ++++ drivers/firewire/fw-device.h | 143 drivers/firewire/fw-iso.c | 163 drivers/firewire/fw-ohci.c | 2037 +++++++++++ drivers/firewire/fw-ohci.h | 155 drivers/firewire/fw-sbp2.c | 1371 +++++++ drivers/firewire/fw-topology.c | 535 ++ drivers/firewire/fw-topology.h | 81 drivers/firewire/fw-transaction.c | 913 ++++ drivers/firewire/fw-transaction.h | 461 ++ drivers/ieee1394/Kconfig | 55 drivers/ieee1394/config_roms.c | 93 drivers/ieee1394/config_roms.h | 20 drivers/ieee1394/csr1212.c | 905 ++-- drivers/ieee1394/csr1212.h | 481 -- drivers/ieee1394/dma.c | 24 drivers/ieee1394/dma.h | 22 drivers/ieee1394/dv1394.c | 1 drivers/ieee1394/eth1394.c | 913 ++-- drivers/ieee1394/eth1394.h | 29 drivers/ieee1394/highlevel.c | 118 drivers/ieee1394/highlevel.h | 69 drivers/ieee1394/hosts.c | 25 drivers/ieee1394/hosts.h | 18 drivers/ieee1394/ieee1394_core.c | 477 +- drivers/ieee1394/ieee1394_core.h | 111 drivers/ieee1394/ieee1394_transactions.c | 73 drivers/ieee1394/ieee1394_transactions.h | 22 drivers/ieee1394/iso.c | 85 drivers/ieee1394/iso.h | 35 drivers/ieee1394/nodemgr.c | 86 drivers/ieee1394/nodemgr.h | 25 drivers/ieee1394/ohci1394.c | 288 - drivers/ieee1394/ohci1394.h | 18 drivers/ieee1394/pcilynx.c | 19 drivers/ieee1394/raw1394-private.h | 5 drivers/ieee1394/raw1394.c | 358 - drivers/ieee1394/raw1394.h | 4 drivers/ieee1394/sbp2.c | 110 drivers/ieee1394/sbp2.h | 10 drivers/ieee1394/video1394.c | 1 include/linux/Kbuild | 2 include/linux/crc-itu-t.h | 28 include/linux/firewire-cdev.h | 462 ++ include/linux/firewire-constants.h | 67 lib/Kconfig | 8 lib/Makefile | 1 lib/crc-itu-t.c | 69 55 files changed, 10798 insertions(+), 2700 deletions(-) ======================================================================== Date: Thu Sep 20 21:17:33 CEST 2007 From: Stefan Richter Subject: ieee1394: ohci1394: fix initialization if built non-modular Initialization of ohci1394 was broken according to one reporter if the driver was statically linked, i.e. not built as loadable module. Dmesg: PCI: Device 0000:02:07.0 not available because of resource collisions ohci1394: Failed to enable OHCI hardware. This was reported for a Toshiba Satellite 5100-503. The cause is commit 8df4083c5291b3647e0381d3c69ab2196f5dd3b7 in Linux 2.6.19-rc1 which only served purposes of early remote debugging via FireWire. This functionality is better provided by the currently out-of-tree driver ohci1394_earlyinit. Reversal of the commit was OK'd by Andi Kleen. Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_core.c | 2 +- drivers/ieee1394/ohci1394.c | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) ======================================================================== Date: Sat, 15 Sep 2007 14:50:25 +0200 (CEST) From: Stefan Richter Subject: ieee1394: csr1212: proper refcounting At least since nodemgr got rid of coarse global locking, accesses to struct csr1212_keyval's reference counter should be atomic and coupled with proper barriers. Also, calls to csr1212_keep_keyval(kv) should occur before kv is being used. (We probably should convert refcnt to struct kref, but how to keep csr1212_destroy_keyval's implementation non-recursively then?) Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 57 +++++++++++++++++++------------------ drivers/ieee1394/csr1212.h | 6 ++- drivers/ieee1394/nodemgr.c | 4 +- 3 files changed, 36 insertions(+), 31 deletions(-) ======================================================================== Date: Sat, 15 Sep 2007 14:45:53 +0200 (CEST) From: Stefan Richter Subject: ieee1394: nodemgr: fix leak of struct csr1212_keyval csr1212_keep_keyval(kv) in nodemgr_process_root_directory was unbalanced if ne->vendor_name_kv already exists. This happens for example if eth1394 or raw1394 modify the local config ROM and it is parsed again. As a bonus, the attempt to add the vendor_name_kv sysfs attribute when it already exists is now fixed for good. Signed-off-by: Stefan Richter --- drivers/ieee1394/nodemgr.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) ======================================================================== Date: Thu, 6 Sep 2007 09:50:30 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression) Fixes (papers over) "Sleep problems with kernels >= 2.6.21 on powerpc", http://lkml.org/lkml/2007/8/25/155. The issue is that the FireWire controller's pci_dev.current_state of iBook G3 and presumably older PowerBooks is still in PCI_UNKNOWN instead of PCI_D0 when the firewire driver's .suspend method is called. Like it was suggested earlier in http://lkml.org/lkml/2006/10/24/13, we do not fail .suspend anymore if pci_set_power_state failed. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) ======================================================================== Date: Thu, 30 Aug 2007 00:11:40 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: check for misconfigured bus (phyID == 63) Check NodeID.nodeNumber as per OHCI 1.1 clause 7.2.3.2. See also IEEE 1394a table 5B-1. Also, demote the "node ID not valid" message from error to notification as it is not an error condition. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 9 +++++++-- drivers/firewire/fw-ohci.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) ======================================================================== Date: Wed, 29 Aug 2007 19:40:28 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: missing dma_unmap_single at_context_queue_packet() didn't clean up in an early exit path. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-ohci.c | 3 +++ 1 file changed, 3 insertions(+) ======================================================================== Date: Mon, 20 Aug 2007 21:58:30 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: log posted write errors Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ======================================================================== Date: Mon, 20 Aug 2007 21:41:22 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: reorder includes Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) ======================================================================== Date: Mon, 20 Aug 2007 21:40:30 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: fix includes Add used includes, remove unused includes. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ======================================================================== Date: Sat, 25 Aug 2007 14:08:19 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: enforce read order for selfID generation It seems unlikely, but access to self_id_cpu[0] could at least in theory be deferred until after the loop over self_id_cpu[1..n] or even after the subsequent reg_read. Enforce the desired order by a read barrier. Also prevent the reg_read from being reordered relative to the for loop. This isn't necessary if the loop's conditional printk counts as an implicit barrier, but better make it explicit. (self_id_cpu[] is a coherent DMA buffer.) Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 3 +++ 1 file changed, 3 insertions(+) ======================================================================== Date: Sun, 12 Aug 2007 12:51:18 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: use an own workqueue (fix system responsiveness) Firewire-sbp2 did very uncooperative things in the kernel's shared workqueue: Sleeping until reception of management status from the target for up to 2 seconds, and performing SCSI inquiry and all of the setup of SCSI command set drivers via scsi_add_device. If there were transient or permanent error conditions, this caused long blockage of the kernel's events process, noticeable e.g. by blocked keyboard input. We now allocate a workqueue process exclusive to fw-sbp2. As a side effect, this also increases parallelism of fw-sbp2's login and reconnect work versus fw-core's device discovery and device update work which is performed in the shared workqueue. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) ======================================================================== Date: Mon, 13 Aug 2007 17:48:25 +0200 From: Stefan Richter Subject: firewire: fw-sbp2: expose module parameter for workarounds On rare occasions, the ability to set one of the workaround flags at runtime may save the day. People who experience I/O errors with firewire-sbp2 while the old sbp2 driver worked for them should try workarounds=1 and report to the devel mailinglist whether that improves things. Firewire-sbp2 defaults to the SCSI stack's maximum transfer size per command, while sbp2 limits them to 128 kBytes. Flag 1 accomplishes just that. Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 66 ++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 12 deletions(-) ======================================================================== Date: Sat, 25 Aug 2007 14:05:28 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: add support for multiple logical units per target Fixes "New firewire stack only recognizing half of a chain of drives", https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=242254 Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.h | 5 drivers/firewire/fw-sbp2.c | 594 ++++++++++++++++++++--------------- 2 files changed, 340 insertions(+), 259 deletions(-) ======================================================================== Date: Sat, 25 Aug 2007 10:40:42 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: always enable IRQs before calling command ORB callback On IOMMU-less noncoherent architectures, orb->callback will memcpy the whole SCSI command buffer for READ-like SCSI commands. It is therefore friendlier to enable IRQs before the call, like before patch "Add ref-counting for sbp2 orbs". Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ======================================================================== Date: Fri, 3 Aug 2007 20:56:31 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-core: local variable shadows a global one Sparse warned about it although it was apparently harmless: drivers/firewire/fw-cdev.c:624:23: warning: symbol 'interrupt' shadows an earlier one include/asm/hw_irq.h:29:13: originally declared here Signed-off-by: Stefan Richter --- drivers/firewire/fw-cdev.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) ======================================================================== Date: Tue, 17 Jul 2007 02:10:16 +0200 (CEST) From: Stefan Richter Subject: firewire: optimize fw_core_add_address_handler Potentially avoids unnecessary loop runs. Guarantee quadlet-aligned starts of address regions. Document the return values. Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) ======================================================================== Date: Wed, 15 Aug 2007 20:05:38 +0530 (IST) From: Satyam Sharma Subject: ieee1394: Fix kthread stopping in nodemgr_host_thread The nodemgr host thread can exit on its own even when kthread_should_stop is not true, on receiving a signal (might never happen in practice, as it ignores signals). But considering kthread_stop() must not be mixed with kthreads that can exit on their own, I think changing the code like this is clearer. This change means the thread can cut its sleep short when receive a signal but looking at the code around, that sounds okay (and again, it might never actually recieve a signal in practice). Signed-off-by: Satyam Sharma Signed-off-by: Stefan Richter --- drivers/ieee1394/nodemgr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ======================================================================== Date: Sat, 11 Aug 2007 11:52:08 +0200 (CEST) From: Stefan Richter Subject: ieee1394: sbp2: fix unsafe iteration over list of devices sbp2_host_reset and sbp2_handle_status_write are not serialized against sbp2_alloc_device and sbp2_remove_device. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) ======================================================================== Date: Sun, 29 Jul 2007 00:01:35 +0200 (CEST) From: Stefan Richter Subject: ieee1394: pcilynx: superfluous local variables Signed-off-by: Stefan Richter --- drivers/ieee1394/pcilynx.c | 3 --- 1 file changed, 3 deletions(-) ======================================================================== Date: Sat, 28 Jul 2007 23:45:03 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: fix lock imbalance bad_proto can be reached from points which did not take priv->lock. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) ======================================================================== Date: Sat, 28 Jul 2007 23:44:25 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: superfluous local variable Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 2 -- 1 file changed, 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Date: Fri, 24 Aug 2007 18:59:58 -0400 Subject: firewire: Add ref-counting for sbp2 orbs (fix command abortion) This handles the case where we get the status write before getting the complete_transaction callback ("status write for unknown orb"). In this case, we just assume that the initial orb pointer transaction succeeded and finish the orb. To prevent the transaction callback from touching freed memory, we ref-count the orb structures. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 49 ++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 9 deletions(-) ======================================================================== Date: Tue, 21 Aug 2007 01:05:14 +0200 (CEST) From: Stefan Richter Subject: firewire: fix unloading of fw-ohci while devices are attached Fix panic in run_timer_softirq right after "modprobe -r firewire-ohci" if a FireWire disk was attached and firewire-sbp2 loaded. Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ======================================================================== Date: Sat, 11 Aug 2007 11:51:16 +0200 (CEST) From: Stefan Richter Subject: ieee1394: sbp2: fix sbp2_remove_device for error cases Bug found by Olaf Hering : sbp2util_remove_command_orb_pool requires a valid lu->hi pointer. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) ======================================================================== Date: Sat, 28 Jul 2007 23:18:48 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-core: make two variables static Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ======================================================================== Date: Thu, 26 Jul 2007 17:36:19 +0100 From: Al Viro Subject: [PATCH] raw1394 __user annotation Signed-off-by: Al Viro --- drivers/ieee1394/raw1394.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Wed, 25 Jul 2007 19:18:08 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: dma_free_coherent needs IRQs enabled Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) ======================================================================== Date: Sat, 21 Jul 2007 22:43:05 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters) As far as I know, all CardBus FireWire 400 adapters have a maximum payload of 1024 bytes which is less than the speed-dependent limit of 2048 bytes. Fw-sbp2 has to take the host adapter's limit into account. This apparently fixes Juju's incompatibility with my CardBus cards, a NEC based card and a VIA based card. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 5 ++++- drivers/firewire/fw-transaction.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) ======================================================================== Date: Tue, 17 Jul 2007 02:15:36 +0200 (CEST) From: Stefan Richter Subject: firewire: fix memory leak of fw_request instances Found and debugged by Jay Fenlason . The bug was especially noticeable with direct I/O over fw-sbp2. Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 4 +++- drivers/firewire/fw-transaction.h | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) ======================================================================== Date: Tue, 17 Jul 2007 02:13:48 +0200 (CEST) From: Stefan Richter Subject: firewire: remove bogus check in fw_core_handle_request This check is bogus: - Maximum asynchronous payload size for S800...S3200 is 4096. - The p->payload_length is totally uninteresting. Only the request->length of the subsequently allocated and initialized struct fw_request is of significance. Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 5 ----- 1 file changed, 5 deletions(-) ======================================================================== From: Al Viro Date: Sun, 15 Jul 2007 19:59:51 +0000 (+0100) Subject: ieee1394: forgotten dereference... X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=51ec138c6416e9ed2ba0eae3af5f0ea8a90ae44b ieee1394: forgotten dereference... Going through the string and waiting for _pointer_ to become '\0' is not what the authors meant... Signed-off-by: Al Viro Acked-by: Ben Collins Signed-off-by: Linus Torvalds --- ======================================================================== Date: Thu, 12 Jul 2007 22:25:14 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: fix "scheduling while atomic" context_stop is called by bus_reset_tasklet, among else. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Thu, 12 Jul 2007 22:24:19 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-ohci: flush MMIO write before msleep Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Sun, 8 Jul 2007 13:34:21 +0200 (CEST) From: Stefan Richter Subject: ieee1394: first minimal NUMA awareness Association of a host device with a node on NUMA machines optimizes allocations of skbs given from the networking stack to eth1394. Signed-off-by: Stefan Richter --- drivers/ieee1394/hosts.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Wed, 4 Jul 2007 23:13:53 +0200 (CEST) From: Stefan Richter Subject: ieee1394: raw1394: fix a 32/64-bits compat fix I was told that only i386 aligns 64 bit integers at 4 bytes boundaries while all other architectures (32 bit architectures with 64 bit siblings) align it on 8 bytes boundaries. Signed-off-by: Stefan Richter --- drivers/ieee1394/raw1394.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ======================================================================== Date: Mon, 2 Jul 2007 21:04:44 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: fix DMA mapping of management ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) ======================================================================== Date: Mon, 2 Jul 2007 21:04:08 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: fix DMA mapping of command ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) ======================================================================== Date: Mon, 2 Jul 2007 22:07:34 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: fix DMA mapping of S/G tables - The CPU must not touch the buffer after it was DMA-mapped. - The size argument of dma_unmap_single(...page_table...) was bogus. - Move a comment closer to the code to which it refers to. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) ======================================================================== Date: Sun, 1 Jul 2007 13:56:03 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: add a boundary check Add rudimentary check for the case that the page table overflows due to merging of s/g elements by the IOMMU. This would have lead to overwriting of arbitrary memory. After this change I expect that an offending command will be unsuccessfully retried until the scsi_device is taken offline by SCSI core. It's a border case and not worth to implement a recovery strategy. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 5 +++++ 1 file changed, 5 insertions(+) ======================================================================== Date: Sun, 1 Jul 2007 13:55:31 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: correctly align page tables This is required per SBP-2 clause 5.2. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sun, 1 Jul 2007 13:54:57 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: memset wants string.h Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Sun, 1 Jul 2007 13:54:24 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: use correct speed in sbp2_agent_reset noticed by Jay Fenlason Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Wed, 27 Jun 2007 16:04:33 -0400 From: Jay Fenlason Subject: firewire: fw-sbp2: correctly dereference by container_of Replace a cast with a container_of(). As long as nobody reorders the structure elements, they do the same thing, but container_of() is more readable. Signed-off-by: Stefan Richter (added complete_command_orb) Acked-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ======================================================================== Date: Mon, 25 Jun 2007 22:18:40 +0200 (CEST) From: Stefan Richter Subject: firewire: add Kconfig help on building both stacks Alas that won't work so good, because nobody reads help texts. I thought about adding some crude multiple choice selection (build the old stack, build the new stack, build both stacks). It's possible, but it would introduce awkward dummy config variables. Signed-off-by: Stefan Richter --- drivers/firewire/Kconfig | 65 +++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 22 deletions(-) ======================================================================== Date: Sun, 24 Jun 2007 15:31:54 +0200 (CEST) From: Stefan Richter Subject: ieee1394: remove old isochronous ABI Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}" from Adrian Bunk, November 20 2006. This patch also removes the underlying facilities in ohci1394 and disables them in pcilynx. That is, hpsb_host_driver.devctl() and hpsb_host_driver.transmit_packet() are no longer used for iso reception and transmission. Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso interface has never been implemented in pcilynx, pcilynx is now no longer useful for isochronous applications. raw1394 will still handle the request types but will complete the requests with errors that indicate API version conflicts. Signed-off-by: Stefan Richter --- Documentation/ABI/removed/raw1394_legacy_isochronous | 16 Documentation/feature-removal-schedule.txt | 10 drivers/ieee1394/highlevel.c | 45 -- drivers/ieee1394/highlevel.h | 16 drivers/ieee1394/hosts.h | 8 drivers/ieee1394/ieee1394_core.c | 8 drivers/ieee1394/ieee1394_core.h | 5 drivers/ieee1394/ieee1394_transactions.c | 30 - drivers/ieee1394/ieee1394_transactions.h | 2 drivers/ieee1394/ohci1394.c | 221 ----------- drivers/ieee1394/ohci1394.h | 14 drivers/ieee1394/pcilynx.c | 16 drivers/ieee1394/raw1394-private.h | 5 drivers/ieee1394/raw1394.c | 176 -------- drivers/ieee1394/raw1394.h | 4 15 files changed, 48 insertions(+), 528 deletions(-) ======================================================================== Date: Sat, 23 Jun 2007 20:28:17 +0200 (CEST) From: Stefan Richter Subject: firewire: fix async reception on big endian machines descriptor.data_address is little endian Tested-by: Olaf Hering Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ======================================================================== Date: Fri, 22 Jun 2007 00:20:34 +0200 (CEST) From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Document userspace ioctl interface. The isochronous packet format is still not documented, but this is a good first step. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (format, wording) --- Update 2: - minimal changes to wordings - changed alignment and line wraps for nicer(?) layout in the source file - corrected a few '&' versus '@' mistakes - tested with scripts/kernel-doc -text, -man, -html Update 3: - corrected fw_cdev_add_descriptor.key include/linux/firewire-cdev.h | 297 ++++++++++++++++++++++++++++++---- 1 file changed, 264 insertions(+), 33 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Only set client->iso_context if allocation was successful. Date: Wed, 20 Jun 2007 17:48:07 -0400 This patch fixes an OOPS on cdev release for an fd where iso context creation failed. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-cdev.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) ======================================================================== Date: Sun, 17 Jun 2007 23:55:41 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: implement nonexclusive login Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-sbp2.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) ======================================================================== Date: Sun, 17 Jun 2007 23:54:52 +0200 (CEST) From: Stefan Richter Subject: ieee1394: sbp2: change some module parameters from int to bool This is upwards compatible, except that integer values other than 0 or 1 are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work now. Also, improve a comment on the serialize_io parameter and make the ORB_SET_EXCLUSIVE macro ultra-safe. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.c | 15 +++++++-------- drivers/ieee1394/sbp2.h | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) ======================================================================== Date: Mon, 18 Jun 2007 18:46:49 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: let SCSI shutdown commands through before logout This affects of course only the "soft shutdown" case, e.g. "modprobe -r firewire-sbp2", while it doesn't matter for hot unplug. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- Update: - Do it much simpler without scsi_remove_device. - Omit the unrelated sbp2_sysfs_ieee1394_id_show hunks. They will come back later when multi-LU support is implemented. drivers/firewire/fw-sbp2.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) ======================================================================== Date: Sun, 17 Jun 2007 23:52:08 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: implement max sectors limit for some old bridges This currently only affects one bridge in the hardwired blacklist. I don't own one of those, hence haven't tested it. Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ======================================================================== Date: Sun, 17 Jun 2007 23:39:58 +0200 (CEST) From: Stefan Richter Subject: firewire: simplify a struct type cleanup after "firewire: support S100B...S400B and link slower than PHY" Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-topology.c | 48 +++++++++++++++------------------ drivers/firewire/fw-topology.h | 6 ---- 2 files changed, 24 insertions(+), 30 deletions(-) ======================================================================== Date: Mon, 4 Jun 2007 11:49:19 -0400 From: "Carlos E. Ugarte" Subject: ieee1394: fix to ether1394_tx in ether1394.c This patch fixes a problem that occurs when packets cannot be sent across the ieee1394 bus and we return NETDEV_TX_BUSY in the net driver "hard start xmit" routine ether1394_tx. When we return NETDEV_TX_BUSY the stack will call ether1394_tx again with the same skb. So we need to restore the header to look like it did before we munged it for xmit over ieee1394. [Stefan Richter: changed whitespace, deleted a local variable] Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) ======================================================================== Date: Sun, 10 Jun 2007 21:31:36 +0200 From: Stefan Richter Subject: firewire: support S100B...S400B and link slower than PHY Use a speed probe to determine the speed over 1394b buses and of nodes which report a link speed less than their PHY speed. Log the effective maximum speed of newly created nodes in dmesg. Also, read the config ROM (except bus info block) at the maximum speed rather than S100. This isn't a real optimization though because we still only use quadlet read requests for the entire ROM. The patch also adds support for S1600 and S3200, although such hardware does not exist yet. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-cdev.c | 2 - drivers/firewire/fw-device.c | 38 +++++++++++++++++++++++++++++---- drivers/firewire/fw-device.h | 1 drivers/firewire/fw-sbp2.c | 7 ++---- drivers/firewire/fw-topology.h | 13 +++++------ 5 files changed, 45 insertions(+), 16 deletions(-) ======================================================================== Date: Mon, 18 Jun 2007 19:44:12 +0200 (CEST) From: Stefan Richter Subject: firewire: optimize gap count with 1394b leaf nodes Table-based gap count optimization cannot be used if 1394b repeater PHYs are present. But it does work with 1394b leaf nodes. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- Updates: Use plain int and bool instead of a bitfield, add a comment. Use local temp variable for topology type in build_tree(). drivers/firewire/fw-card.c | 7 +++++-- drivers/firewire/fw-topology.c | 16 ++++++++-------- drivers/firewire/fw-topology.h | 6 ------ drivers/firewire/fw-transaction.h | 2 +- 4 files changed, 14 insertions(+), 17 deletions(-) ======================================================================== Date: Sat, 9 Jun 2007 19:31:14 +0200 (CEST) From: Stefan Richter Subject: firewire: fix hang after card ejection Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-ohci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sat, 9 Jun 2007 19:27:07 +0200 (CEST) From: Stefan Richter Subject: firewire: remove unused macro Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.h | 1 - 1 file changed, 1 deletion(-) ======================================================================== Date: Sat, 9 Jun 2007 19:26:22 +0200 (CEST) From: Stefan Richter Subject: firewire: missing newline in printk Also remove some errno printouts which will be shown by infrastructure code anyway. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 6 +++--- drivers/firewire/fw-sbp2.c | 2 +- drivers/firewire/fw-topology.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Fix pci resume to not pass in a __be32 config rom. Date: Tue, 5 Jun 2007 19:27:05 -0400 The ohci_enable() function shared between pci_probe and pci_resume takes a host endian config rom, but ohci->config_rom is __be32. This sets up the config rom in the wrong endian on little endian machine, specifically, BusOptions will be initialized to a 0 max receive size. This patch changes the way we reuse the config rom so that we avoid this problem. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Install firewire-constants.h and firewire-cdev.h for userspace. Date: Thu, 31 May 2007 11:36:23 -0400 This just adds them to include/linux/Kbuild using header-y. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- include/linux/Kbuild | 2 ++ 1 file changed, 2 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Change struct fw_cdev_iso_packet to not use bitfields. Date: Thu, 31 May 2007 11:16:43 -0400 The struct is part of the userspace interface and can not use bitfields. This patch replaces the bitfields with a __u32 'control' word and provides access macros to set the bits. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-cdev.c | 17 ++++++++++++++++- include/linux/firewire-cdev.h | 14 ++++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Implement suspend/resume PCI driver hooks. Date: Wed, 30 May 2007 19:06:35 -0400 It's a low-impact design, that just makes suspend/resume look like a bus reset to the upper level drivers, but it should be sufficient. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 5 drivers/firewire/fw-ohci.c | 187 ++++++++++++++++++++++++------------- 2 files changed, 123 insertions(+), 69 deletions(-) ======================================================================== Date: Sun, 27 May 2007 07:09:18 -0400 From: Jeff Garzik Subject: [PATCH] firewire: fix return code Fix this warning on x86-64 drivers/firewire/fw-cdev.c:798: warning: initialization from incompatible pointer type by making the return code of ioctl_send_request() the same as all the other ioctl_xxx() return codes. Signed-off-by: Jeff Garzik Signed-off-by: Stefan Richter --- drivers/firewire/fw-cdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sun, 27 May 2007 13:18:27 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: implement sysfs ieee1394_id The attribute /sys/bus/scsi/devices/*:*:*:*/ieee1394_id, as generated by the old sbp2 driver, is typically used to create persistently named links in /dev/disk/by-id. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-device.h | 1 drivers/firewire/fw-sbp2.c | 53 +++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) ======================================================================== Date: Sun, 27 May 2007 13:17:15 +0200 (CEST) From: Stefan Richter Subject: ieee1394: sbp2: offer SAM-conforming target port ID in sysfs With "modprobe sbp2 long_ieee1394_id=y", the format of /sys/bus/scsi/devices/*:*:*:*/ieee1394_id is changed from e.g. 0001041010004beb:0:0 to 0001041010004beb:00042c:0000. The longer format fully conforms to object identifier sizes as per SAM(-2...4) and reflects what the SAM target port identifier is meant to contain: A Discovery ID allegedly specified by ISO/IEC 13213:1994 --- however there is no such thing; the authors of SAM probably meant Directory ID). Especially target nodes with multiple dynamically added targets may use Directory IDs to persistently identify target ports. The new format is independent of implementation details of nodemgr. Thus the same ieee1394_id attribute format can be implemented in the new firewire stack. The ieee1394_id is typically used to create persistently named links in /dev/disk/by-id. Signed-off-by: Stefan Richter --- Requires patch 'ieee1394: fix calculation of sysfs attribute "address"'. drivers/ieee1394/nodemgr.c | 5 +++++ drivers/ieee1394/nodemgr.h | 1 + drivers/ieee1394/sbp2.c | 31 +++++++++++++++++++++++++++++-- 3 files changed, 35 insertions(+), 2 deletions(-) ======================================================================== Date: Sun, 27 May 2007 13:11:47 +0200 (CEST) From: Stefan Richter Subject: ieee1394: fix calculation of sysfs attribute "address" struct csr1212_keyval.offset is relative to 0xffff f000 0000 rather than 0xffff f000 0400. Signed-off-by: Stefan Richter --- drivers/ieee1394/nodemgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Fri, 25 May 2007 13:54:49 +0200 (CEST) From: Stefan Richter Subject: [rfc patch] firewire: prefix modules with firewire- instead of fw- Of course everybody immediately associates "fw-" with FireWire, not firmware or firewall or whatever. But "firewire-" has a nice ring to it too. Signed-off-by: Stefan Richter Acked-by: Kristian Hoegsberg --- drivers/firewire/Kconfig | 14 +++++++------- drivers/firewire/Makefile | 12 +++++++----- 2 files changed, 14 insertions(+), 12 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Add missing byteswapping for receive DMA programs. Date: Tue, 22 May 2007 18:55:48 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ======================================================================== Date: Mon, 21 May 2007 18:52:06 +0200 (CEST) From: Stefan Richter Subject: ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel, amendment Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs it. A kernel-wide available __compat_u64 which is 4-byte aligned on AMD64 and IA64 would be nicer though. Signed-off-by: Stefan Richter --- drivers/ieee1394/raw1394.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ======================================================================== Date: Sat, 19 May 2007 12:29:37 +0200 (CEST) From: Stefan Richter Subject: ieee1394: add comments in struct hpsb_packet to clarify who is supposed to set what Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_core.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ======================================================================== Date: Mon, 7 May 2007 04:14:47 +0200 From: Petr Vandrovec Subject: ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel Add compat_ioctl. Although all structures are more or less same, raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted padding in the middle. I did not add any translation for ioctls passing array of integers around as integers seem to have same size (32 bits) on all architectures supported by Linux. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) --- drivers/ieee1394/raw1394.c | 97 ++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) ======================================================================== Date: Mon, 7 May 2007 04:14:47 +0200 From: Petr Vandrovec Subject: ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not care, but some (arm registration) did, and anyway it looks bad if request for writing 52 bytes returns 56. And returning sizeof anything in 'int' is not good as well. So all functions now return '0' instead of sizeof(struct raw1394_request) on success, and write() itself provides correct return value (it just returns value it was asked to write on success as raw1394 does not do any partial writes at all). * Related to this was problem that write() could have returned 0 when kernel state would become corrupted and moved to different state than opened/initialized/connected. Now it returns -EBADFD which seemed appropriate. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) --- drivers/ieee1394/raw1394.c | 65 +++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 31 deletions(-) ======================================================================== Date: Mon, 7 May 2007 04:14:47 +0200 From: Petr Vandrovec Subject: ieee1394: raw1394: Fix read() for 32bit userland on 64bit kernel read() always failed with -EFAULT. This was happening due to raw1394_compat_read copying data to wrong location - access_ok always failed as 'r' is kernel address, not user. Whole function just tried to copy data from 'r' to 'r', which is not good. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) --- drivers/ieee1394/raw1394.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sun, 13 May 2007 22:14:44 -0700 From: Petr Vandrovec Subject: ieee1394: raw1394: Fix async send While playing with libiec61883 I've noticed that async_send is broken because it was doing copy_from_user(...., packet->data_size) before packet->data_size was set to any useful value. It got broken when packet->allocated_data_size got introduced, as hpsb_alloc_packet does not set packet->data_size anymore. (Regression in 2.6.22-rc1) Signed-off-by: Petr Vandrovec Signed-off-by: Stefan Richter --- drivers/ieee1394/raw1394.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ======================================================================== From: Martin Schwidefsky Date: Thu, 10 May 2007 13:45:56 +0000 (+0200) Subject: [S390] Kconfig: refine depends statements. X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=eeca7a36a86db8bfc1945dd7f6f0c22a6b66b31d [[ only ieee1394 part of the patch included here ]] [S390] Kconfig: refine depends statements. Refine some depends statements to limit their visibility to the environments that are actually supported. Signed-off-by: Martin Schwidefsky --- drivers/ieee1394/Kconfig | 1 + 1 file changed, 1 insertion(+) [[ only ieee1394 part of the patch included here ]] ======================================================================== From: Michael Opdenacker Date: Wed, 9 May 2007 06:57:56 +0000 (+0200) Subject: Fix occurrences of "the the " X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=59c51591a0ac7568824f541f57de967e88adaa07 [[ only ieee1394 part of the patch included here ]] Fix occurrences of "the the " Signed-off-by: Michael Opdenacker Signed-off-by: Adrian Bunk --- drivers/ieee1394/nodemgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [[ only ieee1394 part of the patch included here ]] ======================================================================== From: Randy Dunlap Date: Tue, 8 May 2007 07:28:08 +0000 (-0700) Subject: header cleaning: don't include smp_lock.h when not used X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=e63340ae6b6205fef26b40a75673d1c9c0c8bb90 [[ only ieee1394 part of the patch included here ]] header cleaning: don't include smp_lock.h when not used Remove includes of where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/ieee1394/dv1394.c | 1 - drivers/ieee1394/raw1394.c | 1 - drivers/ieee1394/video1394.c | 1 - 3 files changed, 3 deletions(-) [[ only ieee1394 part of the patch included here ]] ======================================================================== From: Jean Delvare Date: Tue, 6 Mar 2007 10:45:12 +0000 (-0800) Subject: PCI: Cleanup the includes of X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=6473d160b4aba8023bcf38519a5989694dfd51a7 [[ only ieee1394 part of the patch included here ]] PCI: Cleanup the includes of I noticed that many source files include while they do not appear to need it. Here is an attempt to clean it all up. In order to find all possibly affected files, I searched for all files including but without any other occurence of "pci" or "PCI". I removed the include statement from all of these, then I compiled an allmodconfig kernel on both i386 and x86_64 and fixed the false positives manually. My tests covered 66% of the affected files, so there could be false positives remaining. Untested files are: arch/alpha/kernel/err_common.c arch/alpha/kernel/err_ev6.c arch/alpha/kernel/err_ev7.c arch/ia64/sn/kernel/huberror.c arch/ia64/sn/kernel/xpnet.c arch/m68knommu/kernel/dma.c arch/mips/lib/iomap.c arch/powerpc/platforms/pseries/ras.c arch/ppc/8260_io/enet.c arch/ppc/8260_io/fcc_enet.c arch/ppc/8xx_io/enet.c arch/ppc/syslib/ppc4xx_sgdma.c arch/sh64/mach-cayman/iomap.c arch/xtensa/kernel/xtensa_ksyms.c arch/xtensa/platform-iss/setup.c drivers/i2c/busses/i2c-at91.c drivers/i2c/busses/i2c-mpc.c drivers/media/video/saa711x.c drivers/misc/hdpuftrs/hdpu_cpustate.c drivers/misc/hdpuftrs/hdpu_nexus.c drivers/net/au1000_eth.c drivers/net/fec_8xx/fec_main.c drivers/net/fec_8xx/fec_mii.c drivers/net/fs_enet/fs_enet-main.c drivers/net/fs_enet/mac-fcc.c drivers/net/fs_enet/mac-fec.c drivers/net/fs_enet/mac-scc.c drivers/net/fs_enet/mii-bitbang.c drivers/net/fs_enet/mii-fec.c drivers/net/ibm_emac/ibm_emac_core.c drivers/net/lasi_82596.c drivers/parisc/hppb.c drivers/sbus/sbus.c drivers/video/g364fb.c drivers/video/platinumfb.c drivers/video/stifb.c drivers/video/valkyriefb.c include/asm-arm/arch-ixp4xx/dma.h sound/oss/au1550_ac97.c I would welcome test reports for these files. I am fine with removing the untested files from the patch if the general opinion is that these changes aren't safe. The tested part would still be nice to have. Note that this patch depends on another header fixup patch I submitted to LKML yesterday: [PATCH] scatterlist.h needs types.h http://lkml.org/lkml/2007/3/01/141 Signed-off-by: Jean Delvare Cc: Badari Pulavarty Signed-off-by: Greg Kroah-Hartman --- drivers/ieee1394/hosts.c | 1 - 1 file changed, 1 deletion(-) [[ only ieee1394 part of the patch included here ]] ======================================================================== Date: Sat, 5 May 2007 17:25:51 +0200 (CEST) From: Stefan Richter Subject: [PATCH 2/2] ieee1394: eth1394: handle tlabel exhaustion When eth1394 was unable to acquire a transaction label, it just dropped outgoing packets without attempt to resend them later. The transmit queue is now halted if no tlabel is available to ->hard_start_xmit(). A workqueue job is then scheduled to catch the moment when ieee1394 recycled the next lot of tlabels. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8402 Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 80 +++++++++++++++++++++++++++++-------- drivers/ieee1394/eth1394.h | 4 + 2 files changed, 67 insertions(+), 17 deletions(-) ======================================================================== Date: Sat, 5 May 2007 17:19:09 +0200 (CEST) From: Stefan Richter Subject: [PATCH 1/2] ieee1394: eth1394: remove bogus netif_wake_queue When we are within hard_start_xmit, the queue is already awake. Signed-off-by: Stefan Richter --- --- drivers/ieee1394/eth1394.c | 4 ---- 1 file changed, 4 deletions(-) ======================================================================== Date: Sat, 5 May 2007 17:18:12 +0200 (CEST) From: Stefan Richter Subject: ieee1394: sbp2: include workqueue.h Signed-off-by: Stefan Richter --- --- drivers/ieee1394/sbp2.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Thu, 3 May 2007 20:24:19 +0200 (CEST) From: Stefan Richter Subject: ieee1394: ohci1394: remove dead CONFIG variable spotted by Robert P. J. Day Signed-off-by: Stefan Richter --- drivers/ieee1394/ohci1394.c | 51 +++++------------------------------- 1 file changed, 8 insertions(+), 43 deletions(-) ======================================================================== Date: Sat, 21 Apr 2007 21:02:52 +0200 (CEST) From: Stefan Richter Subject: ieee1394: remove garbage from Kconfig Signed-off-by: Stefan Richter --- drivers/ieee1394/Kconfig | 2 -- 1 file changed, 2 deletions(-) ======================================================================== Date: Sat, 21 Apr 2007 20:54:37 +0200 (CEST) From: Stefan Richter Subject: ieee1394: more help in Kconfig - s/Device Drivers/Controllers/ - clarify who needs pcilynx - don't recommend Y for raw1394; M is typically used Signed-off-by: Stefan Richter --- drivers/ieee1394/Kconfig | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) ======================================================================== Date: Tue, 24 Apr 2007 23:44:57 +0100 Subject: ieee1394: ohci1394: Fix mistake in printk message. From: Simon Arlott Fix the "attempting to setting" message in ohci1394. Signed-off-by: Simon Arlott Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter --- drivers/ieee1394/ohci1394.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Fri, 20 Apr 2007 13:59:54 +0200 Subject: ieee1394: ohci1394: remove unnecessary rcvPhyPkt bit flipping in LinkControl register From: Bernhard Kauer Remove the unneeded code that clears, sets and again clears the rcvPhyPkt bit in the ohci1394 LinkControl register in ohci_initialize(). Signed-off-by: Bernhard Kauer Signed-off-by: Stefan Richter --- drivers/ieee1394/ohci1394.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) ======================================================================== Date: Thu, 12 Apr 2007 22:21:55 +0200 (CEST) From: Stefan Richter Subject: ieee1394: ohci1394: fix cosmetic problem in error logging If posted write failed, an "Unhandled interrupt(s) 0x00000100" message was logged by mistake. Signed-off-by: Stefan Richter --- drivers/ieee1394/ohci1394.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Mon, 23 Apr 2007 21:28:47 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: send async streams at S100 on 1394b buses eth1394 did not work on buses consisting of S100B...S400B hardware because it attempted to send GASP packets at S800. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) ======================================================================== Date: Sat, 21 Apr 2007 18:36:26 +0900 From: Akinobu Mita Subject: ieee1394: eth1394: fix error path in module_init This patch fixes some error handlings in eth1394: - check return value of kmem_cache_create() - cleanup resources if hpsb_register_protocol() fails Signed-off-by: Akinobu Mita Signed-off-by: Stefan Richter (whitespace) --- drivers/ieee1394/eth1394.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:24:27 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: correct return codes in hard_start_xmit This patch actually doesn't change anything because there was always 0 == NETDEV_TX_OK returned before. TODO: Return NETDEV_TX_BUSY in error case and test in different error conditions. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:23:19 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: hard_start_xmit is called in atomic context Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:22:21 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: some conditions are unlikely Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:21:46 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: clean up fragment_overlap offset > fi->offset + fi->len - 1 == !(offset < fi->offset + fi->len) offset + len - 1 < fi->offset == !(offset + len > fi->offset) !(A || B) == (!A && !B) Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:20:37 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: don't use alloc_etherdev Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:19:48 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: omit useless set_mac_address callback We can't reconfigure the MAC address, hence we don't need the callback. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:19:02 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: CONFIG_INET is always defined because CONFIG_IEEE1394_ETH1394 depends on it. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) ======================================================================== Date: Tue, 3 Apr 2007 23:55:40 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: allow MTU bigger than 1500 RFC 2734 says: "IP-capable nodes may operate with an MTU size larger than the default [1500 octets], but the means by which a larger MTU is configured are beyond the scope of this document." Allow users to set an MTU bigger than 1500. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) ======================================================================== Date: Fri, 27 Apr 2007 01:47:32 +0200 From: Adrian Bunk Subject: ieee1394: unexport highlevel_host_reset highlevel_host_reset no longer has any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_core.c | 1 - 1 file changed, 1 deletion(-) ======================================================================== Date: Mon, 2 Apr 2007 02:16:40 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: contain host reset Call only eth1394's own host reset handler from .tx_timeout, not the reset hooks of all other IEEE 1394 drivers. A minor drawback of this patch is that ether1394_host_reset by timeout is not serialized against ether1394_host_reset by bus reset. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:15:53 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: shorter error messages Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 40 ++++++++++++++----------------------- 1 file changed, 16 insertions(+), 24 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:15:21 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: correct a memset argument The old argument calculated the correct value in a wrong way. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Mon, 2 Apr 2007 02:14:45 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: refactor .probe and .update Move common code into an extra function. This implicitly adds a missing node_info->fifo = CSR1212_INVALID_ADDR_SPACE; to .update. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 48 ++++++++++++------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:13:51 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: .probe and .update may sleep Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) ======================================================================== Date: Mon, 2 Apr 2007 02:12:32 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: coding style Adjust white space and line wraps. Remove unnecessary parentheses and braces, unused macros, and some of the more redundant comments. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 430 +++++++++++++++++-------------------- drivers/ieee1394/eth1394.h | 24 -- 2 files changed, 208 insertions(+), 246 deletions(-) ======================================================================== Date: Sun, 1 Apr 2007 10:06:33 +0200 From: Jean Delvare Subject: ieee1394: eth1394: Move common recv_init code to helper function There is some common code between ether1394_open and ether1394_add_host which can be moved to a separate helper function for a slightly smaller eth1394 driver (-160 bytes on i386.) Signed-off-by: Jean Delvare Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 71 ++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 40 deletions(-) ======================================================================== Date: Tue, 27 Mar 2007 01:36:50 +0200 (CEST) From: Stefan Richter Subject: ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts Until now, ieee1394 put an IP-over-1394 capability entry into each new host's config ROM. As soon as the controller was initialized --- i.e. right after modprobe ohci1394 --- this entry triggered a hotplug event which typically caused auto-loading of eth1394. This irritated or annoyed many users and distributors. Of course they could blacklist eth1394, but then ieee1394 wrongly advertized IP-over- 1394 capability to the FireWire bus. Therefore - remove the offending kernel config option IEEE1394_CONFIG_ROM_IP1394, - let eth1394 add the ROM entry by itself, i.e. only after eth1394 was loaded. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7793 . To emulate the behaviour of older kernels, simply add the following to to /etc/modprobe.conf: install ohci1394 /sbin/modprobe eth1394; \ /sbin/modprobe --ignore-install ohci1394 Note, autoloading of eth1394 when an _external_ IP-over-1394 capable device is discovered is _not_ affected by this patch. Signed-off-by: Stefan Richter --- drivers/ieee1394/Kconfig | 29 +++--------- drivers/ieee1394/config_roms.c | 76 ++++++--------------------------- drivers/ieee1394/config_roms.h | 7 ++- drivers/ieee1394/eth1394.c | 7 ++- drivers/ieee1394/hosts.c | 3 - 5 files changed, 36 insertions(+), 86 deletions(-) ======================================================================== Date: Sun, 18 Mar 2007 12:23:11 +0100 (CET) From: Stefan Richter Subject: ieee1394: eth1394: reduce excessive function inlining Shrinks eth1394.ko by about 5%. Many of these functions have only one caller and are therefore auto- inlined anyway. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 74 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 38 deletions(-) ======================================================================== Date: Sat, 10 Feb 2007 23:57:57 +0100 (CET) From: Stefan Richter Subject: ieee1394: eth1394: clean up host removal ether1394_add_host() guarantees that hi->dev != NULL if hi != NULL. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) ======================================================================== Date: Sat, 10 Feb 2007 23:56:38 +0100 (CET) From: Stefan Richter Subject: ieee1394: eth1394: unregister address space in failure case Warn if hpsb_allocate_and_register_addrspace() failed. Unregister the address space if something else failed. Signed-off-by: Stefan Richter --- drivers/ieee1394/eth1394.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) ======================================================================== Date: Mon, 23 Apr 2007 21:27:13 +0200 (CEST) From: Stefan Richter Subject: ieee1394: send async streams at S100 The comment says it all. This affects only asynchronous streams sent via raw1394; the eth1394 driver has own code and needs an own fix. Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_transactions.c | 7 +++++++ 1 file changed, 7 insertions(+) ======================================================================== Date: Wed, 11 Apr 2007 23:24:34 +0530 From: Milind Arun Choudhary Subject: ieee1394: SPIN_LOCK_UNLOCKED cleanup SPIN_LOCK_UNLOCKED cleanup,use DEFINE_SPINLOCK instead Signed-off-by: Milind Arun Choudhary Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_transactions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Fri, 30 Mar 2007 19:21:05 +0200 (CEST) From: Stefan Richter Subject: ieee1394: nodemgr: unify some error messages Shrinks object file size a little bit. Signed-off-by: Stefan Richter --- drivers/ieee1394/nodemgr.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) ======================================================================== Date: Fri, 30 Mar 2007 19:19:55 +0200 (CEST) From: Stefan Richter Subject: ieee1394: nodemgr: less noise in dmesg Everytime when eth1394 or a libraw1394 client updates the configuration ROM, a certain sysfs attribute cannot be added since it already exists. Signed-off-by: Stefan Richter --- drivers/ieee1394/nodemgr.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) ======================================================================== Date: Sun, 18 Mar 2007 00:55:15 +0100 (CET) From: Stefan Richter Subject: ieee1394: unroll a weird macro This is a coding style touch-up for ieee1394's handle_incoming_packet(). A preprocessor macro contained hardwired variable names and, even worse, the 'break' keyword. This macro is now unrolled and removed. Also, all 'break's which had the effect of a return are replaced by return. And a FIXME comment is brought up to date. Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_core.c | 91 +++++++++++++------------------ 1 file changed, 41 insertions(+), 50 deletions(-) ======================================================================== Subject: ieee1394: iso.c needs sched.h Date: Thu, 26 Apr 2007 00:16:04 -0700 From: Andrew Morton alpha: drivers/ieee1394/iso.c: In function 'hpsb_iso_xmit_sync': drivers/ieee1394/iso.c:440: error: invalid use of undefined type 'struct task_struct' drivers/ieee1394/iso.c:440: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/iso.c:440: error: (Each undeclared identifier is reported only once drivers/ieee1394/iso.c:440: error: for each function it appears in.) drivers/ieee1394/iso.c:440: warning: implicit declaration of function 'signal_pending' drivers/ieee1394/iso.c:440: error: invalid use of undefined type 'struct task_struct' drivers/ieee1394/iso.c:440: warning: implicit declaration of function 'schedule' drivers/ieee1394/iso.c: In function 'hpsb_iso_wake': drivers/ieee1394/iso.c:562: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (brought into alphabetic order) --- drivers/ieee1394/iso.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Tue, 10 Apr 2007 02:39:07 +0200 (CEST) From: Stefan Richter Subject: ieee1394: some more includes Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_transactions.c | 3 +++ drivers/ieee1394/nodemgr.c | 1 + 2 files changed, 4 insertions(+) ======================================================================== Date: Mon, 9 Apr 2007 21:03:15 +0200 Subject: ieee1394: ieee1394_transactions needs sched.h From: "Torsten Kaiser" drivers/ieee1394/ieee1394_transactions.c fails for me if CONFIG_SMP=n gcc complains: CC drivers/ieee1394/ieee1394_transactions.o drivers/ieee1394/ieee1394_transactions.c: In function 'hpsb_get_tlabel': drivers/ieee1394/ieee1394_transactions.c:183: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/ieee1394_transactions.c:183: error: (Each undeclared identifier is reported only once Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (added comment) --- drivers/ieee1394/ieee1394_transactions.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Tue, 3 Apr 2007 13:00:47 -0700 From: Randy Dunlap Subject: ieee1394: ieee1394_core printk format Fix printk format string: drivers/ieee1394/ieee1394_core.c:702: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter --- drivers/ieee1394/ieee1394_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sun, 25 Mar 2007 22:22:40 +0200 (CEST) From: Stefan Richter Subject: ieee1394: remove usage of skb_queue as packet queue This considerably reduces the memory requirements for a packet and eliminates ieee1394's dependency on CONFIG_NET. Signed-off-by: Stefan Richter --- Update: - Keep explicit packet->data_size = 0 initializations. - Add check for header size in raw1394. The old code relied on payload memory being appended directly after header memory. This assumption could break in the future. TODO: - Double-check if there are any drivers whose packet complete routine really needs process context. If there are none, get rid of khpsbpkt and execute the complete routine in the low-level driver's bottom half's context. - Check whether the complete packet really has to be zeroed when allocated. - Use kmem_cache for packets with up to 8 quadlets payload? Nodemgr issues bursts of quadlet read requests; sbp2 frequently sends octlet write requests. (For packets with bigger payloads, hpsb_alloc_packet may allocate extra data sections.) drivers/ieee1394/Kconfig | 1 drivers/ieee1394/hosts.c | 12 - drivers/ieee1394/hosts.h | 4 drivers/ieee1394/ieee1394_core.c | 291 ++++++++++++++++--------------- drivers/ieee1394/ieee1394_core.h | 27 -- drivers/ieee1394/raw1394.c | 3 6 files changed, 166 insertions(+), 172 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:29:20 +0100 (CET) From: Stefan Richter Subject: [PATCH 5/5] ieee1394: csr1212: log if devices have CRC errors in their ROM This will point out firmware bugs. I tested with 11 SBP-2 devices and one OS X PC and got these errors from two old CD-RWs only. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:28:36 +0100 (CET) From: Stefan Richter Subject: [PATCH 4/5] ieee1394: csr1212: more sensible names for jump targets Code beneath two labels called "fail" is actually also reached in case of success. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:27:46 +0100 (CET) From: Stefan Richter Subject: [PATCH 3/5] ieee1394: csr1212: warn on unreachable code We want bugs to show themselves. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:27:18 +0100 (CET) From: Stefan Richter Subject: [PATCH 2/5] ieee1394: shrink csr1212_new_string_descriptor_leaf Make unnecessarily generic code specific and thus simpler. Shrink a lookup table from 128 to 16 bytes. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 123 +++++++++++++------------------------ 1 file changed, 46 insertions(+), 77 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:26:38 +0100 (CET) From: Stefan Richter Subject: [PATCH 1/5] ieee1394: csr1212: coding style Whitespace, line breaks, braces... Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 215 ++++++++++++++++++++----------------- drivers/ieee1394/csr1212.h | 31 ++--- 2 files changed, 133 insertions(+), 113 deletions(-) ======================================================================== Date: Sun, 11 Mar 2007 22:51:24 +0100 (CET) From: Stefan Richter Subject: ieee1394: replace vmalloc by kmalloc in csr1212 The biggest chunk ever allocated by CSR1212_MALLOC is 1024 Bytes + sizeof(struct csr1212_csr_rom_cache) big. Most of the time much smaller data structures are allocated. Therefore vmalloc is a waste. The one exception is csr1212_append_new_cache() which is called to append a chunk of CSR1212_EXTENDED_ROM_SIZE + sizeof(struct csr1212_csr_rom_cache) if the currently allocated ROM cache is too small. CSR1212_EXTENDED_ROM_SIZE is generously defined as 256 kBytes. In SVN commit 1220, Steve Kinneberg lowered this to 2 kBytes in the config_rom_2.4 branch. This same commit also switched CSR1212_MALLOC from kmalloc to vmalloc in the SVN trunk branch: > r1220 | kberg | 2004-05-31 01:51:44 +0200 (Mon, 31 May 2004) | 13 lines > > CSR1212 Extended ROM bug fixes: > trunk line changes: > - Use vmalloc instead of kmalloc > - Change delayed_reset_bus() to operate in a work_queue instead of a > timer interrupt. > - Fix hpsb_allocate_and_register_addrspace() to not allocate space > on top of already allocated space. > - Fix problems in csr1212.c filling ConfigROM images when extend > ROMs are present. > config-rom-2.4 changes: > - Changed extended rom allocation from 256K to 8K. (It was actually 2 kB, not 8 kB.) > - Fix hpsb_allocate_and_register_addrspace() to not allocate space > on top of already allocated space. > - Fix problems in csr1212.c filling ConfigROM images when extend > ROMs are present. I am now setting CSR1212_EXTENDED_ROM_SIZE to 2 kB minus the overhead of struct csr1212_csr_rom_cache. Note, this code path is not used by the in-kernel drivers though. raw1394 could trigger it, but the respective libraw1394 functions don't exist yet. Furthermore, userspace programs can replace the entire local ROM via raw1394. If kmalloc does not fulfill their needs --- well, tough luck. I decree that nobody needs such huge extended ROMs. (Extended ROMs are defined by IEEE 1212 clause 7.7.18. The spec does not impose practically relevant restrictions on the size of extended ROM chunks.) Another potentially demanding use of CSR1212_MALLOC is if external FireWire devices come with Extended ROM entries. If they are too big for kmalloc (or have been too big for vmalloc) we just fail to read their ROM. This is quite unlikely though, to my knowledge. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 4 +++- drivers/ieee1394/csr1212.h | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) ======================================================================== Date: Wed, 14 Mar 2007 00:20:53 +0100 (CET) From: Stefan Richter Subject: ieee1394: de-inline some functions This small reorganization of public csr1212 functions saves one exported symbol and a few bytes in the driver modules. Signed-off-by: Stefan Richter --- Update: Make csr1212_read_keyval() static. drivers/ieee1394/csr1212.c | 28 ++++++++++++++++++++++++---- drivers/ieee1394/csr1212.h | 28 +++++----------------------- drivers/ieee1394/ieee1394_core.c | 9 ++++----- 3 files changed, 33 insertions(+), 32 deletions(-) ======================================================================== Date: Sun, 11 Mar 2007 22:50:13 +0100 (CET) From: Stefan Richter Subject: ieee1394: stricter error checks in csr1212 return -EINVAL becomes BUG_ON in checks of function call parameters. Signed-off-by: Stefan Richter --- drivers/ieee1394/config_roms.c | 14 +++--- drivers/ieee1394/csr1212.c | 67 +++++++++++---------------------- drivers/ieee1394/csr1212.h | 4 - 3 files changed, 34 insertions(+), 51 deletions(-) ======================================================================== Date: Sun, 11 Mar 2007 22:49:34 +0100 (CET) From: Stefan Richter Subject: ieee1394: csr1212: rename some types Use u8, u32 etc. instead of u_int8_t, csr1212_quad_t etc. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 93 +++++++++++++++++-------------------- drivers/ieee1394/csr1212.h | 62 +++++++++++------------- 2 files changed, 74 insertions(+), 81 deletions(-) ======================================================================== Date: Sun, 11 Mar 2007 22:49:05 +0100 (CET) From: Stefan Richter Subject: ieee1394: drop csr1212's support for external compilation csr1212 was written to be compiled either as part of the ieee1394 kernel driver or of an anticipated IEEE 1212 userspace library. We now drop support for the latter. The costs in terms of code footprint and depth of abstraction are not countered by any actual benefit. Also remove some obsolete #includes. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 158 ++++++++++------------- drivers/ieee1394/csr1212.h | 88 +----------- drivers/ieee1394/ieee1394_transactions.c | 1 drivers/ieee1394/nodemgr.c | 2 drivers/ieee1394/csr1212.c | 159 ++++++++++------------- drivers/ieee1394/csr1212.h | 88 +----------- drivers/ieee1394/ieee1394_transactions.c | 1 drivers/ieee1394/nodemgr.c | 2 4 files changed, 83 insertions(+), 167 deletions(-) ======================================================================== Date: Sun, 11 Mar 2007 22:47:34 +0100 (CET) From: Stefan Richter Subject: ieee1394: remove unused csr1212 code Delete unused code. Make some extern functions static. Remove superfluous inline keywords. Move private definitions from csr1212.h to csr1212.c. Signed-off-by: Stefan Richter --- drivers/ieee1394/csr1212.c | 309 ++++++++++--------------------------- drivers/ieee1394/csr1212.h | 262 +------------------------------ 2 files changed, 95 insertions(+), 476 deletions(-) ======================================================================== Date: Mon, 5 Mar 2007 03:07:38 +0100 (CET) From: Stefan Richter Subject: ieee1394: small header cleanup Signed-off-by: Stefan Richter --- --- drivers/ieee1394/config_roms.h | 3 +-- drivers/ieee1394/eth1394.h | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) ======================================================================== Date: Mon, 5 Mar 2007 03:06:23 +0100 (CET) From: Stefan Richter Subject: ieee1394: move some comments from declaration to definition Signed-off-by: Stefan Richter --- drivers/ieee1394/config_roms.c | 7 + drivers/ieee1394/config_roms.h | 10 -- drivers/ieee1394/dma.c | 24 ++++++ drivers/ieee1394/dma.h | 22 +---- drivers/ieee1394/highlevel.c | 89 ++++++++++++++++++++++- drivers/ieee1394/highlevel.h | 46 ----------- drivers/ieee1394/hosts.c | 8 ++ drivers/ieee1394/hosts.h | 6 - drivers/ieee1394/ieee1394_core.c | 77 +++++++++++++++++-- drivers/ieee1394/ieee1394_core.h | 73 +----------------- drivers/ieee1394/ieee1394_transactions.c | 29 +++++++ drivers/ieee1394/ieee1394_transactions.h | 20 ----- drivers/ieee1394/iso.c | 84 +++++++++++++++++++++ drivers/ieee1394/iso.h | 35 --------- drivers/ieee1394/nodemgr.c | 32 ++++++-- drivers/ieee1394/nodemgr.h | 20 ----- drivers/ieee1394/ohci1394.c | 1 drivers/ieee1394/config_roms.c | 7 + drivers/ieee1394/config_roms.h | 10 -- drivers/ieee1394/dma.c | 24 ++++++ drivers/ieee1394/dma.h | 22 +---- drivers/ieee1394/highlevel.c | 89 ++++++++++++++++++++++- drivers/ieee1394/highlevel.h | 46 ----------- drivers/ieee1394/hosts.c | 8 ++ drivers/ieee1394/hosts.h | 6 - drivers/ieee1394/ieee1394_core.c | 77 +++++++++++++++++-- drivers/ieee1394/ieee1394_core.h | 73 +----------------- drivers/ieee1394/ieee1394_transactions.c | 29 +++++++ drivers/ieee1394/ieee1394_transactions.h | 20 ----- drivers/ieee1394/iso.c | 84 +++++++++++++++++++++ drivers/ieee1394/iso.h | 35 --------- drivers/ieee1394/nodemgr.c | 32 ++++++-- drivers/ieee1394/nodemgr.h | 20 ----- drivers/ieee1394/ohci1394.c | 1 drivers/ieee1394/ohci1394.h | 4 - 18 files changed, 348 insertions(+), 239 deletions(-) ======================================================================== Date: Mon, 5 Mar 2007 03:05:32 +0100 (CET) From: Stefan Richter Subject: ieee1394: remove declarations of nonexisting functions Signed-off-by: Stefan Richter --- drivers/ieee1394/highlevel.h | 9 --------- drivers/ieee1394/nodemgr.c | 2 +- drivers/ieee1394/nodemgr.h | 4 ---- 3 files changed, 1 insertion(+), 14 deletions(-) ======================================================================== Date: Mon, 23 Apr 2007 11:50:56 -0700 Subject: ieee1394: sbp2: include fixes From: Andrew Morton drivers/ieee1394/sbp2.c: In function 'sbp2util_access_timeout': drivers/ieee1394/sbp2.c:399: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/sbp2.c:399: error: (Each undeclared identifier is reported only once drivers/ieee1394/sbp2.c:399: error: for each function it appears in.) drivers/ieee1394/sbp2.c:399: warning: implicit declaration of function 'signal_pending' drivers/ieee1394/sbp2.c:399: warning: implicit declaration of function 'schedule_timeout' drivers/ieee1394/sbp2.c: In function 'sbp2_prep_command_orb_sg': drivers/ieee1394/sbp2.c:1438: warning: implicit declaration of function 'page_address' drivers/ieee1394/sbp2.c:1438: warning: passing argument 2 of 'dma_map_single' makes pointer from integer without a cast drivers/ieee1394/sbp2.c: In function 'sbp2_handle_status_write': drivers/ieee1394/sbp2.c:1842: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) Possibly due to changes in -mm, but this file should explicitly include the headers for the stuff it uses. Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (brought into alphabetic order) --- drivers/ieee1394/sbp2.c | 2 ++ 1 file changed, 2 insertions(+) ======================================================================== Date: Sun, 4 Feb 2007 20:57:38 +0100 (CET) From: Stefan Richter Subject: ieee1394: sbp2: move some memory allocations into non-atomic context When the command ORB pool is created, the ORB list won't be accessed concurrently. Therefore we don't have to take the spinlock there. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) ======================================================================== Date: Sun, 4 Feb 2007 20:54:57 +0100 (CET) From: Stefan Richter Subject: ieee1394: sbp2: optimize DMA direction of s/g tables Unlike the name suggests, "cmd->scatter_gather_element" holds only the s/g table, not the actual s/g elements. Since the table is only read but never written by the device, DMA_BIDIRECTIONAL can be replaced by DMA_TO_DEVICE which may be cheaper on some architectures. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) ======================================================================== Date: Sun, 4 Feb 2007 13:04:32 +0100 (CET) From: Stefan Richter Subject: ieee1394: sbp2: remove unnecessary alignments of struct members The members "dma_addr_t command_orb_dma" and "dma_addr_t sge_dma" of sbp2.h::sbp2_command_info do not have to be aligned themselves --- only the memory which they point to has to be. The member "struct sbp2_command_orb command_orb" has to be aligned on 4 bytes boundary which is guaranteed because it contains u32 members. The member "struct sbp2_unrestricted_page_table scatter_gather_element", i.e. the SBP-2 s/g table, has to be aligned on 8 bytes boundary according to the SBP-2 spec. This is not a requirement for FireWire controllers but could be expected by SBP-2 targets. I see no need to align the members command_orb and scatter_gather_element on CPU cacheline boundaries. It could have performance benefits, but on the other hand sbp2 has a somewhat wasteful allocation scheme which should be optimized first before further tweaks like cacheline alignments. (E.g. don't always allocate SG_ALL s/g table elements.) Note, before as well as after the patch, the code relies on the assumption that memory alignment in the virtual address space is preserved in the physical address space after DMA mapping. Signed-off-by: Stefan Richter --- drivers/ieee1394/sbp2.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== From: Al Viro Date: Tue, 15 May 2007 19:36:10 +0000 (+0100) Subject: missing mm.h in fw-ohci X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=faa2fb4e67775101a5c46074fa24f0d81cdb4deb;hp=835a906c74ecf20cdb817d6d02975cc0ba421e35 missing mm.h in fw-ohci need it for page_private(), not all targets have it pulled indirectly Signed-off-by: Al Viro Signed-off-by: Linus Torvalds --- --- drivers/firewire/fw-ohci.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== Date: Fri, 11 May 2007 23:04:08 +0200 (CEST) From: Stefan Richter Subject: firewire: fw-sbp2: remove unused struct member cleanup after support of single-buffer requests was dropped Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg --- drivers/firewire/fw-sbp2.c | 6 ------ 1 file changed, 6 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Convert OHCI driver to use standard goto unwinding for error handling. Date: Wed, 9 May 2007 19:23:15 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 86 ++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 44 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Always use parens with sizeof. Date: Wed, 9 May 2007 19:23:14 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 4 +- drivers/firewire/fw-cdev.c | 36 +++++++++++------------ drivers/firewire/fw-device.c | 8 ++--- drivers/firewire/fw-ohci.c | 28 +++++++++--------- drivers/firewire/fw-sbp2.c | 46 +++++++++++++++--------------- drivers/firewire/fw-topology.c | 2 - drivers/firewire/fw-transaction.c | 6 +-- 7 files changed, 65 insertions(+), 65 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Drop single buffer request support. Date: Wed, 9 May 2007 19:23:11 -0400 The SCSI layer only passes sg requests down, so drop the use_sg == 0, request_bufflen != 0 case. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 43 ------------------------------------- 1 file changed, 1 insertion(+), 42 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?=, Stefan Richter Subject: firewire: Add a comment to describe why we split the sg list. Date: Wed, 9 May 2007 19:23:10 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand. Date: Wed, 9 May 2007 19:23:09 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Handle the last few DMA mapping error cases. Date: Wed, 9 May 2007 19:23:08 -0400 This should be the last missing checks. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata. Date: Wed, 9 May 2007 19:23:07 -0400 Avoids an extra allocation and simplifies lifetime rules for the scsi_host. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 136 +++++++++++++------------------------ 1 file changed, 51 insertions(+), 85 deletions(-) ======================================================================== Subject: firewire: Provide module aliase for backwards compatibility. Date: Sat, 5 May 2007 23:17:13 +0200 From: Olaf Hering This patch loads fw-sbp2 if sbp2 is still in the config file. So one can go back and forth between releases without worry about the root filesystem drivers. Signed-off-by: Kristian Hoegsberg Existing mkinitrd scripts still have to be adapted, unless they grok module aliases. Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 5 +++++ drivers/firewire/fw-sbp2.c | 5 +++++ 2 files changed, 10 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile. Date: Mon, 7 May 2007 20:33:38 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Break out shared IEEE1394 constant to separate header file. Date: Mon, 7 May 2007 20:33:37 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.h | 61 -------------------------- include/linux/firewire-cdev.h | 51 ++-------------------- include/linux/firewire-constants.h | 67 +++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 105 deletions(-) create mode 100644 include/linux/firewire-constants.h ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Use linux/*.h instead of asm/*.h header files. Date: Mon, 7 May 2007 20:33:36 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- include/linux/firewire-cdev.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Uppercase most macro names. Date: Mon, 7 May 2007 20:33:35 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 42 ++++---- drivers/firewire/fw-ohci.c | 148 +++++++++++++++--------------- drivers/firewire/fw-sbp2.c | 107 ++++++++++----------- drivers/firewire/fw-topology.c | 40 ++++---- drivers/firewire/fw-transaction.c | 126 ++++++++++++------------- 5 files changed, 231 insertions(+), 232 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Coding style cleanup: no spaces after function names. Date: Mon, 7 May 2007 20:33:34 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 12 ++++---- drivers/firewire/fw-sbp2.c | 4 +- drivers/firewire/fw-topology.c | 6 ++-- drivers/firewire/fw-topology.h | 2 - drivers/firewire/fw-transaction.h | 42 +++++++++++++++--------------- 5 files changed, 33 insertions(+), 33 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Convert card_rwsem to a regular mutex. Date: Mon, 7 May 2007 20:33:33 -0400 Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Clean up comment style. Date: Mon, 7 May 2007 20:33:32 -0400 Drop filenames from file preamble, drop editor annotations and use standard indent style for block comments. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter (fixed typo) --- drivers/firewire/fw-card.c | 105 +++++++++++++-------- drivers/firewire/fw-cdev.c | 33 ++++-- drivers/firewire/fw-device.c | 101 +++++++++++++-------- drivers/firewire/fw-device.h | 5 - drivers/firewire/fw-iso.c | 4 drivers/firewire/fw-ohci.c | 144 +++++++++++++++++++----------- drivers/firewire/fw-sbp2.c | 101 +++++++++++++-------- drivers/firewire/fw-topology.c | 65 ++++++++----- drivers/firewire/fw-topology.h | 5 - drivers/firewire/fw-transaction.c | 71 +++++++++----- drivers/firewire/fw-transaction.h | 58 +++++++----- 11 files changed, 439 insertions(+), 253 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Use lib/ implementation of CRC ITU-T. Date: Mon, 7 May 2007 20:33:31 -0400 With the CRC ITU-T implementation available in lib/ we can use that instead. This also fixes a bug in the topology map crc computation. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter (fixed Kconfig) --- drivers/firewire/Kconfig | 1 drivers/firewire/fw-card.c | 37 +++++++++++---------------------- drivers/firewire/fw-topology.c | 5 +--- drivers/firewire/fw-topology.h | 5 ++-- 4 files changed, 19 insertions(+), 29 deletions(-) ======================================================================== Subject: CRC ITU-T V.41 Date: Mon, 12 Jun 2006 16:17:04 +0200 From: Ivo van Doorn This will add the CRC calculation according to the CRC ITU-T V.41 to the kernel lib/ folder. This code has been derived from the rt2x00 driver, currently found only in the wireless-dev tree, but this library is generic and could be used by more drivers who currently use their own implementation. Signed-off-by: Ivo van Doorn Also useful for the new firewire stack. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter --- include/linux/crc-itu-t.h | 28 +++++++++++++++ lib/Kconfig | 8 ++++ lib/Makefile | 1 lib/crc-itu-t.c | 69 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux. Date: Mon, 30 Apr 2007 15:03:15 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/Makefile | 2 drivers/firewire/fw-cdev.c | 954 ++++++++++++++++++++++++++++++ drivers/firewire/fw-device-cdev.c | 954 ------------------------------ drivers/firewire/fw-device-cdev.h | 268 -------- include/linux/firewire-cdev.h | 268 ++++++++ 5 files changed, 1223 insertions(+), 1223 deletions(-) create mode 100644 drivers/firewire/fw-cdev.c delete mode 100644 drivers/firewire/fw-device-cdev.c delete mode 100644 drivers/firewire/fw-device-cdev.h create mode 100644 include/linux/firewire-cdev.h ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Future proof the iso ioctls by adding a handle for the iso context. Date: Mon, 30 Apr 2007 15:03:14 -0400 Currently create context always returns 0 and the other iso ioctls will expect user space to pass that in for subsequent ioctls. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 16 ++++++++++++++-- drivers/firewire/fw-device-cdev.h | 12 ++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Add read/write and size annotations to IOC numbers. Date: Mon, 30 Apr 2007 15:03:13 -0400 Also, with this change, refactor ioctl dispatch code to do the copying from and to user space as indicated by the IOC annotations. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 278 +++++++++++++----------------- drivers/firewire/fw-device-cdev.h | 24 +- 2 files changed, 135 insertions(+), 167 deletions(-) ======================================================================== Date: Wed, 25 Apr 2007 22:43:16 -0700 Subject: firewire: don't use extern on public symbols From: Randy Dunlap Make firewire entry points not 'extern': drivers/firewire/fw-device.c:160:25: warning: function 'fw_device_get' with external linkage has definition drivers/firewire/fw-device.c:167:13: warning: function 'fw_device_put' with external linkage has definition Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ======================================================================== Subject: firewire: fw-device printk fix Date: Thu, 26 Apr 2007 00:16:04 -0700 From: Andrew Morton You don't know what type is used to implement u64. Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Don't use subsystem rwsem, it's going away. Date: Tue, 17 Apr 2007 11:51:57 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 18 ++++++++++-------- drivers/firewire/fw-device.c | 17 +++++++++-------- 2 files changed, 19 insertions(+), 16 deletions(-) ======================================================================== Date: Wed, 11 Apr 2007 18:44:33 -0400 From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Do an agent reset on error recovery. Signed-off-by: Kristian Høgsberg (Reverted part which moved it from eh_abort_handler to eh_host_reset_handler) Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Only free ORBs that completed the initial transaction. Date: Tue, 10 Apr 2007 18:11:20 -0400 In some situations we can receive the ORB status write before we have received the ORB pointer write response. When this happens, we assume that the fw_transaction is finished and free the ORB struct containing the fw_transaction. This fix make the status write logic only accept status writes for ORBs where the initial ORB pointer write transaction finished. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Forward SAM status codes to the scsi stack. Date: Tue, 10 Apr 2007 18:11:18 -0400 Or the SAM status codes from the device sense data into the command error code. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 39 +++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 21 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Check for CONTEXT_RUN not CONTEXT_ACTIVE when starting AT DMA context. Date: Tue, 10 Apr 2007 18:11:17 -0400 Doh, bad typo... Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Byteswap iso header so all headers are presented as be32. Date: Tue, 10 Apr 2007 18:11:16 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Fix start on cycle 0 for IT, implement start on cycle for IR. Date: Wed, 28 Mar 2007 14:26:10 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Fix the range check for the queue_iso payload pointer. Date: Wed, 28 Mar 2007 20:46:23 +0200 (CEST) Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (renamed a variable) --- drivers/firewire/fw-device-cdev.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Increase the number of config rom retries and the retry delay. Date: Tue, 27 Mar 2007 01:43:43 -0400 Some devices have a really long power-on cycle, and we fail to successfully probe these if they're plugged in and then turned on. There's really no down-side to bumping the number of retries and the retry delay, and most devices will get picked up within the first couple of retries anyway. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Don't set card->irm_node before we have a new valid topology. Date: Tue, 27 Mar 2007 09:42:39 -0500 In case the topology build fails, we want to retain the old topology info until another reset finishes and results in a valid new tree. If we clear card->irm_node to NULL and the topology build fails, we end up dereferencing a NULL pointer in a few places. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-topology.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Generalize resource tracking for cdev implementation. Date: Tue, 27 Mar 2007 01:43:41 -0400 Generalize the way we keep track of the various resources and assign a unique handle to each resource. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 231 ++++++++++++++---------------- drivers/firewire/fw-device-cdev.h | 7 2 files changed, 119 insertions(+), 119 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Add ioctls to add and remove config rom descriptors. Date: Wed, 28 Mar 2007 21:26:42 +0200 (CEST) Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (fixed whitespace) --- drivers/firewire/fw-card.c | 2 drivers/firewire/fw-device-cdev.c | 94 ++++++++++++++++++++++++++++++ drivers/firewire/fw-device-cdev.h | 23 ++++++- 3 files changed, 114 insertions(+), 5 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Streamline userspace interface structs. Date: Tue, 27 Mar 2007 01:43:39 -0400 Make event struct layout common part include the closure and add a union for all event types; provide a mechanism for setting the bus reset event closure. Shuffle struct fw_cdev_queue_iso fields around to be 64-bit safe. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 14 ++++++++------ drivers/firewire/fw-device-cdev.h | 28 +++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 11 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Remember to set the driver_data pointer when queueing a packet. Date: Mon, 26 Mar 2007 19:18:19 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- --- drivers/firewire/fw-ohci.c | 1 + 1 file changed, 1 insertion(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Use device->groups for adding device attributes. Date: Tue, 27 Mar 2007 19:35:13 -0400 We dynamically create an attribute group for the key present on the device in hand and point device->group to it. This way the device core adds the sysfs attributes for us as the device is added. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 55 ++++++++++++----------------------- drivers/firewire/fw-device.h | 8 +++++ 2 files changed, 28 insertions(+), 35 deletions(-) ======================================================================== Date: Fri, 23 Mar 2007 10:24:02 -0600 From: Marc Butler Subject: [PATCH] firewire: Add phy register defines. Signed-off-by: Marc Butler Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (added whitespace) --- drivers/firewire/fw-card.c | 14 ++++++++++---- drivers/firewire/fw-transaction.h | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 3/3] firewire: Export GUID as sysfs attribute. Date: Tue, 20 Mar 2007 20:58:35 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 2/3] firewire: Add sysfs attributes for config rom directory values. Date: Wed, 21 Mar 2007 10:55:19 -0400 We export the entire config rom, so this is technically redundant, but should make udev rules and HAL integration easier. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 151 ++++++++++++++++++++++++++++++++++- 1 file changed, 147 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 1/3] firewire: Make use of struct device_type. Date: Tue, 20 Mar 2007 20:58:33 -0400 The device_type struct is useful for setting attributes for a device and overriding .release and .uevent for a group of devices. This patch uses it this way to clean up the sysfs code a bit. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 93 +++++++++++++---------------------- 1 file changed, 36 insertions(+), 57 deletions(-) ======================================================================== Date: Tue, 20 Mar 2007 19:44:26 +0100 (CET) From: Stefan Richter Subject: firewire: ROM cache is CPU-endian Puts a stray endian annotation down. Signed-off-by: Stefan Richter --- --- drivers/firewire/fw-device.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Tue, 20 Mar 2007 19:42:15 +0100 (CET) From: Stefan Richter Subject: firewire: fix compiler warnings on 64bit Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-device-cdev.c | 7 ++++--- drivers/firewire/fw-device.c | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) ======================================================================== Date: Mon, 19 Mar 2007 11:37:16 -0400 From: Stefan Richter Subject: firewire: add includes for sem and rw_sem as a precaution. Signed-off-by: Stefan Richter --- --- drivers/firewire/fw-device.c | 2 ++ 1 file changed, 2 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: firewire: Grab dev->sem when doing the update callback. Date: Mon, 19 Mar 2007 11:37:16 -0400 This serializes the update callback with the probe and remove callback from the driver core and prevents remove from being called while update is running for the same device. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ======================================================================== Date: Sun, 18 Mar 2007 01:39:28 +0100 (CET) From: Stefan Richter Subject: firewire: rename CONFIG_FW to CONFIG_FIREWIRE to avoid confusion with CONFIG_FW_LOADER. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg --- drivers/Makefile | 2 +- drivers/firewire/Kconfig | 10 +++++----- drivers/firewire/Makefile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 6/6] firewire: Add ref-counting for sbp2_device and hold a ref while we have work scheduled. Date: Wed, 14 Mar 2007 17:34:58 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 42 ++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 5/6] firewire: Free pending transactions on cdev release. Date: Wed, 14 Mar 2007 17:34:57 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 4/6] firewire: Zero out sd->scsi_host if we fail to register with the SCSI stack. Date: Wed, 14 Mar 2007 17:34:56 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 2 ++ 1 file changed, 2 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 3/6] firewire: Implement deallocation of address ranges. Date: Wed, 14 Mar 2007 17:34:55 -0400 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 28 ++++++++++++++++++++++++++++ drivers/firewire/fw-device-cdev.h | 17 +++++++++++------ 2 files changed, 39 insertions(+), 6 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 2/6] firewire: Move sync and tag parameters to start_iso ioctl. Date: Wed, 14 Mar 2007 17:34:54 -0400 Setting these at create_context time or start_iso time doesn't matter much, but raw1394 sets them at start_iso time so that will be easier to emulate this way. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 20 ++++++++++---------- drivers/firewire/fw-device-cdev.h | 4 ++-- drivers/firewire/fw-iso.c | 12 ++++-------- drivers/firewire/fw-ohci.c | 9 ++++----- drivers/firewire/fw-transaction.h | 13 ++++++------- 5 files changed, 26 insertions(+), 32 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 1/6] firewire: Fix dualbuffer iso receive mode and drop buffer fill mode. Date: Wed, 14 Mar 2007 17:34:53 -0400 The dualbuffer DMA setup did not account for the iso trailer word and thus didn't work correctly. With this fixed we can drop the dual buffer fallback mode. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 28 +++-- drivers/firewire/fw-ohci.c | 160 ++++++++---------------------- 2 files changed, 66 insertions(+), 122 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 21/21] firewire: Implement CSR cycle time and bus time registers. Date: Wed, 7 Mar 2007 12:12:56 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 26 +++++++++++- drivers/firewire/fw-transaction.c | 61 +++++++++++++++++++++++++++++- drivers/firewire/fw-transaction.h | 2 3 files changed, 86 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 20/21] firewire: Implement topology map and fix a couple of loopback bugs. Date: Wed, 7 Mar 2007 12:12:55 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 2 - drivers/firewire/fw-ohci.c | 11 +++++- drivers/firewire/fw-topology.c | 28 ++++++++++++---- drivers/firewire/fw-topology.h | 3 + drivers/firewire/fw-transaction.c | 52 +++++++++++++++++++++++++++--- drivers/firewire/fw-transaction.h | 5 +- 6 files changed, 85 insertions(+), 16 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 19/21] firewire: Export juju specific rcodes to user space. Date: Wed, 7 Mar 2007 12:12:54 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.h | 6 ++++++ 1 file changed, 6 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 18/21] firewire: Add generation field to send_request ioctl struct. Date: Wed, 7 Mar 2007 12:12:53 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 2 +- drivers/firewire/fw-device-cdev.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 17/21] firewire: Add card index field to get_info cdev ioctl struct. Date: Wed, 7 Mar 2007 12:12:52 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 2 ++ drivers/firewire/fw-device-cdev.h | 3 +++ 2 files changed, 5 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 16/21] firewire: Fix order of arguments for iso context creation. Date: Wed, 7 Mar 2007 12:12:51 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 15/21] firewire: Track pending transactions and cancel them on cdev release. Date: Wed, 7 Mar 2007 12:12:50 -0500 Without this, pending transactions will dereference freed memory if they complete after the device file has been closed. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 14/21] firewire: Move async transmit to use the general context code. Date: Wed, 7 Mar 2007 12:12:49 -0500 The old async transmit context handling was starting and stopping DMA for every packet transmission. This could cause silently failing packet transmission, if the DMA was reprogrammed too close to being stopped. The general context code keeps DMA running at all times and fixes this problem. It's also a nice cleanup. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 362 ++++++++++++------------------ drivers/firewire/fw-transaction.h | 3 2 files changed, 150 insertions(+), 215 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 13/21] firewire: Use only a wait queue and terminate poll and read on device removal. Date: Wed, 7 Mar 2007 12:12:48 -0500 Drop the event list semaphore and only use the wait queue and the list to synchronize queue access. Break out of a poll or read whenever the device is disconnected. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 80 +++++++++++++++++++----------- drivers/firewire/fw-device.c | 1 drivers/firewire/fw-device.h | 7 ++ 3 files changed, 59 insertions(+), 29 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 12/21] firewire: Don't time out command orbs, leave that to the scsi stack. Date: Wed, 7 Mar 2007 12:12:47 -0500 The mod_timer based timing out of orb was a little to agressive and would time out legit, but long-lived scsi cmds. Besides, the scsi stack keeps track of this already. Since we're only timing out management orbs, go back to wait_for_completion_timeout. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 11/21] firewire: Add rom_index attribute for unit sysfs directories. Date: Wed, 7 Mar 2007 12:12:46 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 10/21] firewire: Quiet down fw-sbp2 logging a bit, remove stale FIXME. Date: Wed, 7 Mar 2007 12:12:45 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 9/21] firewire: Switch cdev code over to use register_chrdev and keep a list of devices. Date: Wed, 7 Mar 2007 12:12:44 -0500 The old mechanism kept a struct cdev for each fw device, but fops->release would reference this struct after the device got freed in some cases. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 5 ++ drivers/firewire/fw-device.c | 56 +++++++++++++++++++----------- drivers/firewire/fw-device.h | 5 ++ drivers/firewire/fw-transaction.c | 7 +++ 4 files changed, 51 insertions(+), 22 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 8/21] firewire: Generalize get_config_rom to get_info. Date: Wed, 7 Mar 2007 12:12:43 -0500 Repurpose the get_config_rom ioctl to a general get_info ioctl. This ioctl is now used for version negotiation, and optionally returns the config rom, and the current bus info. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 65 ++++++++++++++++++++++-------- drivers/firewire/fw-device-cdev.h | 31 ++++++++++++-- 2 files changed, 75 insertions(+), 21 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 7/21] firewire: Implement ioctl to initiate bus reset. Date: Wed, 7 Mar 2007 12:12:42 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 15 +++++++++++++++ drivers/firewire/fw-device-cdev.h | 16 ++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 6/21] firewire: Add a bus reset event type for fw-device-cdev. Date: Wed, 7 Mar 2007 12:12:41 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 56 ++++++++++++++++++++++++++++++ drivers/firewire/fw-device-cdev.h | 17 +++++++-- drivers/firewire/fw-device.c | 2 + drivers/firewire/fw-device.h | 3 + 4 files changed, 75 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 5/21] firewire: Only use INIT_DELAYED_WORK for first initialization. Date: Wed, 7 Mar 2007 12:12:40 -0500 Use PREPARE_DELAYED_WORK to just change the function pointer. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 4/21] firewire: Iterate through units in a keventd callback for update callbacks. Date: Wed, 7 Mar 2007 12:12:39 -0500 We can't take the klist lock for the child device list in interrupt context. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 3/21] firewire: Clear all interrupt bits before shutting down. Date: Wed, 7 Mar 2007 12:12:38 -0500 Some flaky controllers doesn't honor the masterIntEnable bits and can generate bus reset events even if that bit is cleared. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 2/21] firewire: Drop the unused fw_card device. Date: Wed, 7 Mar 2007 12:12:37 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 40 +++++++++--------------------- drivers/firewire/fw-transaction.h | 3 -- 2 files changed, 13 insertions(+), 30 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 1/21] firewire: Let an fw_descriptor specify a leading immediate key/value pair. Date: Wed, 7 Mar 2007 12:12:36 -0500 This lets us break out "Juju" as the model name in the config rom. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 7 +++++- drivers/firewire/fw-transaction.c | 34 ++++++++++++++++++++++-------- drivers/firewire/fw-transaction.h | 1 3 files changed, 32 insertions(+), 10 deletions(-) ======================================================================== Date: Mon, 05 Mar 2007 18:19:51 -0800 From: Thomas Gleixner Subject: firewire: Scheduled removal of SA_xxx interrupt flags fixups 3 The obsolete SA_xxx interrupt flags have been used despite the scheduled removal. Fixup the remaining users in -mm. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Sun, 4 Mar 2007 14:45:18 +0100 (CET) From: Stefan Richter Subject: firewire: adjust whitespace Remove space before tab and trailing whitespace. Unify indentation of goto target labels. Signed-off-by: Stefan Richter --- --- drivers/firewire/fw-device.c | 6 ++-- drivers/firewire/fw-iso.c | 2 - drivers/firewire/fw-ohci.c | 46 ++++++++++++++++------------------- 3 files changed, 26 insertions(+), 28 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Implement sync and tag matching for isochronous receive. Date: Fri, 16 Feb 2007 17:34:51 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 10 ++++++++- drivers/firewire/fw-device-cdev.h | 8 +++++++ drivers/firewire/fw-iso.c | 8 +++++-- drivers/firewire/fw-ohci.c | 32 ++++++++++++++++++++++++++++-- drivers/firewire/fw-transaction.h | 13 ++++++++++-- 5 files changed, 64 insertions(+), 7 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Configure channel and speed at context creation time. Date: Fri, 16 Feb 2007 17:34:50 -0500 We need the channel number as we queue up iso packets for transmission so we can fill out the header correctly. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 11 +++++++++-- drivers/firewire/fw-device-cdev.h | 5 ++--- drivers/firewire/fw-iso.c | 11 +++++------ drivers/firewire/fw-ohci.c | 4 ++-- drivers/firewire/fw-transaction.h | 6 +++--- 5 files changed, 21 insertions(+), 16 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Store OHCI version and make sure we have at least 1.1 before doing dualbuffer. Date: Fri, 16 Feb 2007 17:34:49 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Get zeroed out pages for mapping to user space. Date: Fri, 16 Feb 2007 17:34:48 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-iso.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Don't touch DMA descriptors after appending. Date: Fri, 16 Feb 2007 17:34:47 -0500 When a DMA descriptor is appended to the context we sync it for DMA and the device might potentially read it immediately. So, we can't set the IRQ bits in the descriptor after appending. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Use a buffer fill descriptor for receive when header size is 0. Date: Fri, 16 Feb 2007 17:34:46 -0500 When the DMA is setup to not strip any headers, we need to use the buffer fill descriptor instead of the dual buffer, since the dual buffer descriptor must strip a non-zero number of header quadlets. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-iso.c | 2 drivers/firewire/fw-ohci.c | 107 +++++++++++++++++++++++++----- drivers/firewire/fw-transaction.h | 3 3 files changed, 95 insertions(+), 17 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Set correct buffer lengths for dualbuffer DMA descriptor. Date: Fri, 16 Feb 2007 17:34:45 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Acummulate received iso headers and send them back to user space. Date: Fri, 16 Feb 2007 17:34:44 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 25 ++++++++++----- drivers/firewire/fw-device-cdev.h | 2 + drivers/firewire/fw-ohci.c | 49 ++++++++++++++++++++---------- drivers/firewire/fw-transaction.h | 5 ++- 4 files changed, 57 insertions(+), 24 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Log OHCI chipset version in PCI probe. Date: Fri, 16 Feb 2007 17:34:43 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Implement functionality to stop isochronous DMA contexts. Date: Fri, 16 Feb 2007 17:34:42 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 7 ++++ drivers/firewire/fw-device-cdev.h | 1 drivers/firewire/fw-iso.c | 7 ++++ drivers/firewire/fw-ohci.c | 44 ++++++++++++++++++++++-------- drivers/firewire/fw-transaction.h | 5 +++ 5 files changed, 53 insertions(+), 11 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Rename 'send_iso' to 'start_iso'. Date: Fri, 16 Feb 2007 17:34:41 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 12 ++++++------ drivers/firewire/fw-device-cdev.h | 4 ++-- drivers/firewire/fw-iso.c | 8 ++++---- drivers/firewire/fw-ohci.c | 4 ++-- drivers/firewire/fw-transaction.h | 8 ++------ 5 files changed, 16 insertions(+), 20 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Implement basic isochronous receive functionality. Date: Fri, 16 Feb 2007 17:34:40 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 23 +++- drivers/firewire/fw-device-cdev.h | 5 drivers/firewire/fw-iso.c | 7 - drivers/firewire/fw-ohci.c | 168 ++++++++++++++++++++++++++---- drivers/firewire/fw-ohci.h | 1 drivers/firewire/fw-transaction.h | 7 - 6 files changed, 181 insertions(+), 30 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Generalize the iso transmit descriptor buffer logic. Date: Fri, 16 Feb 2007 17:34:39 -0500 The descriptor circular buffer logic used for iso transmission is useful for async transmit too, so pull the sharable logic out in a few standalone functions. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 360 ++++++++++++++++++++++--------------- 1 file changed, 218 insertions(+), 142 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Split the iso buffer out from fw_iso_context and avoid vmalloc. Date: Fri, 16 Feb 2007 17:34:38 -0500 This patch splits out the iso buffer so we can initialize it at mmap time with the size provided in the mmap call. Furthermore, allocate the backing pages using alloc_page to avoid setting up kernel side virtual memory mappings for the pages. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 65 +++++++++++----- drivers/firewire/fw-device-cdev.h | 2 drivers/firewire/fw-iso.c | 120 ++++++++++++++++-------------- drivers/firewire/fw-ohci.c | 12 ++- drivers/firewire/fw-transaction.h | 38 +++++++-- 5 files changed, 152 insertions(+), 85 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Use correct payload pointer when demarshalling incoming requests. Date: Fri, 16 Feb 2007 17:34:37 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Read the *Clear versions of the iso interrupt register. Date: Fri, 16 Feb 2007 17:34:36 -0500 The *Clear registers returns the masked value when read which is what we want. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH] firewire: Fix another typo from the bitfield conversion. Date: Fri, 16 Feb 2007 17:34:35 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 11/11] firewire: Use dma_mapping_error() for checking for DMA mapping errors. Date: Tue, 6 Feb 2007 14:49:40 -0500 Pointed out by Pete Zaitcev. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-iso.c | 21 +++++++++++++++------ drivers/firewire/fw-ohci.c | 23 +++++++++++++++-------- drivers/firewire/fw-sbp2.c | 28 +++++++++++++++++----------- 3 files changed, 47 insertions(+), 25 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 10/11] firewire: Credit the old sbp2.c driver for being a good starting point. Date: Tue, 6 Feb 2007 14:49:39 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 9/11] firewire: Use atomic_t's for serial numbers. Date: Tue, 6 Feb 2007 14:49:38 -0500 Signed-off-by: Kristian Høgsberg Use atomic_inc_return. Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 4 ++-- drivers/firewire/fw-device.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 8/11] firewire: Spell out fw as firewire in sysfs. Date: Tue, 6 Feb 2007 14:49:37 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 7/11] firewire: Complete SCSI commands with DID_BUS_BUSY when a bus reset happens. Date: Tue, 6 Feb 2007 14:49:36 -0500 This lets the SCSI stack retry the command when a SCSI command is interrupted by a FireWire bus reset. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 6/11] firewire: Schedule topology work before calling driver update functions. Date: Tue, 6 Feb 2007 14:49:35 -0500 This prevents superfluous bus traffic as fw-sbp2 logs in only to get kicked off the device by another bus reset as the driver core does bus management. Scheduling it this way lets the driver core finish bus management before higher level drivers get the update callback. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-topology.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 5/11] firewire: Introduce a retry mechanism for reconnects and logins. Date: Tue, 6 Feb 2007 14:49:34 -0500 Sometimes we reconnect too soon, sometimes too late. Adding a retry mechanism make the reconnect step much more robust. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 180 ++++++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 71 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 4/11] firewire: fw-sbp2: Do ORB timeout right. Date: Tue, 6 Feb 2007 14:49:33 -0500 When a management ORB times out, either because the fw_transaction times out or when we don't get the status write, we need to properly cancel the entire operation. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 3/11] firewire: Implement proper transaction cancelation. Date: Tue, 6 Feb 2007 14:49:32 -0500 Drivers such as fw-sbp2 had no way to properly cancel in-progress transactions, which could leave a pending transaction or an unset packet in the low-level queues after kfree'ing the containing structure. fw_cancel_transaction() lets drivers cancel a submitted transaction. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 7 +++ drivers/firewire/fw-ohci.c | 33 ++++++++++++++++++ drivers/firewire/fw-sbp2.c | 3 + drivers/firewire/fw-transaction.c | 54 ++++++++++++++++++++++++++---- drivers/firewire/fw-transaction.h | 5 ++ 5 files changed, 95 insertions(+), 7 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 2/11] firewire: Reduce some redundant register definitions. Date: Tue, 6 Feb 2007 14:49:31 -0500 Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 50 ++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 28 deletions(-) ======================================================================== From: =?utf-8?q?Kristian_H=C3=B8gsberg?= Subject: [PATCH 1/11] firewire: Rework async receive DMA. Date: Tue, 6 Feb 2007 14:49:30 -0500 The old DMA program for receiving async packets stops DMA while processing received packets and only expects one packet per interrupt. Stopping DMA can silently drop packets and we need to handle multiple received packets per interrupt. This new version keeps DMA running at all times and just append new pages as buffers fill up, and supports multiple packets per interrupt. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 210 ++++++++++++++++++------------ drivers/firewire/fw-transaction.c | 3 2 files changed, 131 insertions(+), 82 deletions(-) ======================================================================== Date: Sat, 27 Jan 2007 10:34:55 +0100 (CET) From: Stefan Richter Subject: firewire: use atomic type for fw_device.state Signed-off-by: Stefan Richter --- --- drivers/firewire/fw-card.c | 2 +- drivers/firewire/fw-device.c | 6 +++--- drivers/firewire/fw-device.h | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:49 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 10/10] firewire: Make sure we wait for DMA to stop before we reprogram it. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:45 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 9/10] firewire: Implement compliant bus management. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 127 +++++++++++++++++++++++++----- drivers/firewire/fw-device.c | 2 drivers/firewire/fw-topology.c | 7 - drivers/firewire/fw-transaction.h | 6 - 4 files changed, 117 insertions(+), 25 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:38 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 8/10] firewire: Fix bit shift typo. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:34 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 7/10] firewire: Sanitize send error codes. Drop the negative errnos and use RCODEs for all error codes in the complete transaction callback. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 20 ++++++++++---------- drivers/firewire/fw-transaction.c | 12 ++++++------ drivers/firewire/fw-transaction.h | 2 ++ 3 files changed, 18 insertions(+), 16 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:26 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 6/10] firewire: Handle access to CSR resources on local node. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 130 ++++++++++++++++++++++++++---- drivers/firewire/fw-transaction.c | 14 ++- drivers/firewire/fw-transaction.h | 31 +++++++ 3 files changed, 154 insertions(+), 21 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:18 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 5/10] firewire: Add lock transaction opcodes to fw-device-cdev.h. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.h | 8 ++++++++ 1 file changed, 8 insertions(+) ======================================================================== Date: Fri, 26 Jan 2007 00:38:13 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 4/10] firewire: Clean up response handling. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-transaction.c | 54 +++++++++++++++--------------- 1 file changed, 27 insertions(+), 27 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:38:04 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 3/10] firewire: Loop requests to the host controller back into the stack. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-device.c | 5 ----- drivers/firewire/fw-ohci.c | 33 +++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 13 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:37:57 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 2/10] firewire: Use struct fw_packet for incoming packets too in controller interface. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 65 +++++++++++++------ drivers/firewire/fw-transaction.c | 99 ++++++++++++++---------------- drivers/firewire/fw-transaction.h | 13 +-- 3 files changed, 94 insertions(+), 83 deletions(-) ======================================================================== Date: Sat, 27 Jan 2007 16:59:15 +0100 (CET) From: Stefan Richter Subject: firewire: fix compilation with gcc 3.4 drivers/firewire/fw-topology.c: In function `report_found_node': drivers/firewire/fw-topology.c:345: error: `typeof' applied to a bit-field drivers/firewire/fw-topology.c:345: error: `typeof' applied to a bit-field Signed-off-by: Stefan Richter --- gcc 4.1.1 (Gentoo 4.1.1-r3) is fine with this. gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk) doesn't like it. --- drivers/firewire/fw-topology.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ======================================================================== Date: Fri, 26 Jan 2007 00:37:50 -0500 From: Kristian =?utf-8?B?SMO4Z3NiZXJn?= Subject: [PATCH 1/10] firewire: Implement gap count optimization. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 46 ++++++++++++------ drivers/firewire/fw-topology.c | 76 ++++++++++++++++++++++++++---- drivers/firewire/fw-topology.h | 15 ++++- drivers/firewire/fw-transaction.c | 8 ++- drivers/firewire/fw-transaction.h | 6 +- 5 files changed, 120 insertions(+), 31 deletions(-) ======================================================================== Date: Tue, 23 Jan 2007 21:20:08 +0100 (CET) From: Stefan Richter Subject: firewire: fw-sbp2: set command set related device flags Copied from sbp2: - enable spin-up by START STOP UNIT for all devices - enable INQUIRY (36) workaround on demand - prefer READ/ WRITE (10) over (6) for all devices - prefer MODE SENSE (10) for MMC devices Signed-off-by: Stefan Richter --- drivers/firewire/fw-sbp2.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) ======================================================================== Date: Tue, 23 Jan 2007 21:11:43 +0100 (CET) From: Stefan Richter Subject: firewire: consistent usage of node_id Definitions as per IEEE 1212 and IEEE 1394: Node ID: Concatenation of bus ID and local ID. 16 bits long. Bus ID: Identifies a particular bus within a group of buses interconnected by bus bridges. Local ID: Identifies a particular node on a bus. PHY ID: Local ID of IEEE 1394 nodes. 6 bits long. Never ever use a variable called node_id for anything else than a node ID. Signed-off-by: Stefan Richter --- drivers/firewire/fw-device-cdev.c | 2 +- drivers/firewire/fw-device.c | 4 ++-- drivers/firewire/fw-ohci.c | 21 ++++++++++++--------- drivers/firewire/fw-sbp2.c | 8 ++++---- drivers/firewire/fw-topology.c | 2 +- drivers/firewire/fw-transaction.c | 6 +++--- 6 files changed, 23 insertions(+), 20 deletions(-) ======================================================================== Date: Tue, 23 Jan 2007 21:09:23 +0100 (CET) From: Stefan Richter Subject: firewire: fw-ohci: remove unnecessary macro Cleans up after patch "Add PCI class ID for firewire OHCI controllers". Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- Update: linux/pci.h includes linux/pci_ids.h for us --- drivers/firewire/fw-ohci.c | 3 --- 1 file changed, 3 deletions(-) ======================================================================== Date: Sun, 21 Jan 2007 20:50:11 +0100 (CET) From: Stefan Richter Subject: firewire: fw-sbp2: remove unused macro Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- --- drivers/firewire/fw-sbp2.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) ======================================================================== Date: Sun, 21 Jan 2007 20:49:38 +0100 (CET) From: Stefan Richter Subject: firewire: fw-sbp2: remove bogus "emulated" host flag There is no emulation going on here too. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- --- drivers/firewire/fw-sbp2.c | 1 - 1 file changed, 1 deletion(-) ======================================================================== Date: Sun, 21 Jan 2007 20:46:45 +0100 (CET) From: Stefan Richter Subject: firewire: fix failure path in ohci_enable_phys_dma "goto out" happens with the lock taken. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- --- drivers/firewire/fw-ohci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) ======================================================================== Date: Sun, 21 Jan 2007 20:45:32 +0100 (CET) From: Stefan Richter Subject: firewire: comma after last enum item or initializer Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- Update: added fw-device.c::modalias_attribute --- drivers/firewire/fw-card.c | 2 +- drivers/firewire/fw-device-cdev.c | 2 +- drivers/firewire/fw-device.c | 8 ++++---- drivers/firewire/fw-device.h | 2 +- drivers/firewire/fw-ohci.c | 2 +- drivers/firewire/fw-sbp2.c | 2 +- drivers/firewire/fw-topology.h | 2 +- drivers/firewire/fw-transaction.c | 12 ++++++------ 8 files changed, 16 insertions(+), 16 deletions(-) ======================================================================== Date: Sun, 21 Jan 2007 20:44:09 +0100 (CET) From: Stefan Richter Subject: firewire: whitespace adjustments Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg --- drivers/firewire/fw-card.c | 41 ++---- drivers/firewire/fw-device-cdev.h | 18 +-- drivers/firewire/fw-device.c | 4 drivers/firewire/fw-device.h | 6 - drivers/firewire/fw-iso.c | 4 drivers/firewire/fw-ohci.c | 5 drivers/firewire/fw-ohci.h | 44 +++---- drivers/firewire/fw-topology.c | 1 drivers/firewire/fw-topology.h | 8 - drivers/firewire/fw-transaction.c | 8 - drivers/firewire/fw-transaction.h | 178 +++++++++++++++--------------- 11 files changed, 146 insertions(+), 171 deletions(-) ======================================================================== Date: Mon, 22 Jan 2007 19:17:37 +0100 From: Adrian Bunk Subject: [-mm patch] firewire: cleanups This patch contains the following cleanups: - "extern inline" -> "static inline" - fw-topology.c: make struct fw_node_create static Signed-off-by: Adrian Bunk Signed-off-by: Stefan Richter --- drivers/firewire/fw-ohci.c | 8 ++++---- drivers/firewire/fw-topology.c | 2 +- drivers/firewire/fw-topology.h | 6 +++--- drivers/firewire/fw-transaction.c | 2 +- drivers/firewire/fw-transaction.h | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) ======================================================================== Date: Sun, 14 Jan 2007 15:29:07 +0100 (CET) From: Stefan Richter Subject: firewire: mark some structs const Instances of struct file_operations and struct fw_card_driver can be qualified as "const". Ditto with struct fw_descriptor.data, struct fw_device_id, and predefined instances of struct fw_address_region, at least in the current implementation. Data qualified as const is placed into the .rodata section which won't be mixed with dirty data. Signed-off-by: Stefan Richter --- drivers/firewire/fw-card.c | 2 +- drivers/firewire/fw-device-cdev.c | 2 +- drivers/firewire/fw-device.c | 2 +- drivers/firewire/fw-device.h | 4 ++-- drivers/firewire/fw-ohci.c | 2 +- drivers/firewire/fw-sbp2.c | 2 +- drivers/firewire/fw-transaction.c | 14 +++++++------- drivers/firewire/fw-transaction.h | 18 +++++++++--------- 8 files changed, 23 insertions(+), 23 deletions(-) ======================================================================== Date: Sun, 7 Jan 2007 22:33:59 +0100 (CET) From: Stefan Richter Subject: firewire: additional help in Kconfig Signed-off-by: Stefan Richter --- Update: Additional help for fw-ohci and fw-sbp2 drivers/firewire/Kconfig | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) ======================================================================== Date: Sun, 31 Dec 2006 17:20:20 +0100 (CET) From: Stefan Richter Subject: firewire: put old and new stack into same Kconfig submenu Screenshot from "make menuconfig": ... ?????????????????????? IEEE 1394 (FireWire) support ??????????????????????? ? Arrow keys navigate the menu. selects submenus --->. ? ... ? ??????????????????????????????????????????????????????????????????????? ? ? ? IEEE 1394 (FireWire) support (JUJU alternative stack, experim? ? ? ? Support for OHCI firewire host controllers ? ? ? ? Support for storage devices (SBP-2 protocol driver) ? ? ? ? IEEE 1394 (FireWire) support ? ? ? ? --- Subsystem Options ? ? ? ? [ ] Excessive debugging output ? ? ... ?