1. 17 5月, 2014 1 次提交
  2. 27 3月, 2013 1 次提交
  3. 11 3月, 2012 1 次提交
  4. 26 2月, 2011 1 次提交
  5. 21 1月, 2011 1 次提交
  6. 14 12月, 2010 1 次提交
    • C
      firewire: ohci: Asynchronous Reception rewrite · 7a39d8b8
      Clemens Ladisch 提交于
      Move the AR DMA descriptors out of the buffer pages, and map the buffer
      pages linearly into the kernel's address space.  This allows the driver
      to ignore any page boundaries in the DMA data and thus to avoid any
      copying around of packet payloads.
      
      This fixes the bug where S800 packets that are so big (> 4080 bytes)
      that they can be split over three pages were not handled correctly.
      
      Due to the changed algorithm, we can now use arbitrarily many buffer
      pages, which improves performance because the controller can more easily
      unload its DMA FIFO.
      
      Furthermore, using streaming DMA mappings should improve perfomance on
      architectures where coherent DMA mappings are not cacheable.  Even on
      other architectures, the caching behaviour should be improved slightly
      because the CPU no longer writes to the buffer pages.
      
      v2: Detect the last filled buffer page by searching the descriptor's
          residual count value fields in order (like in the old code), instead
          of going backwards through the transfer status fields; it looks as
          if some controllers do not set the latter correctly.
      
      v3: Fix an old resume bug that would now make the handler run into
          a BUG_ON, and replace that check with more useful error handling.
          Increase the buffer size for better performance with non-TI chips.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      
      Maxim Levitsky writes:
          Works almost perfectly.  I can still see RCODE_BUSY errors
          sometimes, not very often though.  64K here eliminates these errors
          completely.  This is most likely due to nouveau drivers and lowest
          perf level I use to lower card temperature.  That increases
          latencies too much I think.  Besides that the IO is just perfect.
      Tested-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      7a39d8b8
  7. 11 10月, 2010 1 次提交
    • S
      ieee1394: remove the old IEEE 1394 driver stack · 66fa12c5
      Stefan Richter 提交于
      The drivers
        - ohci1394 (controller driver)
        - ieee1394 (core)
        - dv1394, raw1394, video1394 (userspace ABI)
        - eth1394, sbp2 (protocol drivers)
      are replaced by
        - firewire-ohci (controller driver)
        - firewire-core (core and userspace ABI)
        - firewire-net, firewire-sbp2 (protocol drivers)
      which are more featureful, better performing, and more secure than the older
      drivers; all with a smaller and more modern code base.
      
      The driver firedtv in drivers/media/dvb/firewire/ contains backends to both
      ieee1394 and firewire-core.  Its ieee1394 backend code can be removed in an
      independent commit; firedtv as-is builds and works fine without ieee1394.
      
      The driver pcilynx (an incomplete controller driver) is deleted without
      replacement since PCILynx cards are extremely rare.  Owners of these cards
      use them with the stand-alone bus sniffer driver nosy instead.
      
      The drivers nosy and init_ohci1394_dma which do not interact with either of
      the two IEEE 1394 stacks are not affected by the ieee1394 subsystem removal.
      
      There are still some issues with the newer firewire subsystem compared to
      the older one:
        - The rare and quirky controllers ALi M52xx, Apple UniNorth v1, NVIDIA
          NForce2 are even less well supported by firewire-ohci than by ohci1394.
          I am looking into the M52xx issue.
        - The experimental firewire-net is reportedly less stable than its
          experimental cousin eth1394.
        - Audio playback of a certain group of audio devices (ones based on DICE
          chipset with EAP; supported by prerelease FFADO code) does not work yet.
          This issue is still under investigation.
        - There were some ieee1394 based out-of-the-mainline drivers.  Of them,
          only lisight, an audio driver for iSight webcams, seems still useful.
          Work is underway to reimplement it on top of firewire-core.
      
      All these remainig issues are minor; they should not stand in the way of
      overall better user experience of IEEE 1394 on Linux, together with a
      reduction in support efforts and maintenance burden.  The coexistence of two
      IEEE 1394 kernel driver stacks in the mainline since 2.6.22 shall end now,
      as announced earlier this year.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      66fa12c5
  8. 27 7月, 2010 2 次提交
    • S
      tools/firewire: add userspace front-end of nosy · 9f6d3c4b
      Stefan Richter 提交于
      This adds nosy-dump, the userspace part of nosy, the IEEE 1394 traffic
      sniffer for Texas Instruments PCILynx/ PCILynx2 based cards.  Author is
      Kristian Høgsberg.
      
      The files added here are taken from
      git://anongit.freedesktop.org/~krh/nosy commit ee29be97 (2009-11-10)
      with the following changes by Stefan Richter:
        - Parts pertaining to the kernel module removed from Makefile.
        - dist target removed from the Makefile.
        - Mentioned nosy-dump in the Kconfig help to nosy's kernel component.
        - Add copyright notice to nosy-dump.c.  This is a duplicate of the
          respective notice in the kernel component nosy.c except for a time
          span of 2002 - 2006, according to Kristian's git log.
      
      "git shortlog decode-fcp.c list.h nosy-dump.[ch]" from nosy's git
      repository:
      
      Jonathan Woithe (1):
            Save logs on Ctrl-C
      
      Kristian Høgsberg (11):
            Pull over nosy from mercurial repo.
            Remove some fields from default view, add logging feature.
            Use infinite time out for poll(), mark more detail fields.
            Fix byte ordering macro.
            Add decoding of iso data and lock packets.
            Add flag to indicate data length field.
            Add cycle start packet decoding, add --iso and --cycle-start flags.
            Distinguish between phy-packets and 0-length iso data.
            Fix transaction and stats view.
            Add simple AV/C decoder.
            Don't break down on big payloads.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Acked-by: NKristian Høgsberg <krh@bitplanet.net>
      9f6d3c4b
    • S
      firewire: new driver: nosy - IEEE 1394 traffic sniffer · 28646821
      Stefan Richter 提交于
      This adds the traffic sniffer driver for Texas Instruments PCILynx/
      PCILynx2 based cards.  The use cases for nosy are analysis of
      nonstandard protocols and as an aid in development of drivers,
      applications, or firmwares.
      
      Author of the driver is Kristian Høgsberg.  Known contributers are
      Jody McIntyre and Jonathan Woithe.
      
      Nosy programs PCILynx chips to operate in promiscuous mode, which is a
      feature that is not found in OHCI-1394 controllers.  Hence, only special
      hardware as mentioned in the Kconfig help text is suitable for nosy.
      
      This is only the kernelspace part of nosy.  There is a userspace
      interface to it, called nosy-dump, proposed to be added into the tools/
      subdirectory of the kernel sources in a subsequent change.  Kernelspace
      and userspave component of nosy communicate via a 'misc' character
      device file called /dev/nosy with a simple ioctl() and read() based
      protocol, as described by nosy-user.h.
      
      The files added here are taken from
      git://anongit.freedesktop.org/~krh/nosy commit ee29be97 (2009-11-10)
      with the following changes by Stefan Richter:
        - Kconfig and Makefile hunks are written from scratch.
        - Commented out version printk in nosy.c.
        - Included missing <linux/sched.h>, reported by Stephen Rothwell.
      
      "git shortlog nosy{-user.h,.c,.h}" from nosy's git repository:
      
      Jonathan Woithe (2):
            Nosy updates for recent kernels
            Fix uninitialised memory (needed for 2.6.31 kernel)
      
      Kristian Høgsberg (5):
            Pull over nosy from mercurial repo.
            Use a misc device instead.
            Add simple AV/C decoder.
            Don't break down on big payloads.
            Set parent device for misc device.
      
      As a low-level IEEE 1394 driver, its files are placed into
      drivers/firewire/ although nosy is not part of the firewire driver
      stack.
      
      I am aware of the following literature from Texas Instruments about
      PCILynx programming:
            SCPA020A - PCILynx 1394 to PCI Bus Interface TSB12LV21BPGF
                       Functional Specification
            SLLA023  - Initialization and Asynchronous Programming of the
                       TSB12LV21A 1394 Device
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Acked-by: NKristian Høgsberg <krh@bitplanet.net>
      28646821
  9. 30 12月, 2009 1 次提交
    • S
      firewire, ieee1394: update Kconfig help · 5d7db049
      Stefan Richter 提交于
      Update the Kconfig help texts of both stacks to encourage a general move
      from the older to the newer drivers.  However, do not label ieee1394 as
      "Obsolete" yet, as the newer drivers have not been deployed as default
      stack in the majority of Linux distributions yet, and those who start
      doing so now may still want to install the old drivers as fallback for
      unforeseen issues.
      
      Since Linux 2.6.32, FireWire audio devices can be driven by the newer
      firewire driver stack too, hence remove an outdated comment about audio
      devices.  Also remove comments about library versions since the 2nd
      generation of libraw1394 and libdc1394 is now in common use; details on
      library versions can be read at the wiki link from the help texts.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      5d7db049
  10. 21 6月, 2009 1 次提交
    • S
      firewire: new stack is no longer experimental · 0c53decd
      Stefan Richter 提交于
      The new stack is now recommended over the old one if used for industrial
      video (IIDC/DCAM) or for storage devices (SBP-2) due to better
      performance, improved compatibility, added features, and security.  It
      should also be functionally on par with and is more secure than the old
      ieee1394 stack in the use case of consumer video devices.
      
      IP-over-1394 support for the new stack is currently emerging, and a
      backend of the firedtv DVB driver to the new stack should be available
      soon.
      
      The one remaining area where the old stack is still required are audio
      devices, as the new stack is not yet able to support the FFADO FireWire
      audio framework.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      0c53decd
  11. 14 6月, 2009 1 次提交
  12. 20 8月, 2008 1 次提交
  13. 26 7月, 2008 1 次提交
  14. 19 6月, 2008 1 次提交
  15. 18 4月, 2008 1 次提交
    • S
      firewire: debug interrupt events · ad3c0fe8
      Stefan Richter 提交于
      This adds debug printks for asynchronous transmission and reception and
      for self ID reception.  They can be enabled at module load time, and at
      runtime via /sys/module/firewire_ohci/parameters/debug.
      Signed-off-by: NJarod Wilson <jwilson@redhat.com>
      
      Also added:  Logging of interrupt event codes and of cancelled AT
      packets.
      
      The code now depends on a Kconfig variable.  This makes it easier to
      build firewire-ohci without the feature or to make it an option in the
      future.  The variable is currently hidden and always on.
      
      This feature inflates firewire-ohci.ko by 7 kB = 27% on x86-64 and by
      4 kB = 23% on i686.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      ad3c0fe8
  16. 14 3月, 2008 1 次提交
  17. 07 10月, 2007 1 次提交
  18. 29 6月, 2007 1 次提交
  19. 28 5月, 2007 1 次提交
  20. 11 5月, 2007 1 次提交
  21. 21 3月, 2007 1 次提交
  22. 10 3月, 2007 7 次提交