GIT c57719f330ec71ba80ada53ada19ba23820eac5d git+ssh://master.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git commit Author: Stefan Richter Date: Sat Feb 10 23:57:57 2007 +0100 ieee1394: eth1394: clean up host removal ether1394_add_host() guarantees that hi->dev != NULL if hi != NULL. Signed-off-by: Stefan Richter commit a2a474ce8199fea536b8361e31098ef37070e887 Author: Stefan Richter Date: Sat Feb 10 23:56:38 2007 +0100 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 commit 94a6c285bad2d4fea6bc7ee127c036e4954af20f Author: Stefan Richter Date: Sat Feb 10 22:07:38 2007 +0100 ieee1394: deserialize nodemgr between several hosts We can let multiple knodemgrd threads run concurrently since there is other lock protection in place for data shared across hosts, in particular the rwsems which are used to protect driver core data. Signed-off-by: Stefan Richter commit 1e403c1f01e33a310b497cdb79ddabfdd09301c0 Author: Stefan Richter Date: Sat Feb 10 22:06:18 2007 +0100 ieee1394: fix another deadlock in nodemgr A "modprobe ohci1394; sleep 1.5; modprobe -r ohci1394" could get stuck in uninterruptible state, especially if an external node was connected. http://bugzilla.kernel.org/show_bug.cgi?id=7792 Signed-off-by: Stefan Richter commit b221cdece82fd91617fc92d3313f003ea36f12e4 Author: Stefan Richter Date: Mon Feb 12 20:39:42 2007 +0100 ieee1394: raw1394: bump userspace API version for iso cycle timer read extension Signed-off-by: Stefan Richter commit 162a56dd10952c13b193a26a94907de9acfc7137 Author: Stefan Richter Date: Sun Feb 11 15:54:12 2007 +0100 ieee1394: raw1394: remove underscore from a struct name Signed-off-by: Stefan Richter commit 5468ee91741092a711327628c7c524a4d4d0cd6a Author: Pieter Palmers Date: Sat Feb 3 17:44:39 2007 +0100 ieee1394: cycle timer read extension for raw1394 This implements the simultaneous read of the isochronous cycle timer and the system clock (in usecs). This allows to express the exact receive time of an ISO packet as a system time with microsecond accuracy. http://bugzilla.kernel.org/show_bug.cgi?id=7773 The counterpart patch for libraw1394 can be found at http://thread.gmane.org/gmane.linux.kernel.firewire.devel/8934 Patch update (Stefan R.): - Disable preemption and local interrupts. - Fix integer overflow. - Add paranoid error checks and kerneldoc to hpsb_read_cycle_timer. Move it to other ieee1394_core high-level API functions. - Change comments. Adjust whitespace. Signed-off-by: Stefan Richter commit c85bd3015d6e2e54585b3b10040588b71fd3b3fd Author: Kristian Høgsberg Date: Tue Feb 6 14:49:40 2007 -0500 Use dma_mapping_error() for checking for DMA mapping errors. Pointed out by Pete Zaitcev. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 268885b129b9d8fd329015900d07bcccec0a98c3 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:39 2007 -0500 Credit the old sbp2.c driver for being a good starting point. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit c47a3d62364460d58e37c8ad9d336d84bece85be Author: Kristian Høgsberg Date: Tue Feb 6 14:49:38 2007 -0500 Use atomic_t's for serial numbers. Signed-off-by: Kristian Høgsberg Use atomic_inc_return. Signed-off-by: Stefan Richter commit 806358415e6869292549ecc35b0a6175e9fb73ee Author: Kristian Høgsberg Date: Tue Feb 6 14:49:37 2007 -0500 Spell out fw as firewire in sysfs. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit b41ad18a31f13046c3972cb364af4683bd93b785 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:36 2007 -0500 Complete SCSI commands with DID_BUS_BUSY when a bus reset happens. 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 commit 9d8a7e8bc337a473ea786e1481229ba6854ae77d Author: Kristian Høgsberg Date: Tue Feb 6 14:49:35 2007 -0500 Schedule topology work before calling driver update functions. 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 commit 6c5d18b14b7de3b50077d97ae8eb8ba2ff006cda Author: Kristian Høgsberg Date: Tue Feb 6 14:49:34 2007 -0500 Introduce a retry mechanism for reconnects and logins. 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 commit 2e015837b2893191fd4fec96d451b89f8cc03212 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:33 2007 -0500 fw-sbp2: Do ORB timeout right. 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 commit cc21798b39860a12a7a91114dddc6548e0d89153 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:32 2007 -0500 Implement proper transaction cancelation. 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 commit 63e80781ecee6cfa0a138312eeec4f25ffcd628c Author: Kristian Høgsberg Date: Tue Feb 6 14:49:31 2007 -0500 Reduce some redundant register definitions. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 06b1d729a571be8cd50d6668d5805f8060edd7d2 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:30 2007 -0500 Rework async receive DMA. 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 commit fcfbcd4343e546d92716ef98527f80dd341883c9 Author: Stefan Richter Date: Tue Feb 6 02:34:45 2007 +0100 ieee1394: fix host device registering when nodemgr disabled Since my commit 8252bbb1363b7fe963a3eb6f8a36da619a6f5a65 in 2.6.20-rc1, host devices have a dummy driver attached. Alas the driver was not registered before use if ieee1394 was loaded with disable_nodemgr=1. http://bugzilla.kernel.org/show_bug.cgi?id=7942 Signed-off-by: Stefan Richter commit 46e9e59185d643f13cfb1dc6a990e1bfece5a24c Author: David Moore Date: Sat Feb 3 03:09:09 2007 -0500 ieee1394: video1394: DMA fix This together with the phys_to_virt fix in lib/swiotlb.c::swiotlb_sync_sg fixes video1394 DMA on machines with DMA bounce buffers, especially Intel x86-64 machines with > 3GB RAM. Signed-off-by: Stefan Richter Signed-off-by: David Moore Tested-by: Nicolas Turro commit a5f979286db3e34c60423852016dce3195f03d33 Author: Stefan Richter Date: Sun Feb 4 20:57:38 2007 +0100 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 commit 2ddd89851611d5b4615f19441f82f4f1b589c9b2 Author: Stefan Richter Date: Sun Feb 4 20:54:57 2007 +0100 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 commit d7a2adac01681bcc05b8e5aed6eda708fdb3270b Author: Stefan Richter Date: Sun Feb 4 20:25:43 2007 +0100 ieee1394: sbp2: enforce 32bit DMA mapping In order to use OHCI-1394 physical DMA, all s/g elements, s/g tables, ORBs, and response buffers have to reside within the first 4 GB of the FireWire controller's physical address space. Set the correct mask for DMA mappings. Signed-off-by: Stefan Richter commit 64cdff55ed5a44422985cc7e0c4937405301991d Author: Stefan Richter Date: Sun Feb 4 13:04:32 2007 +0100 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 commit 46d2069a3fc6dcca5928e2094dc5a7479836cd02 Author: Stefan Richter Date: Sat Feb 3 16:48:51 2007 +0100 ieee1394: raw1394: prevent unloading of low-level driver Unloading the low-level driver module of a FireWire host can lead to all sorts of trouble if a raw1394 userspace client is using the host. Just disallow it by incrementing the LLD's module reference count on a RAW1394_REQ_SET_CARD write operation. Decrement it when the file is closed. This feature wouldn't be relevant if "modprobe -r video1394" or "modprobe -r dv1394" didn't automatically unload ohci1394 too. http://bugzilla.kernel.org/show_bug.cgi?id=7701 Signed-off-by: Stefan Richter Signed-off-by: Dan Dennedy commit 2680c78afc8f0e73920af167fd5d34b669d812c5 Author: Stefan Richter Date: Sat Jan 27 13:54:23 2007 +0100 ieee1394: dv1394: tidy up card removal small coding style touch-up and terser coding Signed-off-by: Stefan Richter commit ce9dd8a20b238d7ab6dc2d0727cb4cd4f9c6d495 Author: Stefan Richter Date: Sat Jan 27 13:52:52 2007 +0100 ieee1394: dv1394: fix CardBus card ejection Fix NULL pointer dereference on hot ejection of a FireWire card while dv1394 was loaded. http://bugzilla.kernel.org/show_bug.cgi?id=7121 I did not test card ejection with open /dev/dv1394 files yet. Signed-off-by: Stefan Richter commit 20501596238d3d7a2d490af82f8e0eb009704385 Author: Stefan Richter Date: Sat Jan 27 16:59:15 2007 +0100 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 commit d392a8a3ee0a0ff05b8c4b308730e48fae35faeb Author: Stefan Richter Date: Sat Jan 27 10:34:55 2007 +0100 firewire: use atomic type for fw_device.state Signed-off-by: Stefan Richter commit 49141de922a0090279baee4b293ae27b92b6a976 Author: Stefan Richter Date: Tue Jan 23 21:20:08 2007 +0100 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 commit 5910e36828c1fd4561d8f8ffaf4b76fdf7bde880 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:49 2007 -0500 Make sure we wait for DMA to stop before we reprogram it. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 400a0fc0340c97e754d9848900c48560528ae3cf Author: Kristian Høgsberg Date: Fri Jan 26 00:38:45 2007 -0500 Implement compliant bus management. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 671ee732c4bd6dd2e461299f09e943295f93db3c Author: Kristian Høgsberg Date: Fri Jan 26 00:38:38 2007 -0500 Fix bit shift typo. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit aa62dfd3680ef653fa80dadad6bb50203844e725 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:34 2007 -0500 Sanitize send error codes. Drop the negative errnos and use RCODEs for all error codes in the complete transaction callback. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 4482637792c2b4d41629035fde5172def53be73b Author: Kristian Høgsberg Date: Fri Jan 26 00:38:26 2007 -0500 Handle access to CSR resources on local node. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 0d07fdc4f033fc539fe4427dd88f1393a0b7de21 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:18 2007 -0500 Add lock transaction opcodes to fw-device-cdev.h. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit db932da61cb869389cc6e5e2878b14ead76f9385 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:13 2007 -0500 Clean up response handling. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit d056d380a04a96368e97c2b3296fb0366de8e9a5 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:04 2007 -0500 Loop requests to the host controller back into the stack. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 7d65248266e535632ae742be6dce0fb29ffa31cc Author: Kristian Høgsberg Date: Fri Jan 26 00:37:57 2007 -0500 Use struct fw_packet for incoming packets too in controller interface. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 20b5afb3883ede95cc60c6f52cb97d5e76f9be19 Author: Kristian Høgsberg Date: Fri Jan 26 00:37:50 2007 -0500 Implement gap count optimization. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit ff4754ed71363750f90c9044ea0f1bfaac62c9e5 Author: Stefan Richter Date: Thu Jan 25 22:35:47 2007 +0100 ieee1394: sbp2: lower block queue alignment requirement The old setting is copy & waste from usb-storage and doesn't apply to sbp2. There is only 4-byte alignment required for everything, except for S/G table elements which have to be 8-byte aligned according to the SBP-2 spec. (They happen to be ____cacheline_aligned in our implementation. Whether that's good is another question.) We now simply don't tune block queue alignment at all. The default alignment would surely never become anything else than a multiple of 4, else tons of calls to blk_queue_dma_alignment would have to be added everywhere in drivers/... Signed-off-by: Stefan Richter commit fe6440a38dfed0ca084dfe5e6e7160d59737719d Author: Stefan Richter Date: Tue Jan 23 21:11:43 2007 +0100 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 commit dd76107832eb38ad1e6abbbb3ae152945bda6bf2 Author: Stefan Richter Date: Tue Jan 23 21:09:23 2007 +0100 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 Hoegsberg commit 2799fe14c79da285e30a0d435dba5c09007026d2 Author: Stefan Richter Date: Sun Jan 21 20:50:11 2007 +0100 firewire: fw-sbp2: remove unused macro Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit a085eb93664492988cf6ebd1bc5bd93617ac2448 Author: Stefan Richter Date: Sun Jan 21 20:49:38 2007 +0100 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 Hoegsberg commit 6e5fef8066117adf5757d515e5834f48304ef315 Author: Stefan Richter Date: Sun Jan 21 20:46:45 2007 +0100 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 Hoegsberg commit 5a69f8a27715a56c3fc61080e9fa612c96ce95c3 Author: Stefan Richter Date: Sun Jan 21 20:45:32 2007 +0100 firewire: comma after last enum item or initializer Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit ba6398427b777cbc7b6635008f5128eed056bd00 Author: Stefan Richter Date: Sun Jan 21 20:44:09 2007 +0100 firewire: whitespace adjustments Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit 82279ff73f730ea6183ecd993327a588accab88f Author: Adrian Bunk Date: Mon Jan 22 19:17:37 2007 +0100 drivers/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: Kristian Høgsberg Signed-off-by: Stefan Richter commit 12434a56c657b0bfacae769076f499ad6538a98a Author: Stefan Richter Date: Sun Jan 14 15:29:07 2007 +0100 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 commit 64fa177093706ef32878a7b338c4f3ba353d6762 Author: Stefan Richter Date: Sun Jan 7 22:33:59 2007 +0100 firewire: additional help in Kconfig Signed-off-by: Stefan Richter commit 97727a0ded217d5b33f5fa0fe553e94417eac267 Author: Stefan Richter Date: Sun Dec 31 17:20:20 2006 +0100 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 ? ? ... ?