| Age | Commit message (Collapse) | Author | Files | Lines |
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Pointed out by Pete Zaitcev.
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Use atomic_inc_return.
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Stefan Richter <[email protected]>
Signed-off-by: Kristian Høgsberg <[email protected]>
|
|
There is no emulation going on here too.
Signed-off-by: Stefan Richter <[email protected]>
Signed-off-by: Kristian Høgsberg <[email protected]>
|
|
"goto out" happens with the lock taken.
Signed-off-by: Stefan Richter <[email protected]>
Signed-off-by: Kristian Høgsberg <[email protected]>
|
|
Signed-off-by: Stefan Richter <[email protected]>
Signed-off-by: Kristian Høgsberg <[email protected]>
|
|
Signed-off-by: Stefan Richter <[email protected]>
Signed-off-by: Kristian Høgsberg <[email protected]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Stefan Richter <[email protected]>
|
|
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]>
|
|
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]>
|
|
Correct a typo. Also spell FireWire consistently.
Signed-off-by: Stefan Richter <[email protected]>
|
|
The new stack is not yet stable WRT functionality and APIs.
Signed-off-by: Stefan Richter <[email protected]>
|