GIT 82769d7578cd1e996c9bfd6ef8e192b982f5e073 git+ssh://master.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git commit 82769d7578cd1e996c9bfd6ef8e192b982f5e073 Author: Stefan Richter Date: Sat Apr 21 16:37:41 2007 +0200 whitespace change will be wrapped into "ieee1394: eth1394: fix error path in module_init" Signed-off-by: Stefan Richter commit 39b3228954f01e5df8ddefd7ce17860d60ead3b7 Author: Akinobu Mita Date: Sat Apr 21 18:36:26 2007 +0900 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 commit 3bed41b35a06cae43022f8ca2928c1036793c048 Author: Stefan Richter Date: Mon Apr 2 02:24:27 2007 +0200 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 commit 919f30e035b9635ffb32f8cd858284323f179b5e Author: Stefan Richter Date: Mon Apr 2 02:23:19 2007 +0200 ieee1394: eth1394: hard_start_xmit is called in atomic context Signed-off-by: Stefan Richter commit 550b2dbad68155330aef2a6d066d9e517aa392a7 Author: Stefan Richter Date: Mon Apr 2 02:22:21 2007 +0200 ieee1394: eth1394: some conditions are unlikely Signed-off-by: Stefan Richter commit 11d10f7f6cde6875924a4f100f3d2fca8ca46289 Author: Stefan Richter Date: Mon Apr 2 02:21:46 2007 +0200 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 commit 4aaca1c8a6f89b13510f613043b7eb4a4d96c75a Author: Stefan Richter Date: Mon Apr 2 02:20:37 2007 +0200 ieee1394: eth1394: don't use alloc_etherdev Signed-off-by: Stefan Richter commit 8b5f9d10c67e3b242508ad979a6062bc068ac6b3 Author: Stefan Richter Date: Mon Apr 2 02:19:48 2007 +0200 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 commit 9800000fddfc08dd5ae4c1019ac3be759bdf8d1c Author: Stefan Richter Date: Mon Apr 2 02:19:02 2007 +0200 ieee1394: eth1394: CONFIG_INET is always defined because CONFIG_IEEE1394_ETH1394 depends on it. Signed-off-by: Stefan Richter commit 5e3774bab0dad1b369d2d931ecd2fcbc79798577 Author: Stefan Richter Date: Tue Apr 3 23:55:40 2007 +0200 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 commit 6e5f76fcd6ac35fc05ea836658d560d5d6df4844 Author: Stefan Richter Date: Mon Apr 2 02:16:40 2007 +0200 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 commit cf033bc2a9496a848a0f35c3b9ac993cce32f1b2 Author: Stefan Richter Date: Mon Apr 2 02:15:53 2007 +0200 ieee1394: eth1394: shorter error messages Signed-off-by: Stefan Richter commit afc5abb53503b711886ef152fc5ab4065cccfad5 Author: Stefan Richter Date: Mon Apr 2 02:15:21 2007 +0200 ieee1394: eth1394: correct a memset argument The old argument calculated the correct value in a wrong way. Signed-off-by: Stefan Richter commit b1258000e78a12d9a98698b404d2c46c187733a3 Author: Stefan Richter Date: Mon Apr 2 02:14:45 2007 +0200 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 commit 2cdffb81919ca8965880f318f9d78f95d56c4396 Author: Stefan Richter Date: Mon Apr 2 02:13:51 2007 +0200 ieee1394: eth1394: .probe and .update may sleep Signed-off-by: Stefan Richter commit 08055829effb2b36da5a25834157983075cf62a1 Author: Stefan Richter Date: Mon Apr 2 02:12:32 2007 +0200 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 commit a3737923ffaa61bdf4d819c79dd7b42728a146e5 Author: Stefan Richter Date: Fri Apr 20 23:21:35 2007 +0200 ieee1394: update MAINTAINERS database - update Ben's address - replace Ben's contact by mine as raw1394's 2nd contact - eth1394's and pcilynx's maintenance doesn't really differ from that of other parts of the stack like video1394 Signed-off-by: Stefan Richter Acked-by: Ben Collins commit 9c844a365c173deb83118818df763cbbd285d61e Author: Bernhard Kauer Date: Fri Apr 20 13:59:54 2007 +0200 ieee1394: ohci1394: remove unnecessary rcvPhyPkt bit flipping in LinkControl register 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 commit dde2b954302d143deee6dbd931ba2aa21413bb0a Author: Kristian Høgsberg Date: Tue Apr 17 11:51:57 2007 -0400 firewire: Don't use subsystem rwsem, it's going away. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 28f504e7bcf08ab1c7d2c9cd0bcf5952f0e840f4 Author: Stefan Richter Date: Thu Apr 12 22:21:55 2007 +0200 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 commit f6a23185a7336aa8777ed8a2eeb209f157b3110f Author: Stefan Richter Date: Tue Apr 10 02:39:07 2007 +0200 ieee1394: revert "deserialize nodemgr between several hosts" to temporary resolve clash with "IEEE1394: remove rwsem use from ieee1394 core" by Greg KH. TODO: Some attribute _set_ functions in nodemgr have to be serialized too. Signed-off-by: Stefan Richter commit 0fc7d6e4f4c243b49077b29466c9e135e3401938 Author: Kristian Høgsberg Date: Wed Apr 11 18:44:33 2007 -0400 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 commit 12f26aa1b172a32604fedcb98d68c7aef268d6ad Author: Kristian Høgsberg Date: Tue Apr 10 18:11:20 2007 -0400 firewire: Only free ORBs that completed the initial transaction. 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 commit fbb5423c1df99c846677480ce44588176352f7d9 Author: Kristian Høgsberg Date: Tue Apr 10 18:11:18 2007 -0400 firewire: Forward SAM status codes to the scsi stack. 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 commit 053b30808f693b2e4bbef2955c2dad0fcacdb806 Author: Kristian Høgsberg Date: Tue Apr 10 18:11:17 2007 -0400 firewire: Check for CONTEXT_RUN not CONTEXT_ACTIVE when starting AT DMA context. Doh, bad typo... Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 15536221d1f09ae7707f70a183045ee20d8bcf17 Author: Kristian Høgsberg Date: Tue Apr 10 18:11:16 2007 -0400 firewire: Byteswap iso header so all headers are presented as be32. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit ca79b9d41152ff8605ed5503fd4cbfe0ea60ee7f Author: Milind Arun Choudhary Date: Wed Apr 11 23:24:34 2007 +0530 ieee1394: SPIN_LOCK_UNLOCKED cleanup SPIN_LOCK_UNLOCKED cleanup,use DEFINE_SPINLOCK instead Signed-off-by: Milind Arun Choudhary Signed-off-by: Stefan Richter commit 81ec100daaab4fb450c90748d20ca865b37191bd Author: Stefan Richter Date: Tue Apr 10 00:01:15 2007 +0200 ieee1394: some more includes Signed-off-by: Stefan Richter commit a7fffa05a6d2560ce2a3c9f177df8d9491328ae0 Author: Torsten Kaiser Date: Mon Apr 9 21:03:15 2007 +0200 ieee1394: ieee1394_transactions needs sched.h 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) commit c082c4d460c3e32263c3ca9a694c908948ba2ca0 Author: Stefan Richter Date: Fri Apr 6 19:57:42 2007 +0200 add missing include to csr1212.c This will be rolled into patch "ieee1394: drop csr1212's support for external compilation". Signed-off-by: Stefan Richter commit e6fe1e01d714b04fb4dfcbc4ce581ceacc1f4d8f Author: Randy Dunlap Date: Tue Apr 3 13:00:47 2007 -0700 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 commit 5d42076a60c57774ece2b140ae1e4a4c38d93142 Author: Jean Delvare Date: Sun Apr 1 10:06:33 2007 +0200 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 commit 7d73173fb1bea15760479fc6394edb06372d1b6f Author: Stefan Richter Date: Fri Mar 30 19:21:05 2007 +0200 ieee1394: nodemgr: unify some error messages Shrinks object file size a little bit. Signed-off-by: Stefan Richter commit 13190c938f8b9f70ce17c8fff3d4aad335bf0e35 Author: Stefan Richter Date: Fri Mar 30 19:19:55 2007 +0200 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 commit dfddc91fa91c445eac588bf5b9733a9f3542a6f8 Author: Stefan Richter Date: Tue Mar 27 01:36:50 2007 +0200 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 commit 8a2f7d932fc6a4881ff837738e23b41a1c228338 Author: Kristian Høgsberg Date: Wed Mar 28 14:26:10 2007 -0400 firewire: Fix start on cycle 0 for IT, implement start on cycle for IR. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit ef370ee74b7a9cb769d50bfb73b4023ee3e37719 Author: Kristian Høgsberg Date: Wed Mar 28 20:46:23 2007 +0200 firewire: Fix the range check for the queue_iso payload pointer. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (renamed a variable) commit c5dfd0a5b09bf20adf26b3242258679e305c39c8 Author: Kristian Høgsberg Date: Tue Mar 27 01:43:43 2007 -0400 firewire: Increase the number of config rom retries and the retry delay. 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 commit 93e4fd455c62085cdceea3af4c56d95758d3cb74 Author: Kristian Høgsberg Date: Tue Mar 27 09:42:39 2007 -0500 firewire: Don't set card->irm_node before we have a new valid topology. 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 commit 3964a4496eaa4cb84772e8dfc6c3a72ec4ddca7a Author: Kristian Høgsberg Date: Tue Mar 27 01:43:41 2007 -0400 firewire: Generalize resource tracking for cdev implementation. 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 commit 66dea3e5f69abfdfa46b091ea117e497758351e7 Author: Kristian Høgsberg Date: Wed Mar 28 21:26:42 2007 +0200 firewire: Add ioctls to add and remove config rom descriptors. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (fixed whitespace) commit da8ecffaed434a12930f652898f9e86d1c2abc3e Author: Kristian Høgsberg Date: Tue Mar 27 01:43:39 2007 -0400 firewire: Streamline userspace interface structs. 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 commit 20d11673112f7fa2087ae2eaf8896c8d2d8ccb07 Author: Kristian Høgsberg Date: Mon Mar 26 19:18:19 2007 -0400 firewire: Remember to set the driver_data pointer when queueing a packet. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 6f2e53d5135a861d3ee8afdacac5cde13c49a05d Author: Kristian Høgsberg Date: Tue Mar 27 19:35:13 2007 -0400 firewire: Use device->groups for adding device attributes. 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 commit 4a1cdf790b76f3a519d9af2094b06791a616df7b Author: Stefan Richter Date: Sun Mar 18 12:23:11 2007 +0100 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 commit 849fb63f81fe93437822624a10d1e3c964821723 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 6b30a66b3e31e1274319eb462217819211aaae1d 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 c2dd0a7b486d69edc6ef9cf34f07d5989091fc79 Author: Stefan Richter Date: Sun Mar 18 00:55:15 2007 +0100 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 commit 9d1cef1adfa0df91095f1900c86d6e24cd1fe2d5 Author: Stefan Richter Date: Sun Mar 25 22:22:40 2007 +0200 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 commit 76891778e4229917c5f4136b90feb011cedc9a78 Author: Stefan Richter Date: Wed Mar 14 00:29:20 2007 +0100 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 commit 3237308d6d6c91ae70b0d45fe8fa70e55963b7a4 Author: Stefan Richter Date: Wed Mar 14 00:28:36 2007 +0100 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 commit cb0855df88fc98d23af592116f4a0ae95a90d91b Author: Stefan Richter Date: Wed Mar 14 00:27:46 2007 +0100 ieee1394: csr1212: warn on unreachable code We want bugs to show themselves. Signed-off-by: Stefan Richter commit 87e88034d89b5f0578411c2e8f79ac27d1178c55 Author: Stefan Richter Date: Wed Mar 14 00:27:18 2007 +0100 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 commit 90db9f1a3869df6c9f3c1eb149fd9045ecd465ea Author: Stefan Richter Date: Wed Mar 14 00:26:38 2007 +0100 ieee1394: csr1212: coding style Whitespace, line breaks, braces... Signed-off-by: Stefan Richter commit d804f05591ec9d32e9aa50edee168eb9d6645d5d Author: Stefan Richter Date: Sun Mar 11 22:51:24 2007 +0100 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 commit 20cd9837735984149ffa6a607b4503b8ceecf013 Author: Stefan Richter Date: Wed Mar 14 00:20:53 2007 +0100 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 commit c6390db5327f99a1df2a48822d97eadb01e1602b Author: Stefan Richter Date: Sun Mar 11 22:50:13 2007 +0100 ieee1394: stricter error checks in csr1212 return -EINVAL becomes BUG_ON in checks of function call parameters. Signed-off-by: Stefan Richter commit 702a5ae685b9a221e43c6011c3b8322bad6bea3e Author: Stefan Richter Date: Sun Mar 11 22:49:34 2007 +0100 ieee1394: csr1212: rename some types Use u8, u32 etc. instead of u_int8_t, csr1212_quad_t etc. Signed-off-by: Stefan Richter commit f70266a711313c4d57b85905b39287e5bbbd0152 Author: Stefan Richter Date: Sun Mar 11 22:49:05 2007 +0100 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 commit 7bfe23f4f6697a21e208b67fa232d06e6451cda9 Author: Stefan Richter Date: Sun Mar 11 22:47:34 2007 +0100 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 commit a786e02965e28e25007824e88a7e8e438c81d549 Author: Stefan Richter Date: Mon Mar 5 03:07:38 2007 +0100 ieee1394: small header cleanup Signed-off-by: Stefan Richter commit c405a29c2708c11bc451d265c6f7a8394e6f19d1 Author: Stefan Richter Date: Mon Mar 5 03:06:23 2007 +0100 ieee1394: move some comments from declaration to definition Signed-off-by: Stefan Richter commit f8220fbeceb17bc4319579c77ad12d356688a15a Author: Stefan Richter Date: Mon Mar 5 03:05:32 2007 +0100 ieee1394: remove declarations of nonexisting functions Signed-off-by: Stefan Richter commit d7b358d78721c9759fda399e36f5b8fd076ad28d 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 dc36799c890f46b65fc66e307df7e490a2735b3f Author: Stefan Richter Date: Sat Mar 17 10:28:27 2007 +0100 ieee1394: ohci1394: tweak lookup tables Reverse the #if(n)def logic around a lookup table. Add comments to another lookup table. Save a few bytes text by using char for the tables. Remove the inline keyword of a function which is called only once. Signed-off-by: Stefan Richter commit c890fa172f05bc7174318106ee833f17029e2534 Author: Stefan Richter Date: Sun Mar 11 22:46:07 2007 +0100 ieee1394: ohci1394: adjust whitespace This partially adjusts to coding style. Signed-off-by: Stefan Richter commit fd9130baa27d0aa8c00e143884657476a8554694 Author: Stefan Richter Date: Sun Mar 11 22:45:22 2007 +0100 ieee1394: ohci1394: serialize reset requests and irq handler ohci1394 has basically no protection against concurrent access to registers. The following changes are done here: - Use the ohci->event_lock and mmiowb to serialize the trigger for software-enforced bus resets against a large portion of the IRQ handler. - To accomplish this, cover much more regions of ohci_irq_handler by event_lock. - Set and get host->in_bus_reset with ohci->event_lock taken, i.e. atomically. - Use spin_lock instead of spin_lock_irqsave in ohci_irq_handler. Note, the way how ohci->event_lock was used before had no effect at all as it was only taken by the top half of the IRQ handler. Such things do not inspire trust in ohci1394. Todo: - Audit *all* of ohci1394's register accesses for the need of serialization by spinlocks + mmiowb. - Look into unifying ohci1394's internal locking to a single lock per host. - Audit the selfID complete event handling, including what happens higher up in ieee1394 core, for the possibility to move workload into tasklets or workqueue jobs. Signed-off-by: Stefan Richter commit 0f3ee4ca70629ea624c217710358b654317bf2e5 Author: Stefan Richter Date: Sun Mar 11 22:44:21 2007 +0100 ieee1394: ohci1394: optimize devctl RECV_SET_CHANNEL_MASK Combine 64 MMIO writes to 4 MMIO writes. It is only used by an ioctl through raw1394 though, i.e. not in a hot path. Signed-off-by: Stefan Richter commit 29a0ec3cb1719499ddf9747ffe1bc8dc2e6d134a Author: Stefan Richter Date: Sun Mar 11 22:43:36 2007 +0100 ieee1394: ohci1394: remove useless casts and dereferences Signed-off-by: Stefan Richter commit b83b04d06744bedd91338ce369a359461cdce6be Author: Stefan Richter Date: Mon Mar 5 03:44:52 2007 +0100 ieee1394: ohci1394: add reg_flush, remove bogus barriers Add a utility function to flush MMIO writes. Remove some mb()s which didn't do anything. (There are still a few wmb()s in ohci1394 which look suspicious.) Signed-off-by: Stefan Richter commit a777804a8939d91dc13a25c381191d9b145c3d3f 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 1f76ede0038a7ea805080e5c724bb4d69dd408ba 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 f8ab7cc6e5457670145e31af6571eb3a584dfddb 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 e82197961d1a0a78d732afebe9333508c2a8072f 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 ecab413359541b1dbe8e8c91cb5fa8eafa662c05 Author: Marc Butler Date: Fri Mar 23 10:24:02 2007 -0600 firewire: Add phy register defines. Signed-off-by: Marc Butler Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (added whitespace) commit bbd1494580462fa35bdd2073dba3902fb53981bf Author: Kristian Høgsberg Date: Tue Mar 20 20:58:35 2007 -0400 firewire: Export GUID as sysfs attribute. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 7feb9cce2d07bea635256a2e226d7ca7a9f4585f Author: Kristian Høgsberg Date: Wed Mar 21 10:55:19 2007 -0400 firewire: Add sysfs attributes for config rom directory values. 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 commit 21351dbe4e61270f28cf61c685c745416554a4f1 Author: Kristian Høgsberg Date: Tue Mar 20 20:58:33 2007 -0400 firewire: Make use of struct device_type. 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 commit 945ac22253a09574da4ed568b426aef03722bfb6 Author: Stefan Richter Date: Tue Mar 20 19:44:26 2007 +0100 firewire: ROM cache is CPU-endian Puts a stray endian annotation down. Signed-off-by: Stefan Richter commit d84702a5d7b500ead8db129ddea789c88764f357 Author: Stefan Richter Date: Tue Mar 20 19:42:15 2007 +0100 firewire: fix compiler warnings on 64bit Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 633c52dccd73d83eabbe1fb23e3822b695a2718b Author: Stefan Richter Date: Mon Mar 19 11:37:16 2007 -0400 firewire: add includes for sem and rw_sem as a precaution. Signed-off-by: Stefan Richter commit 015b066f4e5dbd301144c2de1c53329178f67a01 Author: Kristian Høgsberg Date: Mon Mar 19 11:37:16 2007 -0400 firewire: Grab dev->sem when doing the update callback. 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 commit 11f494ee25dd81af90255b1d61abc6f5508db4d0 Author: Stefan Richter Date: Sun Mar 18 01:39:28 2007 +0100 firewire: rename CONFIG_FW to CONFIG_FIREWIRE to avoid confusion with CONFIG_FW_LOADER. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit b3d6e151142c6d22abdf1e3e7bde0f6d828df945 Author: Kristian Høgsberg Date: Wed Mar 14 17:34:58 2007 -0400 firewire: Add ref-counting for sbp2_device and hold a ref while we have work scheduled. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 7e35f7f318168f1b735abc87754108c06955f50d Author: Kristian Høgsberg Date: Wed Mar 14 17:34:57 2007 -0400 firewire: Free pending transactions on cdev release. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 693b9021767750cbac2c92e918d25ddadbab7c61 Author: Kristian Høgsberg Date: Wed Mar 14 17:34:56 2007 -0400 firewire: Zero out sd->scsi_host if we fail to register with the SCSI stack. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 9472316b6eab3500ded544f6e86700c33541ef4e Author: Kristian Høgsberg Date: Wed Mar 14 17:34:55 2007 -0400 firewire: Implement deallocation of address ranges. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit eb0306eac0aad0b7da18d8fbfb777f155b2c010d Author: Kristian Høgsberg Date: Wed Mar 14 17:34:54 2007 -0400 firewire: Move sync and tag parameters to start_iso ioctl. 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 commit c70dc788fd8d3870b41231b6a53a64afb98cfd13 Author: Kristian Høgsberg Date: Wed Mar 14 17:34:53 2007 -0400 firewire: Fix dualbuffer iso receive mode and drop buffer fill mode. 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 commit d60d7f1d5ce83d1be8d79256f711d6a645b7a2fa Author: Kristian Høgsberg Date: Wed Mar 7 12:12:56 2007 -0500 firewire: Implement CSR cycle time and bus time registers. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 473d28c730e2de888c24b226cfe4183868eacde2 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:55 2007 -0500 firewire: Implement topology map and fix a couple of loopback bugs. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 7c6e647da00883ec2208171d51537f23498dd669 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:54 2007 -0500 firewire: Export juju specific rcodes to user space. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 97e352753820c62fca6d46723e0591e1ff6a3b22 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:53 2007 -0500 firewire: Add generation field to send_request ioctl struct. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit e7533505fed97379b03538cf0ff2df0dc853298f Author: Kristian Høgsberg Date: Wed Mar 7 12:12:52 2007 -0500 firewire: Add card index field to get_info cdev ioctl struct. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 8fbdbb3683770f765afb4f8140a8d7898feeb94c Author: Kristian Høgsberg Date: Wed Mar 7 12:12:51 2007 -0500 firewire: Fix order of arguments for iso context creation. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 28cf6a04c82857d562968dc3a8a89726e6ac3dcb Author: Kristian Høgsberg Date: Wed Mar 7 12:12:50 2007 -0500 firewire: Track pending transactions and cancel them on cdev release. 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 commit f319b6a02f12c3712eb64eee6a23584367cb3588 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:49 2007 -0500 firewire: Move async transmit to use the general context code. 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 commit 2603bf219e9bef3396b96b65326de7db27958c95 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:48 2007 -0500 firewire: Use only a wait queue and terminate poll and read on device removal. 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 commit 2aaad97be6b58ae865f402fcd27d138e7346ff81 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:47 2007 -0500 firewire: Don't time out command orbs, leave that to the scsi stack. 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 commit 048961ef90b584d00ec79c75cb7c7b28403f0c87 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:46 2007 -0500 firewire: Add rom_index attribute for unit sysfs directories. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 5c5539d8cdfd13fdb080357fe79f94a7e11a6ef6 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:45 2007 -0500 firewire: Quiet down fw-sbp2 logging a bit, remove stale FIXME. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit a3aca3dabbcf00f2088d472f27755c29acaa992e Author: Kristian Høgsberg Date: Wed Mar 7 12:12:44 2007 -0500 firewire: Switch cdev code over to use register_chrdev and keep a list of devices. 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 commit 344bbc4de14e70d03f09bff04bb7d161b8a0d28c Author: Kristian Høgsberg Date: Wed Mar 7 12:12:43 2007 -0500 firewire: Generalize get_config_rom to get_info. 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 commit 5371842b723dd04df57171f2c74660966901380c Author: Kristian Høgsberg Date: Wed Mar 7 12:12:42 2007 -0500 firewire: Implement ioctl to initiate bus reset. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 97bd9efa5a4d8a70b3bafe0d1e3e1a814fdac5bc Author: Kristian Høgsberg Date: Wed Mar 7 12:12:41 2007 -0500 firewire: Add a bus reset event type for fw-device-cdev. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 1da0c93b31bb8f374a22f4e20dab02fd79f6c7e6 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:40 2007 -0500 firewire: Only use INIT_DELAYED_WORK for first initialization. Use PREPARE_DELAYED_WORK to just change the function pointer. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 5f48047756339065df3e6fead381978abb0bc557 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:39 2007 -0500 firewire: Iterate through units in a keventd callback for update callbacks. 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 commit e254a4b45f265d9df120b83d5c2c9437902b601b Author: Kristian Høgsberg Date: Wed Mar 7 12:12:38 2007 -0500 firewire: Clear all interrupt bits before shutting down. 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 commit 49e1179b16fe54bfa070cd955a24c5ce82e21d16 Author: Kristian Høgsberg Date: Wed Mar 7 12:12:37 2007 -0500 firewire: Drop the unused fw_card device. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 937f687969f77bfeee5efd71cadfa6f1a813665e Author: Kristian Høgsberg Date: Wed Mar 7 12:12:36 2007 -0500 firewire: Let an fw_descriptor specify a leading immediate key/value pair. 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 commit 65efffa8f0cd86a199bf19ede5c91552d35c5a38 Author: Thomas Gleixner Date: Mon Mar 5 18:19:51 2007 -0800 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 commit 373b2edd864b8753419521b715bd1ddafd2f2af3 Author: Stefan Richter Date: Sun Mar 4 14:45:18 2007 +0100 firewire: adjust whitespace Remove space before tab and trailing whitespace. Unify indentation of goto target labels. Signed-off-by: Stefan Richter commit 98b6cbe83b6e8db54638746c9040c7962d96b322 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:51 2007 -0500 firewire: Implement sync and tag matching for isochronous receive. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 21efb3cfc6ed49991638000f58bb23b838c76e25 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:50 2007 -0500 firewire: Configure channel and speed at context creation time. 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 commit e364cf4e0aa245ba2ce5942289e8a43935505e53 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:49 2007 -0500 firewire: Store OHCI version and make sure we have at least 1.1 before doing dualbuffer. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 68be3fa15a420d96b1aaed4c519607bf2bfcb2e1 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:48 2007 -0500 firewire: Get zeroed out pages for mapping to user space. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit cb2d2cdbc66d9143159ee0381ad83975de56a57d Author: Kristian Høgsberg Date: Fri Feb 16 17:34:47 2007 -0500 firewire: Don't touch DMA descriptors after appending. 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 commit d2746dc192e8b9446ea1cb843e94c30f177b7e54 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:46 2007 -0500 firewire: Use a buffer fill descriptor for receive when header size is 0. 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 commit 1e1d196bf5d9258f9583a05c41c1c351ffcdeac2 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:45 2007 -0500 firewire: Set correct buffer lengths for dualbuffer DMA descriptor. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 9b32d5f3074e9b1afaa39a360a59fd77a2214783 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:44 2007 -0500 firewire: Acummulate received iso headers and send them back to user space. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 500be7251a4af1a87aa48285a23a741f74a97a89 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:43 2007 -0500 firewire: Log OHCI chipset version in PCI probe. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit b82956685aab4a9d333714300eb8a86fed6c9ab3 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:42 2007 -0500 firewire: Implement functionality to stop isochronous DMA contexts. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 69cdb7268ca2e644665dae8ea26e35ce4e96679c Author: Kristian Høgsberg Date: Fri Feb 16 17:34:41 2007 -0500 firewire: Rename 'send_iso' to 'start_iso'. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 295e3feb92e5073ec32a3c626302d4b92c4c8a95 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:40 2007 -0500 firewire: Implement basic isochronous receive functionality. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 30200739e612932739cc34baf588b39bacc2f427 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:39 2007 -0500 firewire: Generalize the iso transmit descriptor buffer logic. 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 commit 9aad8125389a7a2990dee72d7892e22330a945eb Author: Kristian Høgsberg Date: Fri Feb 16 17:34:38 2007 -0500 firewire: Split the iso buffer out from fw_iso_context and avoid vmalloc. 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 commit 6e2e8424d310507fa044649435114217826ed78a Author: Kristian Høgsberg Date: Fri Feb 16 17:34:37 2007 -0500 firewire: Use correct payload pointer when demarshalling incoming requests. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit c889475fb57bfe30091b42e58eb6b76edd355d45 Author: Kristian Høgsberg Date: Fri Feb 16 17:34:36 2007 -0500 firewire: Read the *Clear versions of the iso interrupt register. 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 commit cbb59da719e413fcd499d86f49af2327893a9fdb Author: Kristian Høgsberg Date: Fri Feb 16 17:34:35 2007 -0500 firewire: Fix another typo from the bitfield conversion. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 82eff9db7dc5d8f78898d5051975d14f48be2028 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:40 2007 -0500 firewire: 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 27a15e50fb87978d7e1e9f7b561f78692e0b1eb5 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:39 2007 -0500 firewire: Credit the old sbp2.c driver for being a good starting point. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit bbf19db37e8be3fa6d6fe3e26e50da068b44a0e8 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:38 2007 -0500 firewire: Use atomic_t's for serial numbers. Signed-off-by: Kristian Høgsberg Use atomic_inc_return. Signed-off-by: Stefan Richter commit 362c2c8ca4a2f33f6e23a85c3b4caf64f1ce4bf9 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:37 2007 -0500 firewire: Spell out fw as firewire in sysfs. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 374a00392853db6fac4ec4c93139873a368a78af Author: Kristian Høgsberg Date: Tue Feb 6 14:49:36 2007 -0500 firewire: 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 993baca3dde7959567e3c7c262c2bc843ba241de Author: Kristian Høgsberg Date: Tue Feb 6 14:49:35 2007 -0500 firewire: 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 7f37c426c68d34aa221ce29262c1eba39034ac97 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:34 2007 -0500 firewire: 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 1d3d52c5367e0ca352aff6d6986533787bcf36d0 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:33 2007 -0500 firewire: 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 730c32f58ba81b3a4fe6d19c7d9e9829dd96d363 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:32 2007 -0500 firewire: 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 72e318e07e1fa9840bfdd5788421fc6dc51a93de Author: Kristian Høgsberg Date: Tue Feb 6 14:49:31 2007 -0500 firewire: Reduce some redundant register definitions. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 32b46093a076986fa3c6e1dd484791624edf4585 Author: Kristian Høgsberg Date: Tue Feb 6 14:49:30 2007 -0500 firewire: 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 641f8791f031d6133e5c3e9ce036b3e942416e9d 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 0edeefd99fd31f74432aba5860f6ebcbde874dbf Author: Kristian Høgsberg Date: Fri Jan 26 00:38:49 2007 -0500 firewire: Make sure we wait for DMA to stop before we reprogram it. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 931c4834c8d1e1bf0dcc256b89449a01711f970d Author: Kristian Høgsberg Date: Fri Jan 26 00:38:45 2007 -0500 firewire: Implement compliant bus management. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 9fc82689bf2920e9b3a8cc1766bcb6ad6454a7c4 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:38 2007 -0500 firewire: Fix bit shift typo. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit e5f49c3b837ff90c8aec2c6c66c4966080aced06 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:34 2007 -0500 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 commit 93c4cceb963ebb133531e5e3f4f6e2da0d222656 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:26 2007 -0500 firewire: Handle access to CSR resources on local node. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 746083d86cf5f874741e3ddecf56ea3ed32959c8 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:18 2007 -0500 firewire: Add lock transaction opcodes to fw-device-cdev.h. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 36bfe49d076404fcdf5766098de21724635a1816 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:13 2007 -0500 firewire: Clean up response handling. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit e636fe2576be552252a5b63e9287915e810b37d8 Author: Kristian Høgsberg Date: Fri Jan 26 00:38:04 2007 -0500 firewire: Loop requests to the host controller back into the stack. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 2639a6fb268e1f2a7700fe3d31cbca9b39aa3ad9 Author: Kristian Høgsberg Date: Fri Jan 26 00:37:57 2007 -0500 firewire: Use struct fw_packet for incoming packets too in controller interface. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 748086eb53cc5f467604c9b46ab48dc3cb771c89 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 83db801ce8c644edee49f4364c7ebdfef1657762 Author: Kristian Høgsberg Date: Fri Jan 26 00:37:50 2007 -0500 firewire: Implement gap count optimization. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit cfb01381f4ffcd05aefe76c74911ba6bc996e8ba 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 907293d78872ee492ce6a114258dd853ec5082ae 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 366f5f4fa31cd3f3d5901f5edfe255a48906505d 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 Høgsberg commit 02af8e70cbe42833805d6f2f10fc1d43ce90da0d 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 Høgsberg commit 5fa1580d2d922171c5ef8da487054d056298a970 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 Høgsberg commit 6cad95fe97dc062d0367da125ac0b2e5f1694b23 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 Høgsberg commit 5af4e5eab30d481f76b89a2167c873dfad960acb 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 Høgsberg commit 5e20c282184fd5794661b6688883231ff5348abc Author: Stefan Richter Date: Sun Jan 21 20:44:09 2007 +0100 firewire: whitespace adjustments Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 95688e97cdf7453cde22eaa73cc2ab6b113c1853 Author: Adrian Bunk Date: Mon Jan 22 19:17:37 2007 +0100 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 commit 21ebcd1224d05c8673053e1e93ab9ec7ef3e0b84 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 227e7d8194bd147484f6ae135a082ce22112b5b3 Author: Stefan Richter Date: Sun Jan 7 22:33:59 2007 +0100 firewire: additional help in Kconfig Signed-off-by: Stefan Richter commit 22a38e72bc18b9e8b860182c512efaade5590c7d 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 ? ? ... ?