16 Jul, 2008

1 commit


14 Jul, 2008

6 commits


19 Jun, 2008

1 commit

  • Rename and reorder some prompts and modify some help texts.
    The result:

    -------------------- IEEE 1394 (FireWire) support --------------------
    *** Enable only one of the two stacks, unless you know what you are doing ***
    New FireWire stack, EXPERIMENTAL
    OHCI-1394 controllers
    Storage devices (SBP-2 protocol)
    Stable FireWire stack
    OHCI-1394 controllers
    PCILynx controller
    Storage devices (SBP-2 protocol)
    Enable replacement for physical DMA in SBP2
    IP over 1394
    raw1394 userspace interface
    video1394 userspace interface
    dv1394 userspace interface (deprecated)
    Excessive debugging output

    The old prompts for reference:

    -------------------- IEEE 1394 (FireWire) support --------------------
    IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL
    Support for OHCI FireWire host controllers
    Support for storage devices (SBP-2 protocol driver)
    IEEE 1394 (FireWire) support
    *** Subsystem Options ***
    Excessive debugging output
    *** Controllers ***
    Texas Instruments PCILynx support
    OHCI-1394 support
    *** Protocols ***
    OHCI-1394 Video support
    SBP-2 support (Harddisks etc.)
    Enable replacement for physical DMA in SBP2
    IP over 1394
    OHCI-DV I/O support (deprecated)
    Raw IEEE1394 I/O support

    Signed-off-by: Stefan Richter

    Stefan Richter
     

21 May, 2008

1 commit


02 May, 2008

2 commits


26 Apr, 2008

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: silence defined but not used warning in non-modular builds
    ieee1394: rawiso: requeue packet for transmission after skipped cycle

    Linus Torvalds
     
  • Currently the kernel will issue the following warning:
    drivers/ieee1394/raw1394.c:2938: warning: 'raw1394_id_table' defined but not used
    Add #ifdef MODULE guards around the declaration.

    Signed-off-by: Tony Breeds

    Ditto with dv1394_id_table and video1394_id_table.

    Signed-off-by: Stefan Richter

    Tony Breeds
     
  • As it seems, some host controllers have issues that can cause them to
    skip cycles now and then when using large packets. I suspect that this
    is due to DMA not succeeding in time. If the transmit fifo can't contain
    more than one packet (big packets), the DMA should provide a new packet
    each cycle (125us). I am under the impression that my current PCI
    express test system can't guarantee this.

    In any case, the patch tries to provide a workaround as follows:
    The DMA program descriptors are modified such that when an error occurs,
    the DMA engine retries the descriptor the next cycle instead of
    stalling. This way no data is lost. The side effect of this is that
    packets are sent with one cycle delay. This however might not be that
    much of a problem for certain protocols (e.g. AM824). If they use
    padding packets for e.g. rate matching they can drop one of those to
    resync the streams.

    The amount of skips between two userspace wakeups is counted. This
    number is then propagated to userspace through the upper 16 bits of the
    'dropped' parameter. This allows unmodified userspace applications due
    to the following:
    1) libraw simply passes this dropped parameter to the user application
    2) the meaning of the dropped parameter is: if it's nonzero, something
    bad has happened. The actual value of the parameter at this moment does
    not have a specific meaning.

    A libraw client can then retrieve the number of skipped cycles and
    account for them if needed.

    Signed-off-by: Pieter Palmers
    Signed-off-by: Stefan Richter

    Pieter Palmers
     

19 Apr, 2008

1 commit


18 Apr, 2008

12 commits


14 Mar, 2008

1 commit

  • Fix I/O errors due to SYM13FW500's inability to handle larger request
    sizes. Reported by Piergiorgio Sartor for
    firewire-sbp2 in https://bugzilla.redhat.com/show_bug.cgi?id=436879

    This fix is necessary because sbp2's default request size limit has been
    lifted since 2.6.25-rc1.

    Signed-off-by: Stefan Richter
    Signed-off-by: Jarod Wilson

    Stefan Richter
     

20 Feb, 2008

1 commit


16 Feb, 2008

1 commit


02 Feb, 2008

1 commit

  • sg_dma_len(sg) is invalid before the s/g list is DMA-mapped.

    This fixes a post 2.6.24 regression which prevents access to SBP-2
    devices on several architectures, introduced by "ieee1394: sbp2: s/g
    list access cosmetics", commit 825f1df545ab0289185373b0eaf06fb0b3487422.

    Signed-off-by: Stefan Richter

    Stefan Richter
     

31 Jan, 2008

8 commits


30 Jan, 2008

1 commit

  • This patch adds a new configuration option, which adds support for a new
    early_param which gets checked in arch/x86/kernel/setup_{32,64}.c:setup_arch()
    to decide wether OHCI-1394 FireWire controllers should be initialized and
    enabled for physical DMA access to allow remote debugging of early problems
    like issues ACPI or other subsystems which are executed very early.

    If the config option is not enabled, no code is changed, and if the boot
    paramenter is not given, no new code is executed, and independent of that,
    all new code is freed after boot, so the config option can be even enabled
    in standard, non-debug kernels.

    With specialized tools, it is then possible to get debugging information
    from machines which have no serial ports (notebooks) such as the printk
    buffer contents, or any data which can be referenced from global pointers,
    if it is stored below the 4GB limit and even memory dumps of of the physical
    RAM region below the 4GB limit can be taken without any cooperation from the
    CPU of the host, so the machine can be crashed early, it does not matter.

    In the extreme, even kernel debuggers can be accessed in this way. I wrote
    a small kgdb module and an accompanying gdb stub for FireWire which allows
    to gdb to talk to kgdb using remote remory reads and writes over FireWire.

    An version of the gdb stub fore FireWire is able to read all global data
    from a system which is running a a normal kernel without any kernel debugger,
    without any interruption or support of the system's CPU. That way, e.g. the
    task struct and so on can be read and even manipulated when the physical DMA
    access is granted.

    A HOWTO is included in this patch, in Documentation/debugging-via-ohci1394.txt
    and I've put a copy online at
    ftp://ftp.suse.de/private/bk/firewire/docs/debugging-via-ohci1394.txt

    It also has links to all the tools which are available to make use of it
    another copy of it is online at:
    ftp://ftp.suse.de/private/bk/firewire/kernel/ohci1394_dma_early-v2.diff

    Signed-Off-By: Bernhard Kaindl
    Tested-By: Thomas Renninger
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Bernhard Kaindl