aboutsummaryrefslogtreecommitdiff
path: root/drivers/firewire
AgeCommit message (Collapse)AuthorFilesLines
2007-03-09firewire: Use a buffer fill descriptor for receive when header size is 0.Kristian Høgsberg3-17/+95
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Set correct buffer lengths for dualbuffer DMA descriptor.Kristian Høgsberg1-4/+3
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Acummulate received iso headers and send them back to user space.Kristian Høgsberg4-24/+57
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Log OHCI chipset version in PCI probe.Kristian Høgsberg1-2/+4
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Implement functionality to stop isochronous DMA contexts.Kristian Høgsberg5-11/+53
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Rename 'send_iso' to 'start_iso'.Kristian Høgsberg5-20/+16
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Implement basic isochronous receive functionality.Kristian Høgsberg6-30/+181
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Generalize the iso transmit descriptor buffer logic.Kristian Høgsberg1-142/+218
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Split the iso buffer out from fw_iso_context and avoid vmalloc.Kristian Høgsberg5-84/+151
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Use correct payload pointer when demarshalling incoming requests.Kristian Høgsberg1-1/+1
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Read the *Clear versions of the iso interrupt register.Kristian Høgsberg1-2/+2
The *Clear registers returns the masked value when read which is what we want. Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Fix another typo from the bitfield conversion.Kristian Høgsberg1-4/+4
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Use dma_mapping_error() for checking for DMA mapping errors.Kristian Høgsberg3-25/+47
Pointed out by Pete Zaitcev. Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Credit the old sbp2.c driver for being a good starting point.Kristian Høgsberg1-1/+10
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Use atomic_t's for serial numbers.Kristian Høgsberg2-4/+4
Signed-off-by: Kristian Høgsberg <[email protected]> Use atomic_inc_return. Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Spell out fw as firewire in sysfs.Kristian Høgsberg1-1/+1
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Complete SCSI commands with DID_BUS_BUSY when a bus reset happens.Kristian Høgsberg1-1/+1
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Schedule topology work before calling driver update functions.Kristian Høgsberg1-2/+1
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Introduce a retry mechanism for reconnects and logins.Kristian Høgsberg1-71/+109
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: fw-sbp2: Do ORB timeout right.Kristian Høgsberg1-3/+21
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Implement proper transaction cancelation.Kristian Høgsberg5-7/+95
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Reduce some redundant register definitions.Kristian Høgsberg1-28/+22
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Rework async receive DMA.Kristian Høgsberg2-83/+132
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 <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: use atomic type for fw_device.stateStefan Richter3-5/+6
Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Make sure we wait for DMA to stop before we reprogram it.Kristian Høgsberg1-5/+16
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Implement compliant bus management.Kristian Høgsberg4-25/+117
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Fix bit shift typo.Kristian Høgsberg1-1/+1
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Sanitize send error codes.Kristian Høgsberg3-16/+18
Drop the negative errnos and use RCODEs for all error codes in the complete transaction callback. Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Handle access to CSR resources on local node.Kristian Høgsberg3-21/+154
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Add lock transaction opcodes to fw-device-cdev.h.Kristian Høgsberg1-0/+8
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Clean up response handling.Kristian Høgsberg1-27/+27
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Loop requests to the host controller back into the stack.Kristian Høgsberg2-13/+25
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: Use struct fw_packet for incoming packets too in controller interface.Kristian Høgsberg3-81/+92
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: fix compilation with gcc 3.4Stefan Richter1-2/+3
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 <[email protected]>
2007-03-09firewire: Implement gap count optimization.Kristian Høgsberg5-31/+120
Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: fw-sbp2: set command set related device flagsStefan Richter1-0/+17
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 <[email protected]>
2007-03-09firewire: consistent usage of node_idStefan Richter6-20/+23
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 <[email protected]>
2007-03-09firewire: fw-ohci: remove unnecessary macroStefan Richter1-3/+0
Cleans up after patch "Add PCI class ID for firewire OHCI controllers". Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: fw-sbp2: remove unused macroStefan Richter1-3/+2
Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: fw-sbp2: remove bogus "emulated" host flagStefan Richter1-1/+0
There is no emulation going on here too. Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: fix failure path in ohci_enable_phys_dmaStefan Richter1-3/+1
"goto out" happens with the lock taken. Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: comma after last enum item or initializerStefan Richter8-16/+16
Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: whitespace adjustmentsStefan Richter11-169/+144
Signed-off-by: Stefan Richter <[email protected]> Signed-off-by: Kristian Høgsberg <[email protected]>
2007-03-09firewire: cleanupsAdrian Bunk5-10/+10
This patch contains the following cleanups: - "extern inline" -> "static inline" - fw-topology.c: make struct fw_node_create static Signed-off-by: Adrian Bunk <[email protected]> Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: mark some structs constStefan Richter8-23/+23
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 <[email protected]>
2007-03-09firewire: additional help in KconfigStefan Richter1-6/+19
Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: put old and new stack into same Kconfig submenuStefan Richter1-4/+1
Screenshot from "make menuconfig": ... ?????????????????????? IEEE 1394 (FireWire) support ??????????????????????? ? Arrow keys navigate the menu. <Enter> selects submenus --->. ? ... ? ??????????????????????????????????????????????????????????????????????? ? ? ? <M> IEEE 1394 (FireWire) support (JUJU alternative stack, experim? ? ? ? <M> Support for OHCI firewire host controllers ? ? ? ? <M> Support for storage devices (SBP-2 protocol driver) ? ? ? ? <M> IEEE 1394 (FireWire) support ? ? ? ? --- Subsystem Options ? ? ? ? [ ] Excessive debugging output ? ? ... ? <Select> < Exit > < Help > ? ??????????????????????????????????????????????????????????????????????????? Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: consistent ifndef blocks in header filesStefan Richter4-6/+6
Replace __fw_core_h by __fw_transaction_h to match the file name. Add comments to the final #endif in header files. Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: typo in KconfigStefan Richter1-6/+6
Correct a typo. Also spell FireWire consistently. Signed-off-by: Stefan Richter <[email protected]>
2007-03-09firewire: mark fw-core as experimentalStefan Richter1-1/+5
The new stack is not yet stable WRT functionality and APIs. Signed-off-by: Stefan Richter <[email protected]>