1. 15 4月, 2010 1 次提交
  2. 10 4月, 2010 2 次提交
  3. 25 2月, 2010 2 次提交
  4. 27 1月, 2010 1 次提交
  5. 30 12月, 2009 1 次提交
    • C
      firewire: fix use of multiple AV/C devices, allow multiple FCP listeners · db5d247a
      Clemens Ladisch 提交于
      Control of more than one AV/C device at once --- e.g. camcorders, tape
      decks, audio devices, TV tuners --- failed or worked only unreliably,
      depending on driver implementation.  This affected kernelspace and
      userspace drivers alike and was caused by firewire-core's inability to
      accept multiple registrations of FCP listeners.
      
      The fix allows multiple address handlers to be registered for the FCP
      command and response registers.  When a request for these registers is
      received, all handlers are invoked, and the Firewire response is
      generated by the core and not by any handler.
      
      The cdev API does not change, i.e., userspace is still expected to send
      a response for FCP requests; this response is silently ignored.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (changelog, rebased, whitespace)
      db5d247a
  6. 25 3月, 2009 12 次提交
    • S
      firewire: cdev: add closure to async stream ioctl · 18e9b10f
      Stefan Richter 提交于
      This changes the as yet unreleased FW_CDEV_IOC_SEND_STREAM_PACKET ioctl
      to generate an fw_cdev_event_response event just like the other two
      ioctls for asynchronous request transmission do.  This way, clients get
      feedback on successful or unsuccessful transmission.
      
      This also adds input validation for length, tag, channel, sy, speed.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      18e9b10f
    • S
      firewire: cdev: secure add_descriptor ioctl · de487da8
      Stefan Richter 提交于
      The access permissions and ownership or ACL of /dev/fw* character device
      files will typically be set based on the device type of the respective
      nodes, as obtained by firewire-core from descriptors in the device's
      configuration ROM.  An example policy is to deny write permission by
      default but grant write permission to files of AV/C video and audio
      devices and IIDC video devices.
      
      The FW_CDEV_IOC_ADD_DESCRIPTOR ioctl could be used to partly subvert
      such a policy:  Find a device file with relaxed permissions, use the
      ioctl to add a descriptor with AV/C marker to the local node's ROM, thus
      gain access to the local node's character device file.  (This is only
      possible if there are udev scripts installed which actively relax
      permissions for known device types and if there is a device of such a
      type connected.)
      
      Accessibility of the local node's device file is relevant to host
      security if the host contains two or more IEEE 1394 link layer
      controllers which are plugged into a single bus.
      
      Therefore change the ABI to deny FW_CDEV_IOC_ADD_DESCRIPTOR if the file
      belongs to a remote node.  (This change has no impact on known
      implementers of the ABI:  None of them uses the ioctl yet.)
      
      Also clarify the documentation:  The ioctl affects all local nodes, not
      just one local node.
      
      Cc: stable@kernel.org
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      de487da8
    • S
      firewire: cdev: amendment to "add ioctl to query maximum transmission speed" · c8a25900
      Stefan Richter 提交于
      The as yet unreleased FW_CDEV_IOC_GET_SPEED ioctl puts only a single
      integer into the parameter buffer.  We can use ioctl()'s return value
      instead.
      
      (Also: Some whitespace change in firewire-cdev.h.)
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      c8a25900
    • J
      firewire: implement asynchronous stream transmission · f8c2287c
      Jay Fenlason 提交于
      Allow userspace and other firewire drivers (fw-ipv4 I'm looking at
      you!) to send Asynchronous Transmit Streams as described in 7.8.3 of
      release 1.1 of the 1394 Open Host Controller Interface Specification.
      Signed-off-by: NJay Fenlason <fenlason@redhat.com>
      Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (tweaks)
      f8c2287c
    • S
      firewire: cdev: add ioctls for iso resource management, amendment · 5d9cb7d2
      Stefan Richter 提交于
      Some fixes:
        - Remove stale documentation.
        - Fix a != vs. == thinko that got in the way of channel management.
        - Try bandwidth deallocation even if channel deallocation failed.
      
      A simplification:
        - fw_cdev_allocate_iso_resource.channels is now ordered like
          libdc1394's dc1394_iso_allocate_channel() channels_allowed
          argument.
      
      By the way, I looked closer at cards from NEC, TI, and VIA, and noticed
      that they all don't implement IEEE 1394a behaviour which is meant to
      deviate from IEEE 1212's notion of lock compare-swap.  This means that
      we have to do two lock transactions instead of one in many cases where
      one transaction would already succeed on a fully 1394a compliant IRM.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      5d9cb7d2
    • S
      firewire: cdev: increment fw_cdev_version, update documentation · 77258da4
      Stefan Richter 提交于
      Necessary due to
          Date: Tue, 22 Jul 2008 23:23:40 -0700
          From: David Moore <dcm@acm.org>
          Subject: firewire: Include iso timestamp in headers when header_size > 4
      
      Side note:  The lack of upwards compatibility sounds worse than it is.
      All existing client implementations, libraw1394 and libdc1394, set
      header_size = 4.  And since the ABI v1 behaviour does not offer any
      advantages over the new behaviour, we deliberately do not provide the
      old behaviour anymore.
      
      Also add documentation about the format of fw_cdev_get_cycle_timer which
      may be used in conjunction with the timestamp of iso packets but has a
      different format.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      77258da4
    • J
      firewire: cdev: add ioctl for broadcast write requests · acfe8333
      Jay Fenlason, Stefan Richter 提交于
      Write transactions to the broadcast node ID are a convenient way to
      trigger functions of multiple nodes at once.  IIDC is a protocol which
      can make use of this if multiple cameras with same command_regs_base are
      connected at the same bus.
      
      Based on
          Date: Wed, 10 Sep 2008 11:32:16 -0400
          From: Jay Fenlason <fenlason@redhat.com>
          Subject: [patch] SEND_BROADCAST_REQUEST
      Changes:  ioctl_send_request() and ioctl_send_broadcast_request() now
      share code.  Broadcast speed corrected to S100.  Check for proper tcode.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      acfe8333
    • S
      firewire: cdev: add ioctl to query maximum transmission speed · 33580a3e
      Stefan Richter 提交于
      While the speed of asynchronous transactions is automatically chosen by
      the kernel, the speed of isochronous streams has to be chosen by the
      initiating client.
      
      In case of 1394a bus topologies, the maximum possible speed could be
      figured out with some effort by evaluation of the remote node's link
      speed field in the config ROM, the local node's link speed field, and
      the PHY speeds and topologic information in the local node's or IRM's
      topology map CSR.  However, this does not work in case of 1394b buses.
      
      Hence add an ioctl to export the maximum speed which the kernel already
      determined.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      33580a3e
    • S
      firewire: cdev: add ioctls for manual iso resource management · 1ec3c026
      Stefan Richter 提交于
      This adds ioctls for allocation and deallocation of a channel or/and
      bandwidth without auto-reallocation and without auto-deallocation.
      
      The benefit of these ioctls is that libraw1394-style isochronous
      resource management can be implemented without write access to the IRM's
      character device file.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      1ec3c026
    • J
      firewire: cdev: add ioctls for isochronous resource management · b1bda4cd
      Jay Fenlason, Stefan Richter 提交于
      Based on
          Date: Tue, 18 Nov 2008 11:41:27 -0500
          From: Jay Fenlason <fenlason@redhat.com>
          Subject: [Patch V4] Add ISO resource management support
      with several changes to the ABI and implementation.  Only the part of
      the ABI which enables auto-reallocation and auto-deallocation is
      included here.
      
      This implements ioctls for kernel-assisted allocation of isochronous
      channels and isochronous bandwidth.  The benefits are:
        - The client does not have to have write access to the /dev/fw* device
          corresponding to the IRM.
        - The client does not have to perform reallocation after bus resets.
        - Channel and bandwidth are deallocated by the kernel if the file is
          closed before the client deallocated the resources.  Thus resources
          are released even if the client crashes.
      
      It is anticipated that future in-kernel code (firewire-core IRM code;
      the firewire port of firedtv), will use the fw-iso.c portions of this
      code too.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Tested-by: NDavid Moore <dcm@acm.org>
      b1bda4cd
    • S
      firewire: cdev: fix documentation of FW_CDEV_IOC_GET_INFO · 632321ec
      Stefan Richter 提交于
      The FW_CDEV_IOC_GET_INFO ioctl looks at client->device->config_rom, not
      at the local node's config ROM.
      
      We could fix the implementation or the documentation.  I believe the way
      how it is currently implemented is more useful than the way how it is
      currently documented.  In fact, libdc1394 uses the ABI already as
      implemented, not as documented.  Hence let's change the documentation.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      632321ec
    • S
      bf8e3355
  7. 16 10月, 2008 1 次提交
  8. 17 10月, 2007 1 次提交
  9. 10 7月, 2007 1 次提交
  10. 01 6月, 2007 1 次提交
  11. 11 5月, 2007 2 次提交
  12. 01 5月, 2007 3 次提交
  13. 29 3月, 2007 3 次提交
  14. 16 3月, 2007 2 次提交
  15. 10 3月, 2007 7 次提交